We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9266 ☆ A M B ☆
    • 77 Posts
    So we have created a complex multiply part form for a client, with a lot of validation, signature captures, and file uploads. However we are finding at submission we are getting the following error: Fatal error: Call to a member function getValue() on null in /home/rdgroupc/public_html/core/cache/includes/elements/modsnippet/74.include.cache.php on line 2

    [[!FormIt?
    &hooks=`spam,FormItSaveForm,email,redirect`
    &formName=`[[*pagetitle]] Form`
    &formFields=`company_name,dba,federal_tax_structure,ein,wfile,primary_contact_fname,primary_contact_lname,primary_contact_email,primary_contact_phone,secondary_contact_fname,secondary_contact_lname,secondary_contact_email,secondary_contact_phone,business_email,business_phone,business_phone_ext,business_phone_mobile,business_phone_fax,business_address,business_address2,business_zip,business_city,business_state,business_country,remittance_address,remittance_company_name,remittance_address1,remittance_address2,remittance_city,remittance_zip,remittance_state,remittance_country,service_contact,service_contact_fname,service_contact_lname,service_contact_email,service_contact_phone,service_coverage,emergency,business_phone_emergency,business_phone_emergency_second,service_offered,general_liability,general_liability2,general_liability3,general_liability4,ins_file,signatureData1,signer1_name,signer1_email,signatureData2,signer2_name,signer2_email`
    &fieldNames=`company_name==Company Name,dba==Doing Business As,federal_tax_structure==Federal Tax Structure,ein==Federal Tax ID Number,wfile==W-9 File,primary_contact_fname==Primary Contact First Name,primary_contact_lname==Primary Contact Last Name,primary_contact_email==Primary Contact Email,primary_contact_phone==Primary Contact Phone,secondary_contact_fname==Secondary Contact First Name,secondary_contact_lname==Secondary Contact Last Name,secondary_contact_email==Secondary Contact Email,secondary_contact_phone==Secondary Contact Phone,business_email==Business Email,business_phone==Business Phone,business_phone_ext==Business Phone Extension,business_phone_mobile==Business Mobile Phone,business_phone_fax==Business Fax,business_address==Business Address Line 1,business_address2==Business Address Line 2,business_zip==Business Zip,business_city==Business City,business_state==Business State,business_country==Business Country,remittance_address==Remittance Address,remittance_company_name==Remittance Company Name,remittance_address1==Remittanec Address Line 1,remittance_address2==Remittance Line 2,remittance_city==Remittance City,remittance_zip==Remittance Zip,remittance_state==Remittance State/Province/Territory,remittance_country==Remittance Country,service_contact==Service Contact same as Primary,service_contact_fname==Service Contact First Name,service_contact_lname==Service Contact Last Name,service_contact_email==Service Contact Email,service_contact_phone==Service Contact Phone,service_coverage==Service Coverage Area (Miles),emergency==Offers Emergency Service,business_phone_emergency==Business Emergency Phone,business_phone_emergency_second==Secondary Business Emergency Phone,service_offered==Services Offered,general_liability==General Liability Listing 23rd Group as additionally insured,general_liability2==Have an Auto Policy,general_liability3==Have Workamn's Comp Insurance Policy,general_liability4==Have a State Certified Exempt Form,ins_file==Proof of Insurance File,signatureData1==Contract Signature,signer1_name==Contract Signer's Name,signer1_email==Contract Signer's Email,signatureData2==Agreement Signature,signer2_name==Agreement Signer's Name,signer2_email==Agreement Signer's Email`
    &emailTpl=`ApplyEmailTpl`
    &emailSubject=`A Partnership Application from [[+company_name]]`
    &emailTo=`****@exceleron****.com`
    &emailToName=`Vendor Team`
    &emailFrom=`****@exceleron****.com`
    &emailFromName=`Vendor Apply`
    &emailReplyTo=`[[+primary_contact_email]]`
    &emailReplyToName=`[[+primary_contact_fname]] [[+primary_contact_lname]] of [[+company_name]]`
    &emailMultiSeparator=`, `
    &redirectTo=`50`
    &validate=`workemail:blank,company_name:required,dba:required,federal_tax_structure:required,ein:required,primary_contact_fname:required,primary_contact_lname:required,primary_contact_email:email:required,primary_contact_phone:required,business_email:email:required,business_phone:required,business_address:required,business_zip:required,business_city:required,business_state:required,business_country:required,remittance_address:required,service_contact:required,service_coverage:required,emergency:required,service_offered:required,general_liability:required,general_liability2:required,general_liability3:required,signatureData1:required,signer1_name:required,signer1_email:email:required,signatureData2:required,signer2_name:required,signer2_email:email:required`
    ]]


    So I am not sure how to resolve the issue....

    Any one have this problem?
      • 9266 ☆ A M B ☆
      • 77 Posts
      This is the PHP snippet that is being called in the form:

      <?php
      $sessionValues = $hook->getValue('service_offered');


      foreach ($sessionValues as $k => $v) {

      $resource = preg_replace('/[^a-zA-Z0-9-_\.]/','_', $v);
      $Resource = strtolower($resource);

      $outputStr .= '
      <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnCodeBlock">
      <tbody class="mcnTextBlockOuter">
      <tr>
      <td valign="top" class="mcnTextBlockInner">
      <div class="mcnTextContent">

      <table class="apply" style="margin-bottom:40px;">
      <tbody><tr>
      <td class="bold left" style="font-weight:bold;font-size:14px;color:#231f20 !important;text-transform:uppercase;">'. $v .' RATE INFO</td>
      </tr>

      <tr>
      <td class="left">Type of Work Rate</td>
      <td class="bold right">[[+'. $Resource .'_radio]]</td>
      </tr>

      [[+'. $Resource .'_radio:is=`Job`:then=`
      <tr>
      <td class="left">Job Rate Explanation</td>
      <td class="bold right">[[+'. $Resource .'_service_job_rate]]</td>
      </tr>
      `:else=`
      <tr>
      <td class="left">Labor Rate</td>
      <td class="bold right">[[+'. $Resource .'_service_labor_rate]]</td>
      </tr>

      [[+'. $Resource .'_service_travel_rate:notempty=`
      <tr>
      <td class="left">Travel Rate</td>
      <td class="bold right">[[+'. $Resource .'_service_travel_rate]]</td>
      </tr>
      `]]

      [[+'. $Resource .'_service_emergency_labor_rate:notempty=`
      <tr>
      <td class="left">Emergency Labor Rate</td>
      <td class="bold right">[[+'. $Resource .'_service_emergency_labor_rate]]</td>
      </tr>
      `]]

      [[+'. $Resource .'_service_comments:notempty=`
      <tr>
      <td class="left">Additional Comments</td>
      <td class="bold right">[[+'. $Resource .'_service_comments]]</td>
      </tr>
      `]]

      `]]

      </tbody></table>

      </div>
      </td>
      </tr>
      </tbody>
      </table>
      ';

      return $outputStr;
      }
        • 3749
        • 24,544 Posts
        Some suggestions:

        1. Put your code in code tags (highlight it and click on the code button at the top: <>). That will preserve the formatting so we can make sense of it.

        2. Where possible, move your HTML code into a chunk and pull it into your snippet with $modx->getChunk('chunkName').

        3. Post the beginning of the snippet with the ID 74 so we can see the line that's throwing the error.
          Did I help you? Buy me a beer
          Get my Book: MODX:The Official Guide
          MODX info for everyone: http://bobsguides.com/modx.html
          My MODX Extras
          Bob's Guides is now hosted at A2 MODX Hosting