2013-03-15 10 views
7

ओवरराइड मैं निम्नलिखित ढेर है:कम चर

  1. Symfony2
  2. टहनी स्थापित lessphp फिल्टर के साथ।
  3. ट्विटर बूटस्ट्रैप

base.css में मेरे पास है:

// base.less 
@import '/path/to/bootstrap.less' 
@linkColor: 13px; 

चर नाम बिल्कुल महत्वपूर्ण नहीं है। यह बूटस्ट्रैप में इस्तेमाल किया जाने वाला कोई अन्य चर हो सकता है। यह सिर्फ ओवरराइड नहीं मिलता है। लेकिन अगर मैं अलग .less फ़ाइल में चर डाल दिया और base.less सब कुछ में आयात के रूप में की उम्मीद काम करता है:

// base.less 
@import '/path/to/bootstrap.less' 
@import '/path/to/variables.less' 

और

// variables.less 
@linkColor: 13px; 

क्यों यह काम और अन्य नहीं करता है? दस्तावेज़ों (कम/कम) के लिए देखा गया लेकिन इससे संबंधित कुछ भी नहीं मिला। (या मुझे नहीं पता था कि कहां देखना है)।

क्या कोई यह समझा सकता है कि यह क्यों हो रहा है?

उत्तर

2

इसका कारण यह है कि आप चर के बाद यह सब बूटस्ट्रैप शैलियों को परिभाषित करने के लिए इस्तेमाल किया गया है ओवरराइड हो रहा है।

मैं इस समस्या को इस तरह का समाधान:

  1. मेरे अपने main.less कि मेरे अपने bootstrap.less आयात करता है बनाएँ।
  2. मेरा खुद का bootstrap.less केवल बूटस्ट्रैप की bootstrap.less फ़ाइल आयातित पथ के साथ अपने स्वयं के फ़ोल्डर में कॉपी की गई है, लेकिन एक अपवाद के साथ: यह बूटस्ट्रैप के बजाय variables.less द्वारा आयात करता है।
  3. मेरा खुद का variables.less बूटस्ट्रैप के variables.less आयात करता है और फिर मुझे आवश्यकतानुसार ओवरराइड करता है।
+0

धन्यवाद एलनूर! लेकिन मैंने भी समस्या हल की। मेरा सवाल यह है कि ऐसा क्यों होता है कि इसे कैसे ठीक किया जाए। पहले से ही यह पता है! आपका समाधान जटिल लगता है और अनुशंसित नहीं है। ऐसा लगता है कि सभी @imports को अपने संदर्भ और आधार पर संसाधित किया जा रहा है। जब तक कि उन्हें एक अलग संदर्भ में आयात न किया जाए। अन्यथा मैं इसे समझा नहीं सकता। – Viorel

+1

आपने मेरे प्रश्न का उत्तर नहीं दिया। आपने एक विकल्प प्रदान किया जो मैं नहीं ढूंढ रहा था। मेरे पास समस्या को ठीक करने का समाधान पहले से ही है। फिर भी, आपके समाधान को मेरे दृष्टिकोण के दृष्टिकोण से अनुशंसा नहीं की जाती है। वास्तव में ... ऐसा नहीं लगता कि बूटस्ट्रैप का विस्तार करने का यह सही तरीका है ... सिर्फ इसलिए कि आप अकेले व्यक्ति हैं जो पोस्ट नहीं करते हैं इसका मतलब यह नहीं है कि मैं आपका उत्तर स्वीकार करूंगा जो वास्तव में मेरे प्रश्न का उत्तर नहीं है। फिर मैंने पूछा कि क्या कोई यह समझा सकता है कि ओवरराइड उस स्थिति में क्यों काम नहीं करता है और यह कैसे काम नहीं करता है। पहले से ही यह पता है! अवधि! आपके समय के लिए धन्यवाद! – Viorel

+0

यही कारण है कि मैंने लिखा है «या अपना जवाब दें और इसे स्वीकार करें»। ;) –

7

ऐसा लगता है कि यह कमजोर कंपाइलर में एक बग है। github issue पर एक नज़र डालें। परिवर्तनीय घोषणा को किसी अन्य फ़ाइल में डालने के लिए और यह आयात करने के लिए आपका कामकाज ठीक काम करता है। रास्ते से धन्यवाद;)

+0

धन्यवाद! वैसे भी इसका उपयोग छोड़ें। बहुत छोटी गाड़ी! नोडज मॉड्यूल के साथ चला गया। – Viorel

+1

धन्यवाद, यह काम करता है (https://github.com/ldbglobe/lessphp/compare/patch-1) – timaschew

+0

यह समस्या v0.5.0 में हल हो गई है :) –

संबंधित मुद्दे