Support

Home Forums Event Espresso Premium invoice edit to add a (question) – > company name

invoice edit to add a (question) – > company name

Posted: September 6, 2013 at 11:10 am


Ion Paciu

September 6, 2013 at 11:10 am

Hi,

I’m trying to add an extra field on the invoice template to display the company name for billing purposes. (the company name is a question name I’ve added on the questions grp).. this question has the question_id=20 in my case

I was able to find an old topic regarding a similar thing here:
https://eventespresso.com/forums/2012/02/invoice-company-not-individual/comment-page-1/#comment-19967

I’ve followed the instruction and managed to add the extra code line in the template pdf. The problem is the regardless the question_id. on my invoice at the field where the company name should appear, the name of the attendy is display. I’ve tried to change the question_id… but still the name is displayed and not the company.

I suspect that I’ve added the code into a wrong place within the invoice template.

The code i’ve used is
[code]
$getCompany = “SELECT * FROM wp_events_answer WHERE registration_id = ‘”.$registration_id.”‘ AND question_id = ’20′”;
$getCompanyDBQ = $wpdb->get_results($getCompany);
foreach ($getCompanyDBQ as $getCompanyDBQValue){
$attendee_organization_name = $getCompanyDBQValue->answer;
}
[/code]

The code was inserted at line 70 before this:

[code]
//Added by Imon
if (count($registration_ids) > 0 && $admin == false) {
foreach ($registration_ids as $reg_id) {

[/code]

I use this code to display the line in the pdf template:

[code]
if (trim($attendee_organization_name) != “” ) {$pdf->Cell(50,5,pdftext($attendee_organization_name),0,1, ‘L’);}//Insert Company name if found
$pdf->Cell(50,5,pdftext($attendee_first . ‘ ‘ . $attendee_last),0,1, ‘L’);//Set attendee name
[/code]

Please, can you help?

Thank you

  • This topic was modified 10 years, 8 months ago by  Ion Paciu.
  • This topic was modified 10 years, 8 months ago by  Ion Paciu.


Dean

September 9, 2013 at 4:02 am

Hi,

There is actually already code for custom questions in the template but it is commented out

//Query Database for event and get variable
/* 	$events = $wpdb->get_results("SELECT * FROM " . EVENTS_DETAIL_TABLE . " WHERE id='" . $event_id . "'");
  foreach ($events as $event){
  //$event_id = $event->id;
  $event_name = html_entity_decode(stripslashes($event->event_name),ENT_QUOTES,"UTF-8");
  $event_desc = $event->event_desc;
  $event_description = $event->event_desc;
  $event_identifier = $event->event_identifier;
  $start_date = $event->start_date;
  } */
//This is an example of how to get custom questions for an attendee
//Get the questions for the attendee
 $q_sql = "SELECT ea.answer, eq.question
  FROM " . EVENTS_ANSWER_TABLE . " ea
  LEFT JOIN " . EVENTS_QUESTION_TABLE . " eq ON eq.id = ea.question_id
  WHERE ea.registration_id = '".$registration_id."'";
  $q_sql .= " AND ea.question_id = '2' ";
  $q_sql .= " ORDER BY eq.sequence asc ";
  $wpdb->get_results($q_sql);
 
  $organization_name = $wpdb->last_result[0]->answer;//question_id = '9' 

Remove the comments like I have done here and on this line

 $q_sql .= " AND ea.question_id = '2' "

replace the 2 with your question id (20).

Then further down, look for this code

//Set the biiling information
$pdf->SetFont('Times', 'B', 12);
$pdf->Cell(50, 5, __('Bill To: ', 'event_espresso'), 0, 1, 'L'); //Set biil to
$pdf->SetFont('Times', '', 12);
$pdf->Cell(50, 5, pdftext($attendee_first . ' ' . $attendee_last), 0, 1, 'L'); //Set attendee name
$pdf->Cell(50, 5, $organization_name, 0, 1, 'L'); //Set attendee email
$pdf->Cell(50, 5, $attendee_email, 0, 1, 'L'); //Set attendee email
//Set attendee address
$attendee_address != '' ? $pdf->Cell(100, 5, $attendee_address, 0, 1, 'L') : '';
$pdf->Cell(100, 5, (pdftext($attendee_city != '' ? $attendee_city : '') . ($attendee_state != '' ? ' ' . $attendee_state : '')), 0, 1, 'L');
$attendee_zip != '' ? $pdf->Cell(50, 5, $attendee_zip, 0, 1, 'L') : '';

Notice that I duplicated the email line and changed the variable like so

$pdf->Cell(50, 5, $organization_name, 0, 1, 'L'); //Set attendee email

That will display the company name below the persons name.


Ion Paciu

September 16, 2013 at 3:31 pm

Thank you, Dean!

It works like a charm 🙂


Dean

September 17, 2013 at 1:43 am

You’re welcome!

The support post ‘invoice edit to add a (question) – > company name’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso