▼テンプレート
[EC-CUBE] ECCUBE 4.1
[レンタルサーバ]
[現象]
納品書の項目を追加したいので
下記ファイルを編集したいのですが、
こちらはコアファイルを編集するしかないでしょうか。
/src/Eccube/Service/OrderPdfService.php
Customizeフォルダに入れて編集する方法があれば
教えてください。
[試したこと]
/app/Customize/Resource/config/services.yaml
下記コード追加
services:
Customize\Service\OrderPdfService:
public: false
autowire: true
decorates: Eccube\Service\OrderPdfService
/app/Customize/Service/OrderPdfService
下記コード追加 (登録番号を追加しました。)
<?php
/*
* This file is part of EC-CUBE
*
* Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
*
* http://www.ec-cube.co.jp/
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Customize\Service;
class OrderPdfService extends \Eccube\Service\OrderPdfService
{
/**
* PDFに店舗情報を設定する
* ショップ名、ロゴ画像以外はdtb_helpに登録されたデータを使用する.
*/
protected function renderShopData()
{
// 基準座標を設定する
$this->setBasePosition();
// ショップ名
$this->lfText(125, 60, $this->baseInfoRepository->getShopName(), 8, 'B');
// 都道府県+所在地
$text = $this->baseInfoRepository->getPref().$this->baseInfoRepository->getAddr01();
$this->lfText(125, 65, $text, 8);
$this->lfText(125, 69, $this->baseInfoRepository->getAddr02(), 8);
// 電話番号
$text = 'TEL: '.$this->baseInfoRepository->getPhoneNumber();
$this->lfText(125, 72, $text, 8); //TEL・FAX
// メールアドレス
if (strlen($this->baseInfoRepository->getEmail01()) > 0) {
$text = 'Email: '.$this->baseInfoRepository->getEmail01();
$this->lfText(125, 75, $text, 8); // Email
}
// 事業者登録番号
$text = '登録番号: '.$this->baseInfoRepository->getbangou();
$this->lfText(125, 78, $text, 8);
// user_dataにlogo.pngが配置されている場合は優先的に読み込む
$logoFile = $this->eccubeConfig->get('eccube_html_dir').'/user_data/assets/pdf/logo.png';
if (!file_exists($logoFile)) {
$logoFile = $this->eccubeConfig->get('eccube_html_admin_dir').'/assets/pdf/logo.png';
}
$this->Image($logoFile, 124, 46, 40);
}
}
エラー内容
Notice: Undefined property: Customize\Service\OrderPdfService::$eccubeConfig
eccubeConfigを使用している部分を消せば治りましたが
そうすると、ロゴが読み込めなくなってしまいました。