web-dev-qa-db-fra.com

Désactiver la mise en cache des modèles pour le développement dans OpenCart 3

Je modifie mes modèles de thème dans OpenCart 3. En raison de la mise en cache des modèles, je dois vider le cache à chaque fois dans le répertoire "storage/cache". Il est très gênant de travailler et de prévisualiser fréquemment des modifications au cours du développement. Veuillez indiquer une solution pour configurer la mise en cache en fonction de l'environnement de production et de développement.

Remarque: j'ai déjà recherché des solutions en ligne, mais il n'y a pas de solution liée à la mise en cache des modèles. Des solutions sont disponibles pour désactiver la mise en cache des images, mais "Mise en cache des images" et "Mise en cache des modèles" sont des fonctionnalités différentes fournies par Opencart.

16
Rajat Jain

Vous devrez peut-être mettre à niveau vers une version plus récente d'OpenCart3 - le premier (3.0.0.0) ne disposait pas d'un moyen de le faire dans l'interface graphique. 

Les versions plus récentes, telles que 3.0.2.0, ont une vitesse sur le tableau de bord d'administration. Cliquez sur l'engrenage et vous obtenez des options pour désactiver la mise en cache. 

 enter image description here

33
Scott C Wilson

La réponse de Scott est la meilleure mais si cette version n'est pas disponible ou si vous souhaitez la désactiver par programmation, vous pouvez le faire n'importe où avant que le brin ne soit rendu:

$this->config->set('template_cache', false);
2
billynoah

Opencart Version 3.0.2.0 J'avais le même problème, essayez de travailler dans l'éditeur de thème ou dans le fichier brouillon, après une heure ou deux, j'ai essayé de voir que cela fonctionnait. 

Supprimez les modifications dans l'éditeur de thème et reprenez la modification du fichier twig actuel ma capture d'écran

2
Randall Klassen

Vous pouvez également le faire directement à partir de CODE si vous en avez l'accès. Allez au chemin de fichier ci-dessous via ftp ou cPanel:

system\library\template\Twig\Environment.php

Trouver

$this->debug = (bool) $options['debug'];

Remplacer:

$this->debug = (bool) true;
2
Pavan Mehta

Je pense que vous modifiez le modèle en tant que chemin: Design-> Thème Editor auparavant.

Effacer toute la date dans la table de données oc_theme de votre base de données.

1
john

Une autre façon de procéder: Ouvrez le fichier system\library\template\Twig\Cache\Filesystem.php, recherchez les lignes de code suivantes

public function load($key)
{
    if (file_exists($key)) {
        @include_once $key;
    }
}

Commentez comme dans le code suivant:

public function load($key)
{
    // if (file_exists($key)) {
    //      @include_once $key;
    // }
}

Ceci supprimera le cache de modèle du twig et sera recréé à chaque fois, une fois le développement terminé, vous devrez supprimer le commentaire.

0
Rupak Nepali