PDA

View Full Version : مبتدی : سوال در مورد استفاده از ویجت



barname_newis
پنج شنبه 08 خرداد 1393, 20:06 عصر
سلام
یه سوال کلی داشتم
ببینید من تو یه قسمت از برنامم میخوام فرم ثبت نام کاربر رو داشته باشم . در صورتی که تو کنترلر دیگه ای هست . برای مثال تو کنترلر orders میخوام یه view داشته باشم که مشتریان بتونن ثبت نام کنن . model و controller برا قسمت مشتری ساختم (customers) و حالا میخوام از مدل customers تو کنترلر orders استفاده کنم و یه فرم ثبت نام درست کنم
سوالم اینه که برای طراحی این قسمت (view و controller) از ویجت استفاده کنم؟
مثل این سایت (http://www.magnabook.ir/%D8%B3%D9%81%D8%A7%D8%B1%D8%B4-%D8%B3%D8%B1%DB%8C%D8%B9)
ممنون

MMSHFE
پنج شنبه 08 خرداد 1393, 20:52 عصر
نیازی نیست ویجت کنید. کافیه فرم ثبت نام رو توی یک فایل جداگانه (مثلاً protected/views/site/_register.php) ذخیره کنید و بعد توی هر ویوی دیگه که میخواین نشونش بدین اینطوری کار کنید:

<?php $this->renderPartial('//site/_register');

barname_newis
پنج شنبه 08 خرداد 1393, 22:07 عصر
ممنون جناب شهرکی
یه سوال دیگه : برای قسمت لاگین هم که معمولا از طریق چند جا از سایت میتونه فراخونی بشه هم نیازی به تعریف ویجت نیست و باید به همین طریقی که گفتید عمل کنم؟

MMSHFE
شنبه 10 خرداد 1393, 11:42 صبح
بله اونم همینطوری میشه انجام داد.

barname_newis
دوشنبه 12 خرداد 1393, 23:04 عصر
جناب شهرکی
من یه جا به مشکل خوردم
فایل _login.php رو ایجاد کردم و وقتی به صورت renderPartial فراخونی میکنم میگه model undefine هست
این کد های _login هست :

<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form-widget',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
'htmlOptions'=>array(
'class'=>'login-wrapper',
)
)); ?>
<div class="">
<?php echo $form->label($model,'username'); ?>
<?php echo $form->textField($model,'username',array(
'class'=>'input span12',
)); ?>
</div>
<div class="">
<?php echo $form->label($model,'password'); ?>
<?php echo $form->textField($model,'password',array(
'class'=>'input span12',
)); ?>
</div>
<div>
<?php echo CHtml::submitButton('Login',array('class'=>'btn btn-danger')); ?>
</div>
چطور میتونم این مشکل رو برطرف کنم؟

MMSHFE
سه شنبه 13 خرداد 1393, 10:46 صبح
اینطوری صدا بزنید:

$this->renderPartial('//site/_login', array('model'=>new LoginForm));