सशर्त संपत्ति जोड़ने के लिए सशर्त रूप से "ifconfig" का उपयोग करें


10

क्या ifconfigMagento 2 का उपयोग करने का कोई तरीका है जो सशर्त रूप से CSS संपत्ति जोड़ सकता है, Magento 1 के समान? यहाँ Magento 1 से एक उदाहरण है:

<action ifconfig="config_path/group/field" method="addItem">
    <type>skin_css</type><name>css/styles.css</name>
</action>

मैं Magento 2 में कुछ इस तरह की कोशिश की, लेकिन यह काम नहीं करता है:

<head>
    <css src="css/styles.css"
        ifconfig="config_path/group/field" />
</head>

यह केवल ifconfigदृश्यपटल पर विशेषता प्रदर्शित करता है :

<link rel="stylesheet" type="text/css" 
    ifconfig="config_path/group/field" 
    href="http://example.com/pub/static/frontend/Magento/luma/en_US/css/styles.css" />

क्या Magento 2 में कोई समकक्ष है?

जवाबों:


3

ऐसा लगता है कि यह वर्तमान head.xsdमें विकसित शाखा में परिभाषा को देखना संभव नहीं है :

https://github.com/magento/magento2/blob/develop/lib/internal/Magento/Framework/View/Layout/etc/head.xsd#L9

आप आवश्यकता जे एस मॉड्यूल की तरह कुछ कर सकते हैं: https://github.com/magento/magento2/blob/develop/app/code/Magento/RequireJs/Block/Html/Head/Config.php

यहाँ, आवश्यकता विन्यास और मिक्सिन्स आवश्यकता के बाद सीधे डाले जाते हैं। जेएस फ़ाइल।

आप अपनी सीएसएस फाइलों को इस शर्त के साथ जोड़ सकते हैं।

मुझे भी इसी तरह की समस्या के साथ एक मुद्दा मिला, लेकिन इसका जवाब नहीं मिला: https://github.com/magento/magento2/issues/2004


1

आप कॉन्फ़िगर के साथ शरीर के लिए एक वर्ग जोड़ सकते हैं, और सीएसएस शैली केवल उस वर्ग के साथ काम करती है।

<reference name="root">
    <action method="addBodyClass" ifconfig="section/group/isactive_full_homepage">
        <classname>home-full-page</classname>
    </action>
</reference>

यह काम करने के लिए नहीं मिल सकता है?
00- BBB

0

इस अन्य सूत्र में एक नज़र डालें:

/programming/32582704/magento-2-get-scopeconfig-values

उन्होंने एक्शन नोड के बजाय ब्लॉक नोड में आवेदन किया, शायद यह हल कर सकता है।

पुनश्च: कैश खाली करना और पुनर्मूल्यांकन सुनिश्चित करें।


ब्लॉक टाइप के लिए यह वास्तव में xsd में परिभाषित किया गया है: github.com/magento/magento2/blob/develop/lib/internal/Magento/… । @ maginfortis क्या आपने ifconfig को css नोड में जोड़ने की कोशिश की? यदि यह एक सत्यापन त्रुटि फेंकता है, तो आप ifconfig को सिर में जोड़ने का प्रयास कर सकते हैं। मेरे जवाब में xxd को सत्यापित करने के लिए बस वे वेड में जोड़ने के लिए भूल गए, या यदि वास्तव में यह पैरामीटर लागू नहीं हुआ है;)
डेविड वेरहोलेन

हां, आप सही हैं, मैं इसे सीएसएस में जांच रहा था। हो सकता है कि एक विकल्प एक प्लगइन को परिभाषित करके "आसपास" विधि आवरण का उपयोग किया जा सकता है।
फीनिक्स128_रीकॉर्डो

1
यह इस विधि पर काम कर सकता है: github.com/magento/magento2/blob/develop/lib/internal/Magento/… । लेकिन आपको हमेशा इस
कार्यवाही को

एक और विकल्प html आउटपुट में इसे फ़िल्टर कर सकता है बस एक प्लगइन का उपयोग करके, आपको क्या लगता है?
फीनिक्स128_रीकॉर्डो

यह सब (मेरा जवाब भी) वास्तव में "सही" नहीं लगता है;) मुझे आश्चर्य है कि अगर वे ऐसा करने के बारे में एक और तरीका सोचते हैं या गलती से ifconfig को छोड़ देते हैं
डेविड वेरहोलेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.