From d89b00843f83161770e6b986e822cf2adc0925d0 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Mon, 9 Sep 2024 22:44:49 +0200 Subject: [PATCH] add template block overloadable company logo --- .../AbstractClasses/pdfdocumentsGeneric.php | 25 ------------------ .../admin_smarty/de/pdfdocuments_lang.php | 8 +++--- .../admin_smarty/en/pdfdocuments_lang.php | 8 +++--- .../views/admin_twig/de/pdfdocuments_lang.php | 6 +---- .../views/admin_twig/en/pdfdocuments_lang.php | 8 +++--- README.en.md | 3 ++- README.md | 1 + assets/out/img/clogo.jpg | Bin 0 -> 4538 bytes metadata.php | 6 ----- views/smarty/documents/inc/page/header.tpl | 8 +++--- .../twig/documents/inc/page/header.html.twig | 11 +++----- 11 files changed, 19 insertions(+), 65 deletions(-) create mode 100644 assets/out/img/clogo.jpg diff --git a/Application/Model/AbstractClasses/pdfdocumentsGeneric.php b/Application/Model/AbstractClasses/pdfdocumentsGeneric.php index 93412ff..da6ecce 100644 --- a/Application/Model/AbstractClasses/pdfdocumentsGeneric.php +++ b/Application/Model/AbstractClasses/pdfdocumentsGeneric.php @@ -187,37 +187,12 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface unset($iSelLang); $this->oTemplateEngine->addGlobal('config', Registry::getConfig()); - $this->oTemplateEngine->addGlobal('sAlternativePdfLogo', $this->getAlternativePdfLogoFileName()); $this->oTemplateEngine->addGlobal('oViewConf', Registry::getConfig()->getActiveView()->getViewConfig()); $this->oTemplateEngine->addGlobal('shop', Registry::getConfig()->getActiveShop()); $this->oTemplateEngine->addGlobal('lang', Registry::getLang()); $this->oTemplateEngine->addGlobal('document', $this); } - /** - * @return string - */ - public function getAlternativePdfLogoFileName() :string - { - $sStandardLogoFile = 'pdf_logo.jpg'; - $oViewConf = Registry::getConfig()->getActiveView()->getViewConfig(); - $moduleSettingService = ContainerFacade::get(ModuleSettingServiceInterface::class); - $sAlternativePdfLogoName = $moduleSettingService->getString(Constants::OXID_MODULE_ID."_sAlternativePdfLogoName", Constants::OXID_MODULE_ID); - - $sAlternativePdfLogoName = trim($sAlternativePdfLogoName) ?: $sStandardLogoFile; - - $bAlternativeFileExists = file_exists(Registry::getConfig()->getImagePath($sAlternativePdfLogoName)); - $bFileExists = file_exists(Registry::getConfig()->getImagePath($sStandardLogoFile)); - - return $bAlternativeFileExists - ? $oViewConf->getImageUrl($sAlternativePdfLogoName, true) - : ( - $bFileExists - ? $oViewConf->getImageUrl($sStandardLogoFile, true) - : "" - ); - } - /** * @param int $iSelLang * diff --git a/Application/views/admin_smarty/de/pdfdocuments_lang.php b/Application/views/admin_smarty/de/pdfdocuments_lang.php index d77afd1..8556b65 100644 --- a/Application/views/admin_smarty/de/pdfdocuments_lang.php +++ b/Application/views/admin_smarty/de/pdfdocuments_lang.php @@ -8,16 +8,14 @@ * @link http://www.oxidmodule.com */ +use D3\PdfDocuments\Application\Model\Constants; + $sLangName = "Deutsch"; $aLang = array( 'charset' => 'utf-8', 'SHOP_MODULE_GROUP_d3PdfDocumentsmain' => 'Grundeinstellungen', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Entwicklermodus', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'_sAlternativePdfLogoName' => 'Alternativer PDF-Logo Name

- Ohne Angabe ( leer ) wird automatisch folgender Datei-Name gewählt: pdf_logo.jpg
- Diese Datei muss sich im source/out/THEME/img/ Ordner befinden und muss aus technischen Gründen PNG/ JPG sein.

- Notfalls wird kein Bild eingefügt!', + 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Entwicklermodus', 'D3_PDFDOCUMENTS' => 'PDF-Dokumente', 'D3_PDFDOCUMENTS_INVOICE' => 'Rechnung', diff --git a/Application/views/admin_smarty/en/pdfdocuments_lang.php b/Application/views/admin_smarty/en/pdfdocuments_lang.php index 67947a8..bd868d4 100644 --- a/Application/views/admin_smarty/en/pdfdocuments_lang.php +++ b/Application/views/admin_smarty/en/pdfdocuments_lang.php @@ -8,16 +8,14 @@ * @link http://www.oxidmodule.com */ +use D3\PdfDocuments\Application\Model\Constants; + $sLangName = "English"; $aLang = array( 'charset' => 'utf-8', 'SHOP_MODULE_GROUP_d3PdfDocumentsmain' => 'Basic settings', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Developer mode', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'_sAlternativePdfLogoName' => 'Alternative PDF Logo Name

- Without specification (empty) the following file name will be automatically selected: pdf_logo.jpg
- This file must be located in the source/out/THEME/img/ folder and must be PNG or JPG for technical reasons.

- If necessary, no image will be inserted!', + 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Developer mode', 'D3_PDFDOCUMENTS' => 'PDF Documents', 'D3_PDFDOCUMENTS_INVOICE' => 'Invoice', diff --git a/Application/views/admin_twig/de/pdfdocuments_lang.php b/Application/views/admin_twig/de/pdfdocuments_lang.php index 4849bc9..2ecffb8 100644 --- a/Application/views/admin_twig/de/pdfdocuments_lang.php +++ b/Application/views/admin_twig/de/pdfdocuments_lang.php @@ -15,11 +15,7 @@ $aLang = array( 'charset' => 'utf-8', 'SHOP_MODULE_GROUP_d3PdfDocumentsmain' => 'Grundeinstellungen', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Entwicklermodus', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'_sAlternativePdfLogoName' => 'Alternativer PDF-Logo Name

- Ohne Angabe ( leer ) wird automatisch folgender Datei-Name gewählt: pdf_logo.jpg
- Diese Datei muss sich im source/out/THEME/img/ Ordner befinden und muss aus technischen Gründen PNG oder JPG sein.

- Notfalls wird kein Bild eingefügt!', + 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Entwicklermodus', 'D3_PDFDOCUMENTS' => 'PDF-Dokumente', 'D3_PDFDOCUMENTS_INVOICE' => 'Rechnung', diff --git a/Application/views/admin_twig/en/pdfdocuments_lang.php b/Application/views/admin_twig/en/pdfdocuments_lang.php index 5f5819c..bd868d4 100644 --- a/Application/views/admin_twig/en/pdfdocuments_lang.php +++ b/Application/views/admin_twig/en/pdfdocuments_lang.php @@ -8,16 +8,14 @@ * @link http://www.oxidmodule.com */ +use D3\PdfDocuments\Application\Model\Constants; + $sLangName = "English"; $aLang = array( 'charset' => 'utf-8', 'SHOP_MODULE_GROUP_d3PdfDocumentsmain' => 'Basic settings', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Developer mode', - 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'_sAlternativePdfLogoName' => 'Alternative PDF Logo Name

- Without specification (empty) the following file name will be automatically selected: pdf_logo.jpg
- This file must be located in the source/out/THEME/img/ folder and must be PNG/ JPG for technical reasons.

- If necessary, no image will be inserted!', + 'SHOP_MODULE_'. Constants::OXID_MODULE_ID.'bDev' => 'Developer mode', 'D3_PDFDOCUMENTS' => 'PDF Documents', 'D3_PDFDOCUMENTS_INVOICE' => 'Invoice', diff --git a/README.en.md b/README.en.md index b4a88ab..56b7fa7 100644 --- a/README.en.md +++ b/README.en.md @@ -38,7 +38,8 @@ Detailed installation instructions can be found [online](https://docs.oxidmodule ## Credits: -- PDF logo made by Dimitriy Morilubov from www.flaticon.com +- PDF logo made by Dimitriy Morilubov by www.flaticon.com +- example company logo by https://www.logologo.com/ ## License diff --git a/README.md b/README.md index 329093a..ccc9cfb 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ Eine detaillierte Installationsanleitung finden Sie [online](https://docs.oxidmo ## Danksagung: - PDF-Logo erstellt von Dimitriy Morilubov von www.flaticon.com +- Beispielfirmenlogo von https://www.logologo.com/ ## Lizenz diff --git a/assets/out/img/clogo.jpg b/assets/out/img/clogo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08e6f370cb3ebebdc711bf8ed0c3144c01bcc542 GIT binary patch literal 4538 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

Constants::OXID_MODULE_ID.'bDev', 'type' => 'bool', 'value' => false - ], - [ - 'group' => Constants::OXID_MODULE_ID.'main', - 'name' => Constants::OXID_MODULE_ID.'_sAlternativePdfLogoName', - 'type' => 'str', - 'value' => '' ] ] ]; diff --git a/views/smarty/documents/inc/page/header.tpl b/views/smarty/documents/inc/page/header.tpl index 8e864ac..773ec53 100644 --- a/views/smarty/documents/inc/page/header.tpl +++ b/views/smarty/documents/inc/page/header.tpl @@ -3,11 +3,9 @@ [{block name="pdfHeader"}]

[{if $showLogo}] - [{* pdf logo is available only in non admin theme *}] - [{assign var="isAdmin" value=$viewConfig->isAdmin()}] - [{$viewConfig->setAdminMode(false)}] - - [{$viewConfig->setAdminMode($isAdmin)}] + [{block name="pdfHeaderLogo"}] + + [{/block}] [{/if}]
[{/block}] \ No newline at end of file diff --git a/views/twig/documents/inc/page/header.html.twig b/views/twig/documents/inc/page/header.html.twig index 04018bb..458c11d 100644 --- a/views/twig/documents/inc/page/header.html.twig +++ b/views/twig/documents/inc/page/header.html.twig @@ -1,16 +1,11 @@ {% set showLogo = showLogo|default(1) %} -{% set sPdfLogo = sAlternativePdfLogo %} {% block pdfHeader %}
{% if showLogo %} - {# pdf logo is available only in non admin theme #} - {% set isAdmin = oViewConf.isAdmin() %} - {{ oViewConf.setAdminMode(false) }} - {% if sPdfLogo %} - - {% endif %} - {{ oViewConf.setAdminMode(isAdmin) }} + {% block pdfHeaderLogo %} + + {% endblock %} {% endif %}
{% endblock %} \ No newline at end of file