Як отримати вихід від помічника для аргументу шляху в макеті?


10
<block class="Magento\Framework\View\Element\Html\Link\Current" ifconfig="custommodule/general/enable_footer_link" name="custommodule-link">
<arguments>
    <argument name="label" xsi:type="string">Custom Module</argument>
    <argument name="path" xsi:type="string" helper="NS\CustomModule\Helper\Data::getFrontName()"/>
</arguments>
</block>

Я намагаюся це зробити у default.xml. як я можу отримати pathаргумент рядка від помічника дії для аргументу?

Відповіді:


11

Спробуйте:

<block class="Magento\Framework\View\Element\Html\Link\Current" ifconfig="custommodule/general/enable_footer_link" name="custommodule-link">
    <arguments>
        <argument name="label" xsi:type="string">Custom Module</argument>
        <argument name="path" xsi:type="helper" helper="NS\CustomModule\Helper\Data::getFrontName"/>
    </arguments>
</block>

Ви також можете передавати параметри методу, подібного до цього:

<block class="Magento\Framework\View\Element\Html\Link\Current" ifconfig="custommodule/general/enable_footer_link" name="custommodule-link">
    <arguments>
        <argument name="label" xsi:type="string">Custom Module</argument>
        <argument name="path" xsi:type="helper" helper="NS\CustomModule\Helper\Data::getFrontName">
            <param name="name">value</param>
        </argument>
    </arguments>
</block>

1

1) Наприклад: у Data.php у просторі імен / ім'я модуля / помічника у вас є функція getTitle ()

<?php

namespace Namespace\Modulename\Helper;

class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
    public function getTitle()
    {
       return "Testing";
    }

}

2) У layout.xml змініть xsi: type = "string" на xsi: type = "helper" та визначте helper class :: methodName

<block class="Magento\Framework\View\Element\Html\Link\Current" ifconfig="custommodule/general/enable_footer_link" name="custommodule-link">
<arguments>
    <argument name="label" xsi:type="string">Custom Module</argument>
    <argument name="path" xsi:type="helper" helper="Namespace\Modulename\Helper\Data::getTitle"/>
</arguments>
</block>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.