Comment mettre à jour automatiquement l'année en cours dans le pied de page Magento 2?


Réponses:


20

Un hack possible peut nous aider à modifier dynamiquement l'année.

Allez dans -> Admin -> Général, choisissez Conception -> Développez la section Pied de page et collez le code ci-dessous.

Copyright © <script>document.write(new Date().getFullYear())</script> Magento. All rights reserved.

Retirez le cache et vérifiez.


Salut Merci pour votre réponse, je vais essayer celui-ci aussi
MazeStricks

Cela fait le travail, mais je dois me demander si les araignées du site des moteurs de recherche choisiront la bonne année de copyright.
jschrab

2
Cela ne fonctionne pas sur 2.2.2 car il n'accepte pas les éléments html.
Juliano Vargas

9

Placez le contenu suivant dans ce fichier:

{theme_dir}/Magento_Theme/templates/html/copyright.phtml

<?php /* @escapeNotVerified */ echo preg_replace('/(^|\s)(\d{4})(\s|$)/m', " ".date('Y'). " ", $block->getCopyright()); ?>

2
J'aime le mieux cette solution - elle vous donne le contrôle sur le texte, mais la flexibilité pour que l'année du droit d'auteur change. Ce que je fais pour étendre ceci est <?= /* @escapeNotVerified */ str_ireplace('{{year}}', date('Y'), $block->getCopyright()) ?>... puis utiliser le texte de copyright "{{year}}" dans l'administrateur du pied de page. De cette façon, je peux avoir un contrôle total sur le texte avec l'année de mise à jour automatique.
jschrab

7

Placez le contenu suivant dans ce fichier: {theme_dir}/Magento_Theme/templates/html/copyright.phtml

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

Vider ensuite le cache.


Bonjour Merci pour cette réponse, je vais essayer celle-ci.Merci Aaron :)
MazeStricks

0

La meilleure façon de le faire serait de créer un plugin after sur la méthode getCopyright dans Magento\Theme\Block\Html\Footer. Il n'est pas recommandé d'ajouter de la logique dans un modèle.

Ajoutez ce qui suit dans un module personnalisé dans le etc/frontend/di.xmlfichier

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

créez Plugin/Theme/Block/Html/Footer/UpdateCopyrightWithCurrentYear.phpen vous le module:

<?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;
    }
}

J'ai emprunté l'expression régulière de Krishna ijjada pour correspondre à l'année. Cela ajoute également l'année en cours dans le message de copyright afin que l'année de début du copyright reste également visible.


0

Il faut penser au fuseau horaire, voici ma réponse ( {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

Voilà comment je le ferais. écraser 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>

Ensuite, allez sur Content->Design->ConfigurationChoisir un thème, Edit->footer->copyrightajoutez ceci:

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

Terminé!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.