2016-12-30 6 views
5

मेरे PHP कोड में।Smarty में param के लिए मान की सरणी कैसे असाइन करें?

$version_config = array( 
    "list" => array(
     "123" 
    ), 
... other params 
) 
$this->getView()->assign('version_config', $version_config); 
$this->getView()->assign('version_list', $version_config['list']); 

मेरी TPL कोड में,

{assign var="version_list2" value="{$version_config.list}"} 

{$version_list2} एक स्ट्रिंग मूल्यों "सरणी" है, जबकि {$version_list2} एक सरणी है। क्या मुझे {$version_list2} को सरणी में एन्कोड करने के लिए कुछ और संचालन की आवश्यकता है?

+1

('मूल्य =" ... "'), कोशिश '[' और ']' ('मूल्य = [...]')। यह भी देखें [परिभाषित सरणी अनुभाग] (http://www.smarty.net/docs/en/language.syntax.variables.tpl) और आप देखेंगे कि वे मान परिभाषित करने के लिए जेसन नोटेशन की तरह हैं। –

+0

आपका सुझाव काम किया गया है। धन्यवाद। लेकिन जोड़कर [] मान को सरणी (सरणी()) बन जाता है, बस हटाएं {} ठीक है। – ZeroZerg

उत्तर

4

डबल कोट्स $version_config.list सरणी को "Array" स्ट्रिंग करने के लिए PHP में "{$version_config['list']}" के रूप में परिवर्तित कर रहे हैं।

इसके अलावा, मूल्य में घुंघराले ब्रेसिज़ की कोई आवश्यकता नहीं है। सीधे शब्दों में value पैरामीटर में चर पारित:

{assign var="version_list2" value=$version_config.list} 
उद्धरण के बजाय
संबंधित मुद्दे