Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (23)

Лучшие ответы пользователя

Все ответы (17)
  • Yii2: Как сделать кастомные фильтры для ListView/GridView?

    @Zohei
    use yii\widgets\Pjax;
    use yii\widgets\PjaxAsset;
    PjaxAsset::register($this);
    
    $this->registerJs(<<<JS
    $(document).on('change', '#provider', function(e) {
        $.pjax({
            timeout: 4000,
            url: $('#filter-form').attr('action'),
            container: '#list-view',
            fragment: '#list-view',
            data: {provider: this.options[this.selectedIndex].value},
       });
    });
    JS
    , yii\web\View::POS_END);
    
    <?=Html::beginForm(Url::current(), 'GET', ['id'=>'filter-form']);?>
         <?=Html::activeDropDownList($model, 'provider', Provider::items(), ['id'=>'provider']); ?>
    <?=Html::endForm(); ?>
    
    <?php \yii\widgets\Pjax::begin(); ?>
    <?= \yii\widgets\ListView::widget([.....]) ?>
    <?php \yii\widgets\Pjax::end(); ?>
    Ответ написан
    3 комментария
  • Как сделать свою офлайн карту с привязкой географических координат?

    @Zohei Автор вопроса
    Откоментирую сам себе, попалась интересная софтина от яндекса:
    https://tech.yandex.ru/maps/doc/jsapi/1.x/dg/conce...
    Заявлено, что позволяет нарезать тайтлы с привязкой координат.
    Должно быть то что надо, буду пробовать
    Ответ написан
    1 комментарий
  • Yii2 как добраться до bakend с помощью nginx?

    @Zohei
    Уперся в туже стену! Получилось в итоге решить проблему? =)
    .....Спустя час.... Проблема решилась безумно просто и не через нжинкс... достаточно было отключить кеширование веб страниц в фаербаге и не ломать голову конфигами...
    Вот минимальная рабочая конфигурация:
    server {
        listen       80;
        server_name  example.ru;
        root         /home/example/data/www/example.ru;
        index        index.html index.php;
        charset      utf-8;
    
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location /admin {
             try_files $uri $uri/ /admin.php?$args;
        }
    
        location ~ \.php$ {
            root   /home/example/data/www/example.ru;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/example/data/www/example.ru$fastcgi_script_name;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include        fastcgi_params;
            fastcgi_param  PATH_INFO $fastcgi_path_info;
        }
    }


    Осталось добавить редиректы с www и слэшей на конце и радоваться.
    Ответ написан
    1 комментарий
  • Почему в Yii2 нельзя использовать CamelCase в названии action?

    @Zohei
    Это было сделано ради сео.
    Однако, самому пришлось напрячься при переносе проекта с yii1 на yii2.
    Нагуглить решения не вышло, поэтому выкладываю свой быстрый костыль.
    Я просто в нужном мне контроллере переопределил метод createAction добавив в регулярку верхний регистр:
    public function createAction($id)
        {
            if ($id === '') {
                $id = $this->defaultAction;
            }
            $actionMap = $this->actions();
            if (isset($actionMap[$id])) {
                return Yii::createObject($actionMap[$id], [$id, $this]);
            } elseif (preg_match('/^[a-zA-Z0-9\\-_]+$/', $id) && strpos($id, '--') === false && trim($id, '-') === $id) {
                $methodName = 'action' . str_replace(' ', '', ucwords(implode(' ', explode('-', $id))));
                if (method_exists($this, $methodName)) {
                    $method = new \ReflectionMethod($this, $methodName);
                    if ($method->isPublic() && $method->getName() === $methodName) {
                        return new \yii\base\InlineAction($id, $this, $methodName);
                    }
                }
            }
            return null;
        }

    Оригинальный метод по ссылке https://github.com/yiisoft/yii2/blob/master/framew...

    Благо у меня CamelCase был в некритичных для сео местах типа апи или личный кабинет, поэтому на возможные проблемы с сео пофиг.
    Ответ написан
    Комментировать
  • Yii2 PJax почему страница все равно перезагружается?

    @Zohei
    нужно указать 'format'=>'raw',
    www.yiiframework.com/doc-2.0/yii-grid-datacolumn.h...
    [
                'class'=>'yii\grid\DataColumn',
                'attribute'=>'name',
                'format'=>'raw',
                'value'=>function ($model, $key, $index, $column) {
                    return a($model->name, ['update','id'=>$model->name], ['data-pjax'=>0]);
                },
                'contentOptions'=>[
                    'class'=>'edit-link',
                ],
            ],
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (21)