2011-01-05 7 views
6

में उपयोग करें मुझे केकपीएचपी के app_controller में एक चर सेट करने की आवश्यकता है और फिर इसे मेरी डिफ़ॉल्ट लेआउट फ़ाइल में उपयोग करें।app_controller में एक चर सेट करें और इसे केकपीएचपी लेआउट

क्या इस चर को सेट करने का कोई तरीका है?

उत्तर

12

मुझे लगता है कि उसका मतलब क्या था, कि वह नहीं जानता कि एक चर सेट करना है क्योंकि वह नियंत्रक के अंदर एक विशिष्ट कार्य में नहीं है। एक चर (या वास्तव में कुछ और) उपलब्ध हर जगह के लिए, अगर आप इस तरह अपने AppController में रख करने के लिए है:

function beforeFilter() 
    { 
    $this->set('whatever', $whatever); 
    } 

उन कॉलबैक कार्यों here पर अधिक।

5

AppController में कॉलबैक फ़ंक्शंस $-- set() वेरिएबल्स हैं जो आप अपने सभी दृश्यों और लेआउट में उपलब्ध करना चाहते हैं। पहले फ़िल्टरर() को सभी नियंत्रक कार्यों से पहले बुलाया जाता है। यदि आप किसी क्रिया के चलने के बाद व्यू वैरिएबल सेट करना चाहते हैं, तो पहले सेडर() का उपयोग करें। आप $-- viewVars सहयोगी सरणी में अपने अन्य दृश्य चरों तक पहुंच सकते हैं।

function beforeRender() { 
    $new = "Universal " . $this->viewVars['layoutTitle']; 
    $this->set('universalTitle', $new); 
} 
0

आप इस का उपयोग कर सकते हैं चर सेट करने के लिए: $ this-> सेट (कॉम्पैक्ट ('currentJobId'));

यह एक ही समय में सरणी सेट करेगा, यह मूल्यों को सेट करेगा।

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