2015-08-06 2 views
0

У меня есть категория, и мне нужно создать подкатегорию этого.
Когда я попытался создать подкатегорию, у меня есть поле под названием category Name, которое должно быть предварительно загружено с именем категории, которое я хочу создать подкатегорию.Эхо текущий идентификатор URL-адреса в текстовом поле в yii

как я могу добиться этого ..

Мой контроллер

public function actionCreate($id) 
{ 
    $model=new SubCategory; 
    $mode = Category::model()->findAll(); 
    $mode_1=$this->loadModel1($id); 






    // Uncomment the following line if AJAX validation is needed 
    // $this->performAjaxValidation($model); 

    if(isset($_POST['SubCategory'])) 

    { 
     $model->attributes=$_POST['SubCategory']; 

     if($model->save()) 
      $this->redirect(array('create','id'=>$model->id)); 
    } 

    $this->render('create',array(
     'model'=>$model, 
    )); 
} 

И форма

<?php 
/* @var $this SubCategoryController */ 
/* @var $model SubCategory */ 
/* @var $form CActiveForm */ 
?> 

<div class="form"> 

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'sub-category-form', 
    // Please note: When you enable ajax validation, make sure the corresponding 
    // controller action is handling ajax validation correctly. 
    // There is a call to performAjaxValidation() commented in generated controller code. 
    // See class documentation of CActiveForm for details on this. 
    'enableAjaxValidation'=>false, 
)); ?> 
<?php 
    $category_id = $_GET['id']; 
    $category = Category::model()->findByAttributes(array('id' => $category_id)); 

    // echo '<pre>';print_r($category);'</pre>'; 
?> 
    <p class="note">Fields with <span class="required">*</span> are required.</p> 

    <?php echo $form->errorSummary($model); ?> 
    <div class="row"> 
     <?php echo $form->labelEx($model,'category_id'); ?> 
     <?php echo $form->textField($model,'category_id', 
     array('class'=>'form-control','style'=>'width:300px;')); ?> 

     <?php echo $form->error($model,'category_id'); ?> 
    </div> 

    <div class="row"> 
     <?php echo $form->labelEx($model,'subcategory_name'); ?> 
     <?php echo $form->textField($model,'subcategory_name',array('class'=>'form-control','style'=>'width:300px;')); ?> 
     <?php echo $form->error($model,'subcategory_name'); ?> 
    </div> 

    <div class="row buttons"> 
     <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('class' => 'btn btn-default')); ?> 
    </div> 

<?php $this->endWidget(); ?> 

</div><!-- form --> 

<div style="width: 97%; margin: auto;" > 


<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'fav-category-grid', 
    'dataProvider'=>$model->search(), 
    //'filter'=>$model, 
    'columns'=>array(
     // 'id', 
     //'favcategory', 
     array('header'=>'#','htmlOptions'=>array('width'=>'60px'), 
      'value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)', 
     ), 

     //'id', 
     //'category_id', 
     array(
      'name' => 'category_id', 
      'value' => '$data->category->categoryname', 
      //'filter'=> CHtml::listData(Category::model()->findAll(array('order'=>'categoryname')), 'categoryid', 'categoryname') 
     ), 
     'subcategory_name', 
     array(
       'class' => 'CButtonColumn', 
       'htmlOptions'=>array('width'=>'110px'), 
       'template' => '{update}{delete}', 
       'buttons' => array( 
         'update'=>array(
          'imageUrl' =>false, 
          'label' => '', 
          'options' => array('title'=>'update','class'=>'btn btn-info btn-xs fa fa-pencil-square-o'), 
           ),  
         'delete'=>array(
          'imageUrl' =>false, 
          'label' => 'delete', 
          'options' => array('title'=>'view','class'=>'btn btn-danger btn-xs'), 
         ), 

       ) 
      ), 
    ), 
'itemsCssClass'=>'table table-striped table-bordered table-hover', 
     'pagerCssClass'=>'pagination', 
     'pager'=>array('header' => '','lastPageLabel'=>'<span class="glyphicon glyphicon-chevron-right"></span><span class="glyphicon glyphicon-chevron-right"></span>','firstPageLabel'=>'<span class="glyphicon glyphicon-chevron-left"></span><span class="glyphicon glyphicon-chevron-left"></span>','prevPageLabel'=>'<span class="glyphicon glyphicon-chevron-left"></span>','nextPageLabel'=>'<span class="glyphicon glyphicon-chevron-right"></span>','header' => '','cssFile' => Yii::app()->baseUrl . '/css/pager.css','htmlOptions'=>array('class'=>'pagination'),'selectedPageCssClass'=>'active'), 


)); ?> 








</div> 

ответ

0

Я могу видеть категорию модели $category получать загружены в форме.

$category = Category::model()->findByAttributes(array('id' => $category_id)); 

И если id в category таблицы первичный ключ, то я предлагаю, только для простоты:

$category = Category::model()->findByPk($category_id); 

Теперь я предполагаю, что вы можете, что в TextField, которые будут отключены.

Так используйте textField() из CActiveForm в форме, что-то вроде:

$form->textField($category, 'name', array('disabled' => 'disabled')); 

TextField docs

Примечание: второй параметр должен быть именем атрибута, я предположил, что name.

Также я не вижу использования следующих двух строк в actionCreate(). Я имею в виду, что переменная $mode и $mode_1 не используются нигде в этом действии.

$mode = Category::model()->findAll(); 
$mode_1=$this->loadModel1($id); 
+0

Благодарим за ответ ... Когда я попробовал ответить, он показывает, что зарегистрированная категория не может быть пустым .... Я попытался отключить проверку ... но это не удалось .... Что делать Теперь??? –

+0

'category filed can not be blank 'означает, что поле должно быть заполнено при его сохранении. Проверьте 'rules()' в вашей модели. – Jigar

Смежные вопросы