كيفية الحصول على بيانات المستخدم في النموذج في Symfony 1.2؟
سؤال
أنا أستخدم Symfony 1.2 في فئة نموذج Propel القياسية.
public function configure()
{
$this->setWidgets(array(
'graduate_job_title' => new sfWidgetFormInput( array(), array( 'maxlength' => 80, 'size' => 30, 'value' => '' ) )
));
//etc
}
ومع ذلك، أريد أن تأتي قيمة هذا الحقل من معلومات المستخدم، والتي عادةً ما يمكنني الوصول إليها باستخدامها $this->getUser()->getAttribute( '...' )
.ومع ذلك، يبدو أن هذا لا يعمل في النموذج.
ما الذي يجب أن أستخدمه؟
المحلول
<الإضراب> هل هذا العمل؟ إضراب>
<الإضراب>sfContext::getInstance()->getUser()->getAttribute('...');
إضراب> <الإضراب> ضرب>
على // تحرير : ل. انظر recommandation cirpo على استخدام sfContext بدلا
نصائح أخرى
إنها فكرة سيئة جدًا الاعتماد على مثيل sfContext.من الأفضل تمرير ما تحتاجه أثناء تهيئة sfForm في معلمة صفيف الخيارات.
http://www.symfony-project.org/api/1_4/sfForm
__طريقة البناء
على سبيل المثال في عملك:
$form = new myForm(null,
array('attributeFoo' =>
$this->getUser()->getAttribute('attributeFoo'));
ثم قم باسترداد القيمة داخل فئة النموذج:
$this->getOption('attributeFoo');
cirpo
إذا شخص ما يحتاج هذا الشيء في الادارة (الخلفية) هنا هو الحل: HTTP: // بلوق .nevalon.de / EN / وي-nutze-ICH-يموت rechteverwaltung-في symfony-مشرف-مولد formularen-20100729
في Symfony 1.4، الكائن $sf_user