문제

우리는 누군가 가이 일을 조언 할 수 있기를 바란다는 것을 희망하고 있습니다.

우리가 가진 것은 레이아웃에서 관리하는 상위 링크 섹션에서 로그인 / 로그 아웃 및 등록 / 내 계정입니다. 우리는 Turpentine을 사용하여 구멍 펀치를 사용하여 로깅 상태에 따라 링크가 올바른 것을 보여줍니다. 그러나 우리는 이것을 트리거하는 것처럼 보입니다.

니스 또는 블랙리스트를 사용 불가능하게 사용중인 구성에서 작동합니다. 그래서 우리는 니스없이 레이아웃이 올바른 것이 아니라는 것을 알고 있습니다.

우리는 당신이 아래에서 볼 수 있도록 이것을 시도하고 이것을 사용하기 위해 노력할 수있는 여러 단계를 시도했습니다.

  • 플러시 이벤트의 범위 (내가 생각하는 모든 것)
  • ttl 0
  • 로 설정
  • turpentine_cache_flag 0
  • 참조로 적용 및 블록 레벨

누구든지 우리가 타겟이되는 이벤트 순서가 올바른 출력을 생성하는 지점에서 리프레시로 이어져야하는지 확인할 수 있습니다. 우리가 너무 일찍 또는 늦게 타격을 가하고 있다면 정보가 새로 고쳐지지 만 링크가 실행 지점을 기반으로 올바른 것이 가능할 수도 있습니다.

그 외에도 올바른 출력으로 작동하도록이를 강요하기 위해 수행 할 수있는 일에 대해 조언하십시오.

사용자 정의 레이아웃 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) 우리는 참조에 대한 지원에 대해 불분명 해 졌으므로 아래의 page.xml 파일의 블록에서 직접이 작업을 시도하십시오.

<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>
.

도움이 되었습니까?

해결책

더 이상 디버깅을 통해 발견 된 다음과 같은 디버깅을 발견했습니다. 이와 RWD / 우리의 테마 간의 호환성 문제가있는 것으로 보입니다.그래서 우리가해야 할 일은 비슷한 문제가 발생하는 다른 사람의 이익을 위해서 :

RWD 테마의 Customer.xml에서 기본값 구성에 따라 Register 링크를 추가하십시오.

그런 다음 customer_logged_in 및 customer_logged_out에서 레이아웃 업데이트를 통해 레지스터 또는 내 계정 링크를 추가하고 있습니다.

예 :

<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>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top