Question about templates for PDF output

SimpleInvoices Group Forum Forums Fearless359 SimpleInvoices Discussion Group Question about templates for PDF output

Viewing 6 posts - 16 through 21 (of 21 total)
  • Author
    Posts
  • #2250
    marcnyc
    Participant

    Thank you for responding and for your suggestion.

    I’ve tried doing what you suggest and I’ve added the line:

    ‘custom_field1’ => $row[‘custom_field1’],`

    around line 215 in the Inc/Claz/Invoice.php file that I’ve copied into my extensions folder, like so:

                $tableRows[] = [
                    'action' => $action,
                    'index_id' => $row['index_id'],
                    'custom_field1' => $row['custom_field1'],
                    'customer' => $row['customer'],
                    'preference' => $row['preference'],
                    'date' => $row['date'],
                    'total' => $row['total'],
                    'owing' => isset($row['status']) ? $row['owing'] : '',
                    'aging' => $row['aging'] ?? '',
                    'currency_code' => $row['currency_code'],
                    'locale' => preg_replace($pattern,'$1-$2', $row['locale'])
                ];

    …but I am still getting the same error…
    do I need to add a custom_field1 line anywhere else in this file?

    #2251
    marcnyc
    Participant

    I did a bit more digging…
    …your solution works but copying the Inc/Claz/Invoice.php to the extensions directory does NOT work… maybe it’s a bug in the code but the php file is not included…
    I know this because if I made the changes on root/Inc/Claz/Invoice.php file then your soltuion works but if I leave that file un-edited and I put my modified version in root/extensions/MYextension/Inc/Claz/Invoice.php it does not work…
    I’ve also tried putting it in:
    root/extensions/MYextension/templates/Inc/Claz/Invoice.php
    and in:
    root/extensions/MYextension/modules/Inc/Claz/Invoice.php

    None of the locations call the new file in Inc/Claz

    #2252
    fearless359
    Keymaster

    I’m a bit flummoxed with the complication that using namespaces appears to have introduced.

    Given this, the simplest approach might be to add logic in the extension modules\invoices\manage.php file to take the $invoices array and add a loop to run through it, taking the index_id, accessing the Invoice::getOne() method to read the invoice record, pull the custom fields and add them to the row being processed. Effectively updating what Invoice::manageTable() returns with the additional fields. This is kind of ugly, in that it means reading the invoice records twice to display once. But given how namespaces work with autoloading, I can’t think of a more elegant resolution off hand.

    Note that if you to this, you are working with the index_id field to get the invoice. So you need to set the $useIndexId parameter to true.

    • This reply was modified 2 weeks, 6 days ago by fearless359.
    • This reply was modified 2 weeks, 6 days ago by fearless359.
    #2255
    marcnyc
    Participant

    Thanks for continuing to provide ideas.
    This method is a bit too complex for my knowledge of PHP, however I was able to find a solution… I don’t know if you read my #2251 reply, but your previous suggestion DOES work, except the inclusion of the Inc/Clazz file DOES NOT work, so there might be a bug in the code whereas it doesn’t look for an Inc/Clazz file in the Extensions dir… you know what I mean?

    #2256
    marcnyc
    Participant

    Just checking in to see whether you had a chance to test this on your end…
    wondering if this is a bug in the code or I’m making a mistake

    #2257
    fearless359
    Keymaster

    I haven’t begun working on the issue of namespaces for extensions (which is what the Inc\Claz path effectively is). I’m currently addressing screen formatting for mobile device presentation which I introduced in the last update with mobile device menu support. I need to complete my work on this before working on extension development issues.

Viewing 6 posts - 16 through 21 (of 21 total)
  • You must be logged in to reply to this topic.