मैं चतुर टेम्पलेट में अन्य एक आयामी सरणी से एक नई सरणी बनाने के लिए की जरूरत है। तो, टेम्पलेट फ़ाइल में सरणी बनाने के लिए सबसे अच्छी संभावनाएं क्या हैं।smarty टेम्पलेट में एक सरणी बनाएँ?
धन्यवाद, सचिन
मैं चतुर टेम्पलेट में अन्य एक आयामी सरणी से एक नई सरणी बनाने के लिए की जरूरत है। तो, टेम्पलेट फ़ाइल में सरणी बनाने के लिए सबसे अच्छी संभावनाएं क्या हैं।smarty टेम्पलेट में एक सरणी बनाएँ?
धन्यवाद, सचिन
मैं इस के खिलाफ सलाह लेकिन इस प्लगइन यह अनुमति देता है: http://smarty.incutio.com/?page=set
Smarty3 {$var = ['foo' => 'bar', 'sub' => [1, 2, 3]]}
और {$var.foo = 'other'}
अगर उन विकल्पों के लिए पर्याप्त नहीं है, एक plugin function लिखने के लिए आपको अनुमति देता है। एक दुष्ट और एक गंदा एक - -
अतीत में, मैं दो तरीकों का इस्तेमाल किया है जल्दी से एक TPL अंदर एक सरणी आवंटित करने के लिए:
{* Am I evil? *}
{php}
$array = array("cat", "dog", "rabbit");
$this->assign("myArray", $array);
{/php}
{* Am I dirty? *}
{assign var='myArray' value=','|explode:"cat,dog,rabbit"}
अपने सरणी में दोनों परिणाम एक सरल निर्माण करने के लिए टेम्पलेट के अंदर उपलब्ध पाश। वैसे भी मैं हमेशा इस तरह अपना कोड बदलना समाप्त कर दिया, इसलिए मुझे इस सामान की बिल्कुल आवश्यकता नहीं थी।
मुझे "इनलाइन" PHP कोड की वजह से पहला दृष्टिकोण पसंद नहीं है। दूसरा समाधान थोड़ा मुश्किल है लेकिन अभी भी किसी भी हैक के बिना वैध smarty है। वोट दिया! –
देखने के एक MVC बिंदु से, इसका हिस्सा देखें डेटा प्रदर्शित करने के साथ ही जिम्मेदार है। मैं इस तरह से है कि यह आप मॉडल में डेटा की प्रक्रिया और केवल दृश्य में प्रदर्शन के लिए इसे पारित करने की अनुमति देगा में आवेदन पर पुनर्विचार करने के लिए प्रोत्साहित करेंगे।
और कैसे आप एक मॉडल में (पंक्तियों के साथ) एक मेज पर कार्रवाई ताकि वहाँ किसी भी HTML मार्कअप नहीं होगा करते हैं? आपको अभी भी डेटा की पूरी सरणी पास करनी है और दृश्य में गतिशील तालिका बनाना है। – Andrew
@Andrew क्या मुझे अपने जवाब में कुछ याद आ रहा है? मैंने ऐसा नहीं कहा दृश्य स्थिर हो गया है, मैं केवल ने बताया कि सभी डाटा प्रोसेसिंग मॉडल में किया जाना चाहिए और देखने को प्रदर्शित करना पारित कर दिया। – Catalin
कैटलिन> हाँ, मैं समझता हूं कि आपका क्या मतलब है। मैं सिर्फ यह जानना चाहता था कि टेम्पलेट में लूप को रोकने का कोई तरीका है या नहीं। और AFAIK वहाँ किसी भी ... – Andrew
यह वास्तव में बहुत सरल है:
{assign 'myArray' ['cat', 'dog', 'rabbit']}
क्या यह संस्करण 2 के साथ काम करता है? –
मैं इस सलाह की कोशिश की है और यह काम करता है। यह सुविधा Smarty दस्तावेज़ में प्रलेखित नहीं प्रतीत होती है, जो इस सलाह को मेरे लिए और भी मूल्यवान बनाती है। –