opencart - Comment afficher manuellement un module dans un fichier de modèle?
Question
Le mot Let je veux afficher les promos module sur la page d'accueil dans une autre position que $ content_top, $ content_bottom, $ column_left ou $ column_right. Comment je fais ça? Si vous avez une certaine expérience avec cela, pourriez-vous me donner quelques conseils?
Le module sera affiché dans home.tpl mais je suppose que je devrais modifier le fichier du contrôleur home.php
La solution
Pour ce faire, vous devrez apporter des modifications à deux fichiers
Tout d'abord, vous devez modifier le contrôleur. Dans cet exemple, je vais ajouter les promos à la page d'accueil
ouvrir le fichier du contrôleur catalog/controller/common/home.php
. Quelque part avant cette ligne $this->response->setOutput($this->render());
ajouter ce qui suit
$this->data['special_block'] = $module = $this->getChild('module/special', array(
'limit' => 5,
'image_width' => 80,
'image_height' => 80
));
Le tableau est les paramètres du module. Notez que la mise en page, la position, l'état et l'ordre de tri ne sont pas inclus, car ils sont hors de propos ici. J'ai aussi utilisé special_block
comme une clé unique pour le contenu, pour l'éviter en conflit avec d'autres éléments qui peuvent avoir besoin de rendre
Ensuite, dans votre fichier modèle, il vous suffit besoin d'utiliser <?php echo $special_block; ?>
où que vous voulez que le module go