Controller CategoryController

Presta Controller

Controller CategoryController

/controllers/front/CategoryController.php

CategoryController est responsable pour une génération des pages du catalogue. Il est hérité du classe FrontController. Allons regarder des méthodes qui sont appelés par ce contrôleur. Mais d’abord, nous allons les mettre dans l’ordre dans lequel ils sont appelés.

 

Les méthodes de classe CategoryController:

setMedia – définit des médias (CSS, JS) pour ce contrôleur.

canonicalRedirection – une redirection automatique vers l’URL canonique, si besoin (appelé dans FrontController :: init ())

init – initialisation des catégories de contrôleur

initContent – le template responsable de l’affichage des pages catégorie (category.tpl) est défini dans cette fonction.

assignScenes – associer des variables qui sont transmis dans le modèle

assignSubcategories – relier des sous-catégories avec des variables du modèle

 

Hook::exec('actionProductListOverride', array(
    'nbProducts' => &$this->nbProducts,
    'catProducts' => &$this->cat_products,
    'hookExecuted' => &$hookExecuted,
));

Templates

Template category.tpl est un des plus difficiles, car il se connecte à un grand nombre d’autres templates:

 

breadcrumb.tpl – ajoute une fil d’ariane sur la page

errors.tpl – s’il y a des messages d’erreur, ce template va être affiché sous forme du bloc

catégorie-count.tpl – template qui est responsable de l’affichage d’une ligne avec un nombre des produits , tels que «There are %d products»

scenes.tpl – affiche une image avec des produits marqués.

pagination.tpl – navigation vers les autres pages

produit sort.tpl – responsable de l’affichage des champs pour un triage

produit compare.tpl – montre un bouton de comparaison des produits

NBR-produit-page.tpl – forme du choix du nombre des produits affichés par page

produit list.tpl – le template principal qui contient l’affichage des produits

produit sort.tpl – est appelé ré-itérativement sur la page (voir ci-dessus.)

produit compare.tpl – est appelé ré-itérativement sur la page (voir ci-dessus.)

NBR-produit-page.tpl – est appelé réitérativement sur la page (voir ci-dessus.)

pagination.tpl – est appelé réitérativement sur la page (Voir ci-dessus.)

 

Les modules standard

Page Catégories appelle plusieurs modules, qui sont enregistrés par les hooks dans les colonnes gauche et droite. Examinons un seul d’entre eux, celui qui utilise le hook « actionProductListOverride» – «Layered navigation block».

Layered navigation block

Controller filter template

Ce module est désactivé par défaut. C’est un bloc assez important, car il permet à l’utilisateur de rechercher des produits beaucoup plus vite et plus facile. Mais ce module n’est pas très pratique pour les designers et les programmeurs car il ne sépare pas la logique et le template. Ce problème doit être résolu dans les nouvelles versions.

Catalogue Controller


Articles similaires