문제

i see this post

I want to do the same but with a condition. I want to call an helper function which return a boolean. And in my xml do like :

    <?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="ajax-empty" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="root">
            <block class="Magento\Framework\View\Element\Template" name="customer.account.popin" template="MyVendor_Customer::form/popin_disconnected_content.phtml">
                IF USER IS LOGGED IN
                    <block class="Magento\Framework\View\Element\Messages" name="messages"/>
                    <block class="Magento\Customer\Block\Form\Login\Info" name="customer.account.popin.register" template="Magento_Customer::newcustomer.phtml"/>
                    <block class="Magento\Customer\Block\Form\Login" name="customer.account.popin.login" template="Magento_Customer::form/login.phtml">
                        <block class="Magento\Persistent\Block\Form\Remember" name="remember_me" template="Magento_Persistent::remember_me.phtml" ifconfig="persistent/options/enabled" as="form_additional_info"/>
                    </block>
                END
                IF USER IS NOT LOGGED IN
                    <block class="Magento\Customer\Block\Form\Login\Info" name="customer.account.popin.register" template="Magento_Customer::newcustomer.phtml"/>
                MORE CONTENT WILL BE ADD HERE
                END
            </block>
        </referenceContainer>
    </body>
</page>

How can I do this ?

EDIT : this is like I want to do but it's with observers and I'm too weak with magento 2 config to change it for helpers, can you help me please ?

도움이 되었습니까?

해결책

Please, refer to this link, http://inchoo.net/magento/custom-layout-update-handles/. It could help you. Use the following to call a function from Helper inside layout.

 <action method="setStorVar">
<var helper="module/getStoreVar" />

다른 팁

Customer logged out and log in handles are now removed so your simplest approach is to create your custom blocks extending the ones you want to add and check if customer is logged in in _toHtml() method in each block. If not render the block and if he is return empty string in order not to render them.

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