教文館の社内ナレッジベースです。

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

に変更。既存のカスタマイズが適用されるようにする。