Récemment
-
Problème de lien vers tpl module custom
PhenixSuite1 -
Modification sur le thème "Craft"
Questions relatives à l'installation/upgrade3 -
Installation avec Wamp
Questions relatives à l'installation/upgrade1 -
date_upd produits
Bugs & Améliorations13 -
Champ description longue pour les catégories
Modules5 -
Erreurs suite à la mise à jour
Questions relatives à l'installation/upgrade10 -
Module personnalisation de produit
Modules3 -
Theme non fonctionnel - après MAJ de la Phenixsuite 1.6.2.32
Questions relatives à l'installation/upgrade13 -
TinyMCE
Bugs & Améliorations2 -
Déclinaisons virtuelles avec fichiers
PhenixSuite10 -
[RESOLU]Lien téléchargement dans le mail
Discussion générale6 -
[RESOLU]RGPD
Modules5 -
Compatibilité des modules
Discussion générale2 -
[RESOLU]Bug page Préférences Produits
Bugs & Améliorations4 -
htaccess chatouilleux ?
Bugs & Améliorations14 -
Installation depuis boutique 1.6.1.17
Questions relatives à l'installation/upgrade19 -
[RESOLU]Module réassurance, permettre le html
Modules4 -
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2
Problème de lien vers tpl module custom
-
Bonjour,
Tout d'abord un grand merci à Eolia pour la dernière mouture de Phenix. La maj s'est faite sans souci. Et il y a maintenant le champ date_upd dans la table product_download ! Ce qui m'a permis de finaliser mon module permettant, d'une part, d'avoir sur la home une liste de produits dématérialisés récemment mis à jour (hors nouveaux produits), d'autre part, sur la fiche du produit, de pouvoir afficher la date de mise à jour du fichier. Super !
Mais je souhaite aller un peu plus loin et, dans le bloc sur la home, mettre un lien vers une page affichant tous les produits récemment mis à jour.
Dans le module, j'ai donc créé un fichier updproducts dans controller> front avec ceci :<?php class BlockUpdProductsUpdProductsModuleFrontController extends ModuleFrontController { public function initContent() { parent::initContent(); $updProducts = $this->module->getUpdProducts(); $this->context->smarty->assign([ 'upd_products' => $updProducts, 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')) ]); $this->setTemplate('module:blockupdproducts/views/templates/front/updproducts.tpl'); } }
J'ai créé un tpl (updproducts.tpl) dans views/templates/front :
{capture name=path}{l s='Updated products'}{/capture} {block name='page_content'} <h1>{l s='Updated Products'}</h1> {if $upd_products} <div class="content_sortPagiBar"> <div class="sortPagiBar clearfix"> {include file="./product-sort.tpl"} {include file="./nbr-product-page.tpl"} </div> <div class="top-pagination-content clearfix"> {include file="./product-compare.tpl"} {include file="$tpl_dir./pagination.tpl"} </div> </div> {include file="./product-list.tpl" products=$upd_products} <div class="content_sortPagiBar"> <div class="bottom-pagination-content clearfix"> {include file="./product-compare.tpl"} {include file="./pagination.tpl" paginationId='bottom'} </div> </div> {else} <p>{l s='No updated products available.'}</p> {/if} {/block}
Et dans le tpl du bloc sur la home, j'ai ajouté le lien :
<a href="{$link->getModuleLink('blockupdproducts', 'updproducts')}" title="{l s='View all updated products'}">{l s='View all'}</a>
Mais cela débouche sur "Page introuvable". L'url du lien s'affiche ainsi :
https://monsite.fr/module/blockupdproducts/updproducts.J'ai cherché sur le Net, cela semble correct mais difficile de savoir si ce que j'ai trouvé s'applique à 1.7 ou à 1.6.
En relisant mon code, je pense que je devrai ajouter quelque chose pour qu'il trouve les tpl product-list etc, vu que c'est appelé depuis le module, mais ce n'est pas cela qui rend la page "introuvable".De plus, il faudrait que je puisse réécrire l'url dans SEO pour que cela ne soit pas le chemin du module mais c'est une autre question (et en nofollow noindex idéalement, avec url canonicale, mais là j'abuse).
Auriez-vous une piste pour moi ?
Merci d'avance
Et vraiment, Phenix est génial !! Merci encore Eolia, pour ce magnifique boulot !