วิธีรับเอาท์พุทจากตัวช่วยสำหรับอาร์กิวเมนต์เส้นทางในโครงร่าง?


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) สำหรับตัวอย่าง: คุณมีฟังก์ชัน getTitle () ใน Data.php ที่ Namespace / Modulename / Helper

<?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>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.