Question

Nous avons un peu un long coup ici que j'espère que quelqu'un peut vous conseiller un peu.

Ce que nous avons est un identifiant / déconnexion et un enregistrement / mon compte dans notre section des liens en haut gérées par la mise en page. Nous essayons d'utiliser Turpentine pour trous de frapper cela afin qu'il montre la correction des liens en fonction du statut enregistré, mais nous ne pouvons pas sembler obtenir cela pour déclencher.

Désactiver le vernis ou la liste noire / * Dans la configuration, il fonctionne afin que nous sachions que sans vernis, la mise en page est correcte.

Nous avons essayé un certain nombre de mesures pour que cela fonctionne pour que cela fonctionne comme vous le verrez ci-dessous.

  • Gamme d'événements de flush (toutes les personnes à faire pour déclencher)
  • TTL réglé sur 0
  • TURPENTINE_CACHE_FLAG à 0
  • Appliquer par référence et le niveau de bloc

Quelqu'un peut-il confirmer que l'ordre des événements que nous devons mener doit conduire au cache étant actualisé à un point où il générerait la sortie correcte. Si nous frappons trop tôt ou tard, j'imagine que cela pourrait être possible que les informations soient actualisées, mais les liens étaient corrects en fonction du point d'exécution?

Au-delà de cela, conseiller sur ce qui peut être fait pour forcer cela à fonctionner avec la sortie correcte serait apprécié.

mise en page personnalisée xml:

<default>
        <reference name="top.links">
            <action method="setEsiOptions">
                <params>
                    <access>private</access>
                    <cacheType>per-client</cacheType>
                    <flush_events>
                        <customer_login />
                        <customer_logout />
                    </flush_events>
                </params>
            </action>
            <action method="removeLinkByUrl"><url helper="customer/getAccountUrl" /></action>
        </reference>

    </default>

    <!-- CUSTOMER XML-->
    <customer_logged_in>
        <turpentine_cache_flag value="0"/>
        <reference name="top.links">
            <action method="removeLinkByUrl"><url helper="customer/getLogoutUrl"/></action>
            <action method="removeLinkByUrl"><url helper="enterprise_invitation/data/getCustomerInvitationFormUrl" /></action>
            <action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
            <action method="addLink" translate="label title before_text" module="customer"><label>My Account</label><url helper="customer/getAccountUrl" /><title>My Account</title><prepare/><urlParams/><position>50</position><li/><a>class="my-account"</a></action>
        </reference>
    </customer_logged_in>
    <customer_logged_out>
        <reference name="top.links">
            <action method="removeLinkByUrl"><url helper="customer/getLoginUrl"/></action>
            <action method="addLink" translate="label title" module="customer"><label>Login</label><url helper="customer/getLoginUrl"/><title>Login</title><prepare/><urlParams/><position>50</position><li></li><a>class="login"</a></action>
        </reference>

    </customer_logged_out>
    <!-- END CUSTOMER XML-->

page.xml (top.links) Nous n'avons pas été clairs pour la prise en charge de la référence, alors essayez-la directement sur le bloc dans le fichier page.xml comme ci-dessous:

<block type="page/template_links" name="top.links" as="topLinks">
                    <action method="setEsiOptions">
                        <params>
                            <access>private</access>
                            <flush_events>
                                <page_block_html_topmenu_gethtml_before />
                                <page_block_html_topmenu_gethtml_after/>
                                <customer_session_init />
                                <customer_login />
                                <customer_logout />
                                <visitor_init />
                            </flush_events>
                        </params>
                    </action>
                </block>

Était-ce utile?

La solution

Nous avons donc découvert après le débogage ultérieur, il semble y avoir des problèmes de compatibilité entre cela et RWD / notre thème.Donc, pour le bénéfice de quelqu'un d'autre qui rencontre un problème similaire ce que nous avons dû faire était:

Supprimer de la valeur par défaut dans Customer.xml pour le thème RWD L'ajout de lien de registre par configuration par défaut.

Puis dans Customer_Logged_in et Customer_Logged_out Nous ajoutons des liens de registre ou de mon compte via les mises à jour de la mise en page.

Exemple:

<customer_logged_out>
    <reference name="top.links">
        <action method="removeLinkByUrl"><url helper="customer/getLoginUrl"/></action>
        <action method="addLink" translate="label title" module="customer"><label>Login</label><url helper="customer/getLoginUrl"/><title>Login</title><prepare/><urlParams/><position>50</position><li></li><a>class="login"</a></action>
        <action method="addLink" translate="label title" module="customer"><label>Register</label><url>/customer/account/create</url><title>Register</title><prepare/><urlParams/><position>40</position></action>
    </reference>

</customer_logged_out>

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top