THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,

Je suis en train de créer un hook permettant d'afficher une liste de partenaires sous forme d'image. J'ai donc créé mon module avec ce config.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<config xmlns="http://thelia.net/schema/dic/config"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
    <hooks>
        <hook id="hookpartner.hook.front" class="HookPartner\Hook\FrontHook" scope="request">
            <tag name="hook.event_listener" event="main.footer-top" method="onMainFooterTop"  />
        </hook>
    </hooks>
</config>

Ma classe FrontHook.php :

namespace HookPartner\Hook;

use Thelia\Core\Event\Hook\HookRenderBlockEvent;
use Thelia\Core\Hook\BaseHook;

/**
 * Class FrontHook
 * @package HookPartner\Hook
 */
class FrontHook extends BaseHook
{
    
    public function onMainFooterTop(HookRenderBlockEvent $event)
    {
        $content = $this->render("main-footer-top.html");
        $event->add($content);
    }

}

Mais rien ne s'affiche, j'ai toujours les 3 colonnes de réassurance (livraison, paiement sécurisé, besoin d'aide ?). Par contre, si je place le hook en footer-bottom, celui-ci apparaît.

Le code en question de l'appel dans la layout :

{ifhook rel="main.footer-top"}
            <section class="footer-block">
                <div class="container">
                    <div class="blocks block-col-3">
                        {hook name="main.footer-top"}
                    </div>
                </div>
            </section>
            {/ifhook}
            {elsehook rel="main.footer-top"}
            <section class="footer-banner">
                <div class="container">
                    <div class="banner banner-col-3">
                        <div class="col">
                            <span class="icon-truck icon-flip-horizontal"></span>
                            {intl l="Free shipping"} <small>{intl l="Orders over $50"}</small>
                        </div>
                        <div class="col">
                            <span class="icon-credit-card"></span>
                            {intl l="Secure payment"} <small>{intl l="Multi-payment platform"}</small>
                        </div>
                        <div class="col">
                            <span class="icon-info"></span>
                            {intl l="Need help ?"} <small>{intl l="Questions ? See our F.A.Q."}</small>
                        </div>
                    </div>
                </div>
            </section>
            {/elsehook}

Help ? smile

Merci

Last edited by Micrasoft (03-03-2015 18:12:46)

Offline


En 2.1.1 ?

Vide bien tes caches,dev et prod.

Vérifie que ton module est bien associé au hook dans configuration -> position des hooks


OpenStudio Toulouse

Offline


Je suis en version 2.1.2.

Même effet lorsque je vide les cache...

Serait ce un bug lié à main.footer-top ? Quelqu'un arrive à reproduire le problème ?

Merci

Offline


Vérifie que ton module est bien associé au hook dans configuration -> position des hooks


OpenStudio Toulouse

Offline


Il n'est pas présent dans la section en question, et lorsque je souhaite l'ajouter via le bouton "+", mon module n'est pas listé...

Étrange, étrange...

Offline


Va donc voir dans les logs Thelia (log/thelia-log.txt) s'il n'y a pas un message en rapport.

Sinon, poste ton module,  on verifiera


OpenStudio Toulouse