เป็นไปได้หรือไม่หากมีเงื่อนไขอื่นในโครงร่าง XML?


9

ฉันต้องการแสดง CSS ที่แตกต่างกันสองแบบ

<action method="addItem" ifconfig="module/general/enable">
    <type>js_css</type>
    <name>module/app.css</name>
</action>

ใน XML เราใช้ifconfigแต่ฉันต้องการเพิ่มสองไฟล์ CSS ที่แตกต่างกันเช่นนี้

ถ้า (ตลาด / ทั่วไป / เปิดใช้งาน == 1) {
     CSS-1
 } อื่น {
     CSS-2 
 }

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


16

ไม่มี "สั่งผกผัน" ifconfigเพื่อเป็น คุณยังสามารถมีพารามิเตอร์ชื่อที่คำนวณโดยวิธีผู้ช่วยเช่นนี้:

XML:

<action method="addItem">
    <type>js_css</type>
    <name helper="helpername/helpermethod"/>
</action>

helpernameคือตัวระบุที่คุณมักจะส่งผ่านMage::helper($name)และhelpermethodวิธีการที่คุณต้องการโทร

ในคลาสตัวช่วยของโมดูล (รหัสเทียม):

public function helpermethod()
{
    if ($enabled) {
        return 'module/app1.css';
    } else {
        return 'module/app2.css';
    }
}

4

ใช้ส่วนขยายนี้สำหรับตัวเลือกการกำหนดค่าแบบขยาย

คุณสามารถใช้conditionแท็กสำหรับแท็ก

<action method="addItem" ifconfig="module/general/enable" condition="1">
    <type>js_css</type>
    <name>module/app.css</name>
</action>
<action method="addItem" ifconfig="module/general/enable" condition="0">
    <type>js_css</type>
    <name>module/app1.css</name>
</action>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.