_portfolio_form.php 10.1 KB
<?php
    /**
     * @var Portfolio $portfolio
     * @var integer[] $specializations
     * @var string[]  $galleries
     */
    use common\components\Request;
    use common\models\Option;
    use common\models\Portfolio;
    use common\models\Specialization;
    use common\widgets\ImageUploader;
    use mihaildev\ckeditor\CKEditor;
    use yii\helpers\ArrayHelper;
    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
    use \common\widgets\MultiLangForm;
    use kartik\select2\Select2;
    use yii\web\JsExpression;

    $this->title = 'Портфолио';
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<div class="login-left-column-title"><?= $this->title ?></div>

<?php
    $form = ActiveForm::begin();
?>
<div class="input-blocks-wrapper full-blocks data-block">
    <?= !empty( $portfolio->date_add ) ? "Дата создания: $portfolio->date_add" : "" ?>

</div>
<div class="style">

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($portfolio, 'name')
                     ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($portfolio, 'link')
                     ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
        </div>
    </div>

    <div class="input-blocks-wrapper admin-menu-list">
        <div class="input-blocks" style="width: 100%; margin-bottom: 5px">
            <label>Специализации</label>
            <div class="required"></div>
        </div>

        <div class="style">
            <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="#" title="<?= $child_second->specialization_name ?>">
                                                            <?= $form->field($portfolio, "specializationInput[{$child_second->specialization_id}]", [
                                                                'template'     => '{input}{label}{hint}{error}',
                                                            ])
                                                                ->label('<span></span>' . $child_second->specialization_name)
                                                                ->checkbox([
                                                                    'value'   => $child_second->specialization_id,
                                                                    'label'   => NULL,
                                                                    'uncheck' => NULL,
                                                                    'class' => 'custom-check',
                                                                ], false) ?>
                                                        </a>
                                                    </li>
                                                <?php endif; ?>
                                            <?php endforeach; ?>
                                        </ul>
                                    </li>
                                <?php endif; ?>
                            <?php endforeach; ?>

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

        <div class="style admn-menu-err">
            <div class="help-block">Необходимо выбрать хотя бы одну «специализацию».</div>
        </div>
    </div>

    <div class="admin-specialization-selected style"><ul></ul></div>

    <div class="input-blocks-wrapper admin-avatar admin-blog-min-img admin-portfolio-foto">
        <div style="font-size: 13px;color: inherit;font-weight: 700;">Фото главное</div>
        <?= ImageUploader::widget([
            'model'   => $portfolio,
            'field'   => 'cover',
            'size' => [
                [
                    'width'   => 720,
                    'height'  => 280,
                ],
                [
                    'width'   => 318,
                    'height'  => 228,
                ],
                [
                    'width'   => 152,
                    'height'  => 108,
                ],
                [
                    'width'   => 210,
                    'height'  => 150,
                ]
            ],
            'multi'   => false,
            'gallery' => $portfolio->cover,
            'name'    => 'Загрузить фото',
        ]); ?>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks admin-project-list admin-currency-second admin-portfolio-select">
            <?= $form->field($portfolio, 'gallery_id')
                     ->hint("<p>Для создания галереи перейдите по " . Html::a('ссылке', [ 'accounts/gallery-create' ], [ 'target' => '_BLANK' ]) . "</p>")
                     ->dropDownList($galleries, [ 'prompt' => 'Выберите галерею' ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($portfolio, 'city')
                     ->widget(Select2::classname(), [
                         'options'       => [ 'class' => 'Выбор города ...' ],
                         '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; }'),
                         ],
                     ]); ?>

        </div>

        <div class="input-blocks street-input">
            <?= $form->field($portfolio, 'street', [ 'options' => [ 'class' => 'form-group company_info' ] ])
                     ->label('Улица')
                     ->textInput([ 'class' => 'custom-input-2' ]); ?>
        </div>

        <div class="input-blocks home-input">
            <?= $form->field($portfolio, 'house', [ 'options' => [ 'class' => 'form-group company_info' ] ])
                     ->label('Дом')
                     ->textInput([ 'class' => 'custom-input-2' ]); ?>
        </div>
    </div>

    <div class="input-blocks-wrapper full-blocks admin-editor-bl">
        <div class="input-blocks">
            <?= $form->field($portfolio, 'preview')
                     ->widget(CKEditor::className(), [ 'editorOptions' => [ 'preset' => 'basic' ] ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper full-blocks admin-editor-bl">
        <div class="input-blocks">
            <?= $form->field($portfolio, 'description')
                     ->widget(CKEditor::className()) ?>
        </div>
    </div>

</div>

<div class="input-blocks-wrapper">
    <div class="admin-save-btn skills-save-btn admin-add-remove-wr style">
        <?= Html::submitButton($portfolio->isNewRecord ? 'Добавить' : 'Обновить', [ 'class' => 'input-blocks-wrapper button' ]) ?>
        <div class="admin-remove-note">
            <?php
                if(!$portfolio->isNewRecord) {
                    echo Html::a('Удалить', [
                        'accounts/portfolio-delete',
                        'id' => $portfolio->portfolio_id,
                    ], [
                        'title'        => 'Удалить',
                        'aria-label'   => 'Удалить',
                        'data-confirm' => 'Вы уверены, что хотите удалить этот элемент?',
                        'data-method'  => 'post',
                        'data-pjax'    => 0,
                    ]);
                }
            ?>
        </div>

        <div class="admin-back-note">
            <?= Html::a('вернуться', Request::getIsLocal(\Yii::$app->request->referrer)?\Yii::$app->request->referrer:['accounts/portfolio' ]) ?>
        </div>
    </div>
</div>
<?php
    $form->end();
?>
<script>
    $(document).ready(
        function()
        {
            bottomButton()
            function bottomButton(){
                if( ($('.admin-portfolio-foto .admin-avatar-pattern img').length)>0 ) {

                } else {
                    $('.admin-portfolio-foto .tst').css({marginBottom:0})
                }
            }
            $('body').on('click', '.admin-portfolio-foto #cover_remove_img',function(){
                bottomButton()
            })
        }
    )
</script>