چطوری میشه مثل وردپرس به هر پست برچسب اختصاص بدیم و موقع ویرایش اونا رو ویرایش کنیم با برچسب زدن مشکل زیادی ندارم ولی با ویرایش برچسب مشکل دارم.یعنی وقتی تیک چک باکس رو برداشتیم و سابمیت کردیم باید اون رکوردها حذف بشن؟ یا comfirmed اونا 0 بشه؟
رتبه موضوع:
تگها (حل شد)
|
02-04-1394، 09:08 ب.ظ
برای حذف بستگی به سناریوی خودتون داره. توی برخی از پروژه ها برای جدول واسط دیگه فیلد confirmed نمیگذارن و وقتی برچسب رو برمیدارین، باید کاملاً حذف کنید. اما برخی پروژه ها ممکنه به Soft Delete نیاز داشته باشن. مثلاً موقتاً یه برچسب رو نشون ندیم. اینجور جاها میشه confirmed رو صفر کرد.
تشکر شده توسط: hamid
02-04-1394، 09:25 ب.ظ
دستی نمیتونم با CActiveForm چطوری دو تا مدل رو با هم استفاده کنم؟
02-04-1394، 09:28 ب.ظ
متوجه منظورتون نمیشم. لطفاً بیشتر توضیح بدین.
02-04-1394، 09:33 ب.ظ
برای اینکه یک پست درج کنیم میاییم جدول پست رو new میکنیم و مقادیر $_Post رو بهش میدیم حالا تگها هم باید به فرم اضافه بشن یعنی دو تا مدل میشه به اضافه اینکه موقع ویرایش پست برچسب های قبلی باید تیک داشته باشن.
دقیقا مثل cms وردپرس
02-04-1394، 09:38 ب.ظ
شما نباید به این شکل کار کنید. یا میتونید با AJAX تگهای انتخابی رو بفرستین و ذخیره کنین و یا اینکه برای تگها با CActiveForm کار نکنید و با CHtml::dropDownList کار کنید. توی اکشن هم برای مقادیر دریافتی حلقه بسازین و برای هرکدوم یک شئ از کلاس جدول واسطه ایجاد و ذخیره کنید.
تشکر شده توسط: hamid
02-04-1394، 09:47 ب.ظ
وقتی یه پست رو میخواییم ویرایش کنیم چی؟ اگه دراپ دان باشه از کجا بدونیم چه برچسبهایی رو داره؟
02-04-1394، 09:56 ب.ظ
فهمیدم باید وقتی دکمه ویرایش رو میزنیم توی یه جدول تگاشو بیاریم و با دکمه حذف کنیم.
02-04-1394، 10:01 ب.ظ
به این مثال دقت کنید:
توی کنترلر: $options = array(); foreach($model->tags as $tag) { $options[$tag->id] = array('selected'=>'selected'); } $tags = CHtml::listData(Tags::model()->findAll(), 'id', 'name'); $this->render('form', compact('model', 'options', 'tags')); توی ویو: echo CHtml::dropDownList('Tags[]', null, $tags, array('multiple' => 'multiple', 'options' => $options)); تشکر شده توسط: hamid
02-04-1394، 10:07 ب.ظ
با کمک خاصیت options میتونید برای هر عنصر توی تگ Select خاصیتهای سفارشی ست کنید.
تشکر شده توسط: hamid
|
|
کاربران در حال بازدید این موضوع: 5 مهمان