_projects_form.php 4.62 KB
<?php
    /**
     * @var Project          $project
     * @var Specialization[] $specialization
     * @var Payment[]        $payment
     * @var string[]         $projects
     */
    use common\models\Payment;
    use common\models\Project;
    use common\models\Specialization;
    use common\widgets\ImageUploader;
    use kartik\select2\Select2;
    use mihaildev\ckeditor\CKEditor;
    use yii\helpers\Html;
    use yii\web\JsExpression;
    use yii\widgets\ActiveForm;

    $this->title = 'Мой профиль';
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<h1><?= $this->title ?></h1>

<?php
    $form = ActiveForm::begin();
?>

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

<?= $form->field($project, 'link')
         ->textInput() ?>

<?= $form->field($project, 'project_pid')
         ->dropDownList($projects, [ 'prompt' => 'Родительский проект' ]) ?>

<div class="input-blocks-wrapper">
    <ul class="content-menu-first">
        <?php foreach($specializations as $specialization):?>
            <li data-img="<?= $specialization->image?>">
                <span data-menu-bg="<?= $specialization->background ?>"  style="background: <?= $specialization->background ?>"></span><a href="#"><?= $specialization->specialization_name?></a>
                <ul>
                    <?php  foreach($specialization->children as $child_first):?>

                        <?php if($child_first instanceof Specialization):?>
                            <li>
                                <a href="#"><?= $child_first->specialization_name?></a>
                                <ul>
                                    <?php foreach($child_first->children as $child_second):?>
                                        <?php if($child_first instanceof Specialization): ?>
                                            <li><a href="#"><?= Html::checkbox('Portfolio[specializationInput][]', in_array($child_second->specialization_id, ArrayHelper::getColumn($portfolio->specializations,'specialization_id')),['value' => $child_second->specialization_id, 'label' =>$child_second->specialization_name])?></a></li>
                                        <?php endif;?>
                                    <?php endforeach; ?>
                                </ul>
                            </li>
                        <?php endif; ?>
                    <?php endforeach; ?>

                </ul>
            </li>
        <?php endforeach; ?>
    </ul>
</div>

<div class="form-inline">
    Адрес:
    <?= $form->field($project, 'city')
             ->widget(Select2::classname(), [
                 'options'       => [ 'placeholder' => 'Выбор города ...' ],
                 'pluginOptions' => [
                     'allowClear'         => true,
                     'minimumInputLength' => 3,
                     'ajax'               => [
                         'url'      => \yii\helpers\Url::to([ 'site/city' ]),
                         'dataType' => 'json',
                         'data'     => new JsExpression('function(params) { return {q:params.term}; }'),
                     ],
                     'escapeMarkup'       => new JsExpression('function (markup) { return markup; }'),
                     'templateResult'     => new JsExpression('function(city) { return city.text; }'),
                     'templateSelection'  => new JsExpression('function (city) { return city.text; }'),
                 ],
             ]); ?>
    <?= $form->field($project, 'street', [ 'template' => "{label}{input}{hint}{error}" ])
             ->textInput() ?>
    <?= $form->field($project, 'house', [ 'template' => "{label}{input}{hint}{error}" ])
             ->textInput() ?>
</div>

<?= $form->field($project, 'budget')
         ->textInput() ?>

<?= $form->field($project, 'contractual')
         ->checkbox() ?>

<?= $form->field($project, 'payment_variant')
         ->radioList([
             1 => 'Без предоплаты',
             2 => 'Предоплата возможна',
         ]) ?>

<?= $form->field($project, 'paymentInput')
         ->checkboxList($payment) ?>

<?= $form->field($project, 'deadline', [ 'template' => "{label}{input} дней\n{hint}\n{error}" ])
         ->input('number') ?>

<?= $form->field($project, 'description')
         ->widget(CKEditor::className()) ?>

<?= $form->field($project, 'file')
         ->fileInput([ 'multiple' => 'multiple' ]) ?>

<?= $form->field($project, 'date_end')
         ->dropDownList([
             1 => 'Неделя',
             2 => '2 неделю',
             3 => 'Месяц',
         ]) ?>

<?= Html::submitButton('Добавить') ?>

<?php
    $form->end();
?>