Bagaimana cara memutakhirkan secara otomatis ke tahun berjalan di footer Magento 2?


Jawaban:


20

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.


Hai Terima kasih atas jawaban Anda, saya akan mencoba yang ini juga
MazeStricks

Ini menyelesaikan pekerjaan tetapi saya harus bertanya-tanya apakah spider situs mesin pencari akan mengambil tahun hak cipta yang benar.
jschrab

2
Ini tidak berfungsi pada 2.2.2 karena tidak menerima elemen html.
Juliano Vargas

9

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()); ?>

2
Saya suka solusi ini yang terbaik - ini memberi Anda kendali atas teks, namun fleksibilitas untuk tahun hak cipta berubah. Apa yang saya lakukan untuk memperpanjang ini adalah <?= /* @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.
jschrab

7

Tempatkan konten berikut dalam file ini: {theme_dir}/Magento_Theme/templates/html/copyright.phtml

<small class="copyright">
    <span>Copyright &copy; You <?php echo date('Y') ?>, All Rights Reserved.</span>
</small>

Lalu siram cache.


Halo, terima kasih atas jawaban ini, saya akan mencoba yang ini. Terima kasih Aaron :)
MazeStricks

0

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.xmlfile

<?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.phpdalam 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.


0

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 &copy; %1 xxx.', $year ) ) ?></span>
</small>

0

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->ConfigurationPilih tema Edit->footer->copyrighttambahkan ini:

Copyright © {{year}} Magento. All rights reserved.

Selesai!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.