Jawaban:
Satu peretas yang mungkin dapat membantu kita untuk memodifikasi tahun secara dinamis.
Pergi ke -> Admin -> Umum, pilih Desain -> Perluas bagian Footer dan rekatkan kode di bawah ini.
Copyright © <script>document.write(new Date().getFullYear())</script> Magento. All rights reserved.
Hapus cache dan periksa.
Tempatkan konten berikut dalam file ini:
{theme_dir}/Magento_Theme/templates/html/copyright.phtml
<?php /* @escapeNotVerified */ echo preg_replace('/(^|\s)(\d{4})(\s|$)/m', " ".date('Y'). " ", $block->getCopyright()); ?>
<?= /* @escapeNotVerified */ str_ireplace('{{year}}', date('Y'), $block->getCopyright()) ?>
... dan kemudian menggunakan teks hak cipta "{{year}}" di admin footer. Dengan begitu saya dapat memiliki kontrol penuh atas teks bersama dengan tahun pembaruan otomatis.
Tempatkan konten berikut dalam file ini: {theme_dir}/Magento_Theme/templates/html/copyright.phtml
<small class="copyright">
<span>Copyright © You <?php echo date('Y') ?>, All Rights Reserved.</span>
</small>
Lalu siram cache.
Cara terbaik untuk melakukan ini adalah dengan membuat plugin setelah pada metode getCopyright di Magento\Theme\Block\Html\Footer
. Ini bukan praktik yang baik untuk menambahkan logika dalam templat.
Tambahkan berikut ini dalam modul khusus dalam etc/frontend/di.xml
file
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Theme\Block\Html\Footer">
<plugin name="Vendor_Module::UpdateCopyrightWithCurrentYear" type="Vendor\Module\Plugin\Theme\Block\Html\Footer\UpdateCopyrightWithCurrentYear" />
</type>
</config>
buat Plugin/Theme/Block/Html/Footer/UpdateCopyrightWithCurrentYear.php
dalam modul Anda:
<?php
namespace Vendor\Module\Plugin\Theme\Block\Html\Footer;
use Magento\Theme\Block\Html\Footer;
class UpdateCopyrightWithCurrentYear
{
/**
* @param Footer $subject
* @param string $result
* @return string $result
*/
public function afterGetCopyright(Footer $subject, $result)
{
$result = preg_replace_callback(
'/(^|\s)(\d{4})(\s|$)/m',
function($matches) {
return $matches[2] != date('Y')?$matches[1] . $matches[2].' - '.date('Y') . $matches[3]:$matches[0];
},
$result);
return $result;
}
}
Saya meminjam regex Krishna ijjada untuk mencocokkan tahun. Ini juga menambahkan tahun ini dalam pesan hak cipta sehingga tahun ketika hak cipta dimulai juga tetap terlihat.
Perlu untuk memikirkan zona waktu, inilah jawaban saya ( {theme_dir}/Magento_Theme/templates/html/copyright.phtml
):
<?php
/* @var $block \Magento\Theme\Block\Html\Footer */
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
$year = ObjectManager::getInstance()->get( TimezoneInterface::class )->date()->format( 'Y' );
?>
<small class="copyright">
<span><?= /* @escapeNotVerified */ $block->escapeHtml( __( 'Copyright © %1 xxx.', $year ) ) ?></span>
</small>
Ini bagaimana saya akan melakukannya. menimpa copyright.phtml
:
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
?>
<small class="copyright">
<span><?= /* @escapeNotVerified */ str_replace ( '{{year}}', date('Y'), $block->getCopyright()) ?></span>
</small>
Lalu pergi ke Content->Design->Configuration
Pilih tema Edit->footer->copyright
tambahkan ini:
Copyright © {{year}} Magento. All rights reserved.
Selesai!