2015-05-11 45 views
0

我有一張表,我正在保存字段名稱。 現在我想在另一個模型中使用這些字段。那麼,我如何給這個領域命名呢?如何在Yii2中創建動態字段?

例如 我有表名爲配置與fields(id,key)。 數據可以

1, Blog url 
2, Site url 

現在,我有1個表單,管理員將這些值添加到數據庫中。

在Yii2我們創建像

<?= $form->field($model, 'name')->textInput() ?> 

輸入字段,但我要創建兩個文本框帶有名稱blog urlsite url。 那麼,我該如何創建它?我必須寫什麼來代替name

+1

歡迎來到SO。請格式化您的問題。使用(內聯)代碼塊。檢查[幫助]。 – robsch

+0

你的問題不是很清楚。你是否試圖使用表格數據[1]?如果是這樣,你是否試圖爲每個字段添加一個不同的「標籤」[2]? [1] http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html [2] http://www.yiiframework.com/doc-2.0/yii-widgets- activefield.html#label() - 詳細 – slinstj

回答

0

運行這段代碼在命令提示符

php composer.phar require --prefer-dist wbraganca/yii2-dynamicform "*" 

的上面的代碼完成後。

在表單中添加以下代碼。 _form.php

<div class="panel panel-default"> 
    <div class="panel-heading"><h4><i class="glyphicon glyphicon-envelope"></i> Addresses</h4></div> 
    <div class="panel-body"> 
     <?php DynamicFormWidget::begin([ 
      'widgetContainer' => 'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_] 
      'widgetBody' => '.container-items', // required: css class selector 
      'widgetItem' => '.item', // required: css class 
      'limit' => 4, // the maximum times, an element can be cloned (default 999) 
      'min' => 1, // 0 or 1 (default 1) 
      'insertButton' => '.add-item', // css class 
      'deleteButton' => '.remove-item', // css class 
      'model' => $modelsAddress[0], 
      'formId' => 'dynamic-form', 
      'formFields' => [ 
       'name', 
      ], 
     ]); ?> 

     <div class="container-items"><!-- widgetContainer --> 
     <?php foreach ($modelsAddress as $i => $modelAddress): ?> 
      <div class="item panel panel-default"><!-- widgetBody --> 
       <div class="panel-heading"> 
        <h3 class="panel-title pull-left">Address</h3> 
        <div class="pull-right"> 
         <button type="button" class="add-item btn btn-success btn-xs"><i class="glyphicon glyphicon-plus"></i></button> 
         <button type="button" class="remove-item btn btn-danger btn-xs"><i class="glyphicon glyphicon-minus"></i></button> 
        </div> 
        <div class="clearfix"></div> 
       </div> 
       <div class="panel-body"> 
        <?php 
         // necessary for update action. 
         if (! $modelAddress->isNewRecord) { 
          echo Html::activeHiddenInput($modelAddress, "[{$i}]id"); 
         } 
        ?> 
        <?= $form->field($model, "[{$i}]name")->textInput(['maxlength' => true]) ?> 

       </div> 
      </div> 
     <?php endforeach; ?> 
     </div> 
     <?php DynamicFormWidget::end(); ?> 
    </div> 
</div> 
+0

鏈接只在StackOverflow上不受歡迎。請添加必要的部分來回答。 – arogachev