2009-03-09 11 views
7

मैं मानक प्रोपेल फॉर्म क्लास में सिम्फनी 1.2 का उपयोग कर रहा हूं।Symfony 1.2 में उपयोगकर्ता डेटा कैसे प्राप्त करें?

public function configure() 
{ 
    $this->setWidgets(array( 
'graduate_job_title' => new sfWidgetFormInput(array(), array('maxlength' => 80, 'size' => 30, 'value' => '')) 
    )); 
    //etc 
} 

हालांकि, मैं इस फ़ील्ड का मान उपयोगकर्ता जानकारी है, जो मैं सामान्य रूप से $this->getUser()->getAttribute('...') का उपयोग करके पहुंच चाहते हैं से आना चाहते हैं। हालांकि, यह प्रपत्र में काम नहीं कर रहा है।

मुझे क्या उपयोग करना चाहिए?

उत्तर

6

क्या यह काम करता है?

sfContext::getInstance()->getUser()->getAttribute('...'); 

// संपादित: बजाय sfContext के उपयोग पर cirpo के recommandation देखें।

+0

वर्क्स, धन्यवाद! –

+0

धन्यवाद, यह – Nordes

14

एसएफसीएन्टेक्स्ट उदाहरण पर भरोसा करना एक बहुत बुरा विचार है। विकल्प सरणी पैरामीटर में sfForm प्रारंभ के दौरान आपको जो चाहिए उसे पार करना बेहतर है।

$form = new myForm(null, 
        array('attributeFoo' => 
         $this->getUser()->getAttribute('attributeFoo')); 

और उसके बाद प्रपत्र वर्ग के अंदर मान प्राप्त:

http://www.symfony-project.org/api/1_4/sfForm

__contruct विधि

अपनी कार्रवाई में उदाहरण के लिए

$ this-> getOption ('attributeFoo');

+1

काम करता है यदि आप एक प्लगइन का उपयोग कर रहे हैं जैसे sfDoctrineGuard जो फ़ॉर्म को स्वत: उत्पन्न करता है? मैं सीधे अपनी कक्षाओं में फॉर्म नहीं बना रहा हूं। – codecowboy

+0

यह वही था जो मैं ढूंढ रहा था। धन्यवाद! मेरे मामले में यह सिम्फनी 1.4 के साथ काम करता है –

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