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 !