Pergunta

Temos algumas chances aqui e espero que alguém possa aconselhar um pouco sobre isso.

O que temos é Login / Sair e Cadastrar / Minha Conta em nossa seção de links principais gerenciada por layout.Estamos tentando usar terebintina para perfurar isso, de modo que mostre os links corretos, dependendo do status de login, mas não conseguimos fazer com que isso seja acionado.

Desativar verniz ou colocar na lista negra /* na configuração funciona para sabermos que sem verniz o layout está correto.

Tentamos várias etapas para tentar fazer com que isso funcionasse, como você verá a seguir.

  • Gama de eventos Flush (todos os quais eu acho que deveriam ser acionados)
  • TTL definido como 0
  • turpentine_cache_flag para 0
  • Aplicando por referência e em nível de bloco

Alguém pode confirmar que a ordem dos eventos que visamos deve fazer com que o cache seja atualizado em um ponto em que geraria a saída correta.Se chegarmos muito cedo ou tarde, imagino que seja possível que as informações estejam sendo atualizadas, mas os links estavam corretos com base no ponto de execução.

Além disso, gostaríamos de receber conselhos sobre o que pode ser feito para forçar isso a operar com a saída correta.

XML de layout personalizado:

<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) Não estamos claros no suporte para a referência; portanto, tentando isso diretamente no bloco no arquivo página.xml como abaixo:

<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>
Foi útil?

Solução

Portanto, descobrimos, após depuração adicional, que parece haver alguns problemas de compatibilidade entre este e o tema RWD/Nosso.Então, para o benefício de qualquer pessoa que esteja enfrentando um problema semelhante, o que tivemos que fazer foi:

Remova do padrão em customer.xml para o tema rwd a adição do link de registro por configuração padrão.

Em seguida, em customer_logged_in e customer_logged_out estamos adicionando links de registro ou de minha conta por meio das atualizações de layout.

Exemplo:

<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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top