CS-cart は、バージョン4.13.2-jp-1以降、納品書PDF印刷機能がアドオン化しました(pdf_documents)。
注文詳細ページからの印刷はmy_changeアドオンで対応出来ましたが、アドオン機能をオーバーライドすることは出来ないようなので(アドオンがすでにオーバーライド、またはフックの塊)、このpdf_documentsアドオンを当面は上書きしていく必要があります。
現時点(2022.4.4)で、アドオンをmy_changeに移植していないので(今後その方向も考えるが)、現時点ではアップデートのたびに、下記の作業をすることを必須とします。
①修正するテンプレートは下記の通り。
public_html/app/addons/pdf_documents/contorollers/backends/orders.post.php
<?php
/***************************************************************************
* *
* (c) 2004 Vladimir V. Kalynyak, Alexey V. Vinokurov, Ilya M. Shalnev *
* *
* This is commercial software, only users who have purchased a valid *
* license and accept to the terms of the License Agreement can install *
* and use this program. *
* *
****************************************************************************
* PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE *
* “copyright.txt” FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
****************************************************************************/defined(‘BOOTSTRAP’) or die(‘Access denied’);
/** @var string $mode */
if ($mode === ‘bulk_print_pdf’ && !empty($_REQUEST[‘order_ids’])) {
echo(fn_my_changes_print_pdf_invoice($_REQUEST[‘order_ids’], [‘pdf’ => true]));return [CONTROLLER_STATUS_NO_CONTENT];
}if ($mode === ‘packing_slip_pdf’ && !empty($_REQUEST[‘order_ids’])) {
echo(fn_print_order_packing_slips($_REQUEST[‘order_ids’], [‘pdf’ => true]));return [CONTROLLER_STATUS_NO_CONTENT];
}
太字の関数部分を
fn_print_order_invoices
↓
fn_my_changes_print_pdf_invoice
に変更。既存のカスタマイズが適用されるようにする。
