These are chat archives for yiisoft/yii2/rus

27th
Sep 2017
Yaroslav
@dyar74
Sep 27 2017 05:35
бобра всем
KarmaBot
@KarmaBot
Sep 27 2017 05:35
@dyar74, привет =)
Stas
@ASYOU99
Sep 27 2017 06:36
всем здрасте
KarmaBot
@KarmaBot
Sep 27 2017 06:36
@ASYOU99 даров!
Stas
@ASYOU99
Sep 27 2017 06:36
Подскажите как правильно написать правило валидации с паттерном у меня или паттрен несрабатывает и проходит не то что нужно или непроходит и тупо пишетданные не сохранены без моего сообщения
["value", "match", "pattern" => "/[^.0-9]/", "message" => "Invalid number."],
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 06:45
@ASYOU99 цифры ищешь?
Stas
@ASYOU99
Sep 27 2017 06:45
цифры и одна точка
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 06:48
а не /^.\d+$/
?
/^[0-9]$/ - строка состоящая из [одного] символа входящего в диапазон 0-9
/^\d+$/ - строка состоящая из [одного или более] символа входящего в диапазон 0-9(\d)
Stas
@ASYOU99
Sep 27 2017 06:50
хз щас буду тестить там трабла не только в этом а и в том что мое соообщение невыводится если паттерн непроходит
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 06:53
а валуе точно валуе?
вэлью?
Stas
@ASYOU99
Sep 27 2017 06:54
в смысле?
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 06:54
может не вэлью надо валидировать?
Stas
@ASYOU99
Sep 27 2017 06:54
не как раз его
проверил и по базе
и в коде
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 06:54
хм..
сигнатура вроде верная..
@ASYOU99 а может через анонимную функцию попробовать?
Stas
@ASYOU99
Sep 27 2017 06:58
хз щас буду дебажить и смотреть откуда ноги растут сенкс и на этом
@OligarchCat_twitter спс
кармабот спит наверное пидалил всю ночь
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 07:18
@ASYOU99 :)))
Punka
@Punka
Sep 27 2017 07:23

приветствую коллеги

KarmaBot
@KarmaBot
Sep 27 2017 07:23
@Punka, привет =)
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 07:24
@Punka и тебя привет
чот припозднился седн ты :)
Nuzsk
@Nuzsk
Sep 27 2017 07:47
ПРИВЕТСТВУЮ ПРИВЕТСТВУЮ
KarmaBot
@KarmaBot
Sep 27 2017 07:47
Прувет, @Nuzsk!
des1roer
@des1roer
Sep 27 2017 08:45
хей
а как красивее сделать проверку если не а то б, если не б то с
на замену
    if (!empty($ids = Yii::$app->cache->get('reco' . $uid))) {

    } elseif (!empty($ids = Yii::$app->cache->get('reco' . Yii::$app->user->id))) {

    } else {
        $ids = Yii::$app->cache->get('recoPopular');
    }
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 08:51
@des1roer ($a ? ($b ? $b : $c) : $c)
чот такое мож? :)
Nuzsk
@Nuzsk
Sep 27 2017 08:52
ну во первых кеш один раз получить до
des1roer
@des1roer
Sep 27 2017 08:54
@OligarchCat_twitter не очень
Nuzsk
@Nuzsk
Sep 27 2017 08:54
во вторых с user id какая-то странная логика
des1roer
@des1roer
Sep 27 2017 08:55
да нет логика нормальная
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 08:55
@des1roer ?
Nuzsk
@Nuzsk
Sep 27 2017 08:55
двойной тернарник это некрасиво
за это и получить от тимлида можно )
есть способ с мультигетом из кеша и получением первого непустого значения из массива
но это такое себе с точки зрения быстродействия
des1roer
@des1roer
Sep 27 2017 09:09
да все три действия должны быть выполнены последовательно
Nuzsk
@Nuzsk
Sep 27 2017 09:10
@des1roer есть один гарантированно красивый метод
просто пишешь новый метод для кеша, который в цикле перебирает массив полученных ключей и отдает зачение по первому ключу, для которого это значение найдено в кеше
$ids = $Yii::$app->cache->firstNoemptyGet([
  "reco{$uid}",
  "reco{Yii::$app->user->id}",
  "recoPopular"
]);
Dmitry Eliseev
@ElisDN
Sep 27 2017 09:14
$ids = $cache->get('reco' . $uid) ?: ($cache->get('reco' . Yii::$app->user->id) ?: $cache->get('recoPopular'));
des1roer
@des1roer
Sep 27 2017 09:16
@ElisDN зачет
Nuzsk
@Nuzsk
Sep 27 2017 09:16
не сработает, так как в кеше может болтаться пустой массив
Stanislav Gamayunov
@happyproff
Sep 27 2017 09:18
"reco{Yii::$app->user->id}" интерполяция так не сработает
@des1roer
$ids  = null;
$keys = ['reco' . $uid, 'reco' . Yii::$app->user->id, 'recoPopular'];
foreach ($keys as $key) {
    $ids = Yii::$app->cache->get($key);
    if ($ids !== false) {
        break;
    }
}
Nuzsk
@Nuzsk
Sep 27 2017 09:19
вероятно, я на js пишу, отвык немного от пыха
Alek2012
@Alek2012
Sep 27 2017 09:20
всем привет
KarmaBot
@KarmaBot
Sep 27 2017 09:20
Прувет, @Alek2012!
Dmitry Eliseev
@ElisDN
Sep 27 2017 09:20
@Nuzsk Да, но в исходном варианте !empty($ids) тоже массив пропустит.
Alek2012
@Alek2012
Sep 27 2017 09:21
а почему 'confirm' => 'Вы уверены, что хотите удалить этот файл?', может отображаться 2 раза?
Nuzsk
@Nuzsk
Sep 27 2017 09:21
@ElisDN а разве элвис оператор в пыхе пропускает пустые массивы?
в оригинальном коде мы получаем id только если массив по ключу не пуст
Alek2012
@Alek2012
Sep 27 2017 09:21
версия 2.0.10
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 09:21
qoo all
Stanislav Gamayunov
@happyproff
Sep 27 2017 09:22
@Nuzsk метод firstNotEmptyGet прям аналог coalesce из SQL. Но у вас название понятнее)
Dmitry Eliseev
@ElisDN
Sep 27 2017 09:23
@Nuzsk Оператор ?: пропускает как empty(), а ?? - не пропускает как isset().
Nuzsk
@Nuzsk
Sep 27 2017 09:26

@Nuzsk Оператор ?: пропускает как empty(), а ?? - не пропускает как isset().

@ElisDN не знал, спасибо )

KarmaBot
@KarmaBot
Sep 27 2017 09:26
Так не честно, @Nuzsk. Нельзя добавлять карму самому себе.
Спасибо (+1) для @ElisDN принято! Текущая карма +18.
des1roer
@des1roer
Sep 27 2017 09:30
@ElisDN спс
KarmaBot
@KarmaBot
Sep 27 2017 09:30
Спасибо (+1) для @ElisDN принято! Текущая карма +19.
Dmitry Eliseev
@ElisDN
Sep 27 2017 09:34
В общем, $a ?: $b - это сокращение от$a ? $a : $b. Работает с приведением как обычный if ($a). А новый $a ?? $b - это уже сокращение от isset($a) ? $a : $b.
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 09:59
@ElisDN это если немного кода. а что делать если кода МНОГО в ифах? что-то есть от дублирования кода?
des1roer
@des1roer
Sep 27 2017 11:09
а можно в findModel передавать тесковый ид?
Denis
@head26
Sep 27 2017 11:09
Всем привет
KarmaBot
@KarmaBot
Sep 27 2017 11:09
Привет, @head26! Проходи, присаживайся. В ногах правды нет :)
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:12
А как можно для <?= Html::input('text', 'email', сделать валидацию по email и require?
des1roer
@des1roer
Sep 27 2017 11:19
хей а findmodel может принимать параметр текст
Misha
@sallfris
Sep 27 2017 11:24
@OligarchCat_twitter через форму делать. Либо вручную через js вешать проверку
Дмитрий Елисеев тут был - один из авторов этой книги
@sallfris пошел через форму делать уже :( спасибо!
KarmaBot
@KarmaBot
Sep 27 2017 11:26
Спасибо (+1) для @sallfris принято! Текущая карма +25.
Denis
@head26
Sep 27 2017 11:31
ребят, как лучше всего кастомизировать бутстрап в yii2 ? добавить бутстрап theme в ассеты или по другому делается?
Xannn94
@Xannn94
Sep 27 2017 11:33
всем привет.
Есть таблица pages, в ней есть поле url.
я хочу сделать динамический роутинг такого фомата: домен/{ url }
как мне это сделать подскажите?
в laravel мог через сервис провайдер весь роутинг настроить динамический после подгрузки всех конфигов и т.д
KarmaBot
@KarmaBot
Sep 27 2017 11:33
Hello, @Xannn94!
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:37
@head26 добавь в ассет стиль просто свой и все. он последний подгрузится
@head26
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/custom0037.css',
        'css/widgets.css',
        // 'css/site.css',
    ];
    public $js = [       
        'js/bootstrap.js',
        // 'js/jquery-ui/jquery-ui.min.js',
        // 'js/jquery.fileupload.js',
        // 'js/clipboard.min.js',
        'js/custom0037.js',
        // 'js/owl.carousel.min.js',

    ];
Denis
@head26
Sep 27 2017 11:38
хорошо, понял
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:39
если стили кэшируешь - то меняй названия файла и тут тоже :)
по уму по другому надо сделать, но мы так живем :)
Denis
@head26
Sep 27 2017 11:39
блин, с этой версткой придется мудиться)) там же еще сам бутстрап на сайте можно кастомизировать... но пожалуй не буду пока с этим разбираться ахаха
понял
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:40
@head26 лучше стандартный бустрап отдельно - а весь кастомайз - в отдельный файл
Denis
@head26
Sep 27 2017 11:41
@OligarchCat_twitter ок, а почему можешь сказать? я просто в верстке профан
Xannn94
@Xannn94
Sep 27 2017 11:41
@head26 так проще разбираться
Denis
@head26
Sep 27 2017 11:42
@Xannn94 @OligarchCat_twitter спасибо
KarmaBot
@KarmaBot
Sep 27 2017 11:42
Спасибо (+1) для @Xannn94 принято! Текущая карма +1.
Спасибо (+1) для @OligarchCat_twitter принято! Текущая карма +11.
Xannn94
@Xannn94
Sep 27 2017 11:42
ребят с моей проблемой кто-нибудь сталкивался или нет?
Denis
@head26
Sep 27 2017 11:43
@Xannn94 тебе надо настроить правила для урлов
Xannn94
@Xannn94
Sep 27 2017 11:43
@head26 ну это понятно)
Denis
@head26
Sep 27 2017 11:44
а)
ща
сформулирую
Xannn94
@Xannn94
Sep 27 2017 11:44
@head26 но тут случай не стандартный
мне надо с базы вытащить все url сначало, а потом пихать их в роутинг
в index.php это делать ну вообще не вариант делать это, а вот дальше в приложении где можно получить роутинг и модицифировать его я не пойму
Denis
@head26
Sep 27 2017 11:46
'pages/<url:[регулярка]+>' => 'pages/...',
Url::to(['pages', 'url' => $model->url]);
но тебе надо что бы без pages было
получается
Xannn94
@Xannn94
Sep 27 2017 11:47
верно
@head26 в этом и проблема
так как у меня там ещё и не просто страницы а какие то конкретные вещи в таком же фомате(с базы данных всё)
на мой взгляд извращение конечно, но требование такое у заказчика =(
Denis
@head26
Sep 27 2017 11:49
хм, не пробовал такое делать
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:52
@Xannn94 может что-то вроде: '/<id:\w+>' => '/view', a там разобрать урл и в зависимости от этого кинуться куда-то?
Xannn94
@Xannn94
Sep 27 2017 11:53
@OligarchCat_twitter не вариант, тормозить будет из за переборов
@OligarchCat_twitter но спасибо
KarmaBot
@KarmaBot
Sep 27 2017 11:54
Спасибо (+1) для @OligarchCat_twitter принято! Текущая карма +12.
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 11:56
@Xannn94 чем смог..
Misha
@sallfris
Sep 27 2017 12:29
@Xannn94 почему тормозить то будет? Кешируй запрос к таблице роутинга. Все Cms на таком способе построенны
Andrey Kushnarev
@andku83
Sep 27 2017 12:30
@Xannn94
https://gist.github.com/andku83/36ebbfecd6f203b9dda9b233b58fd57f
    'class' => 'codemix\localeurls\UrlManager',
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
         …
        ['class' => 'frontend\components\SearchUrlRule'],
     ]
KarmaBot
@KarmaBot
Sep 27 2017 12:30
@andku83, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
des1roer
@des1roer
Sep 27 2017 12:40
хей
а как в апи в индексе смотреть гет параметры?
Alek2012
@Alek2012
Sep 27 2017 12:51
Как можно в версии 2.0.10 настроить 'confirm' чтобы не запрашивал 2 раза ?
обновиться к сожалению пока нельзя
в новых версиях норм работает
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 12:57
@KarmaBot @KarmaBot @KarmaBot @KarmaBot @KarmaBot
@des1roer Yii::$app->request->isGet вроде
@des1roer не, ошибся. вот так: Yii::$app->request->get('ogrn')
isGet - это проверка того, что гетом пришел
des1roer
@des1roer
Sep 27 2017 13:19
а вот prepareDataProvider всегда отрабатывает в апи индекс?
если die в него включаю, то типа заходит. а вот выборке что то неладное творится
des1roer
@des1roer
Sep 27 2017 13:38
хей
Denis
@head26
Sep 27 2017 13:48
что-то не допру как переопределить стили .navbar-brand
высота там идиотская =\
des1roer
@des1roer
Sep 27 2017 13:52
почему может prepareDataProvider не отрабатывать?
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:01
@des1roer а чо не отрабатывает?
@des1roer типа такого делаешь?
public function actions()
    {
        return [
            'index' => [
                'class' => IndexAction::className(),
                'modelClass' => $this->modelClass,
                'checkAccess' => [$this, 'checkAccess'],
                'prepareDataProvider' => function ($action) {
                    $model = new Product();
                    $model->load(\Yii::$app->request->queryParams)
                    return $model->search();
                }
            ],
        ];
    }
model->search должен возвращать ActiveDataProvider на основе переданных параметров из запроса.
Denis
@head26
Sep 27 2017 14:04
@OligarchCat_twitter ты не знаешь как нормально navbar brand переопределять стили? там у него ведь свои.. размер текста и т.д. прям каждый что ли переопределять на свой?
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:04
@head26 а ты создал свой css&
?
Denis
@head26
Sep 27 2017 14:05
@OligarchCat_twitter да свой файлик создал, там сейчас сижу ковыряю, как на макете патюсь делать)
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:05
кусок верстки есть
?
Denis
@head26
Sep 27 2017 14:05
@OligarchCat_twitter NavBar::begin([
'brandLabel' => Html::img('@web/images/sova-logo.png', ['alt'=>Yii::$app->settings->get('site.name')]), //Yii::$app->name,
'brandUrl' => Yii::$app->homeUrl,
'brandOptions' => [
'id' => 'logo',
],
'options' => [
'id' => 'top',
'class' => 'navbar-fixed-top',
],
]);
NavBar::begin([
    'brandLabel' => Html::img('@web/images/sova-logo.png', ['alt'=>Yii::$app->settings->get('site.name')]), //Yii::$app->name,
    'brandUrl' => Yii::$app->homeUrl,
    'brandOptions' => [
        'id' => 'logo',
    ],
    'options' => [
        'id' => 'top',
        'class' => 'navbar-fixed-top',
    ],
]);
ахах
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:06
так. а чо над поменять?
Denis
@head26
Sep 27 2017 14:06
.navbar-brand {
float: left;
height: 50px;
padding: 15px 15px;
font-size: 18px;
line-height: 20px;
}
мне не нужен размер этот, отступы, да и размер текста..
каждое свойство переопределять что ли?
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:07
перепиши те, что те над поменять токма
Denis
@head26
Sep 27 2017 14:07
а остальные он ведь тянет от себя
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:07
.navbar-brand {
float: left;
height: 25px;
padding: 0 15px;
font-size: 24px;
}
да, будет брать из правил выше
а бутстраповские выше будут
Denis
@head26
Sep 27 2017 14:08
ну в общем все переписать надо )
значит правильно делаю -_-
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:08
такая работа у фронта :)))
Denis
@head26
Sep 27 2017 14:08
эх
заказать что ли верстку
так фигово еще сделают...
Кот Олигарха
@OligarchCat_twitter
Sep 27 2017 14:09
закажи, дешевле в конечно итоге будет
поехал до дому
eight-buddha
@eight-buddha
Sep 27 2017 14:13
всем привет
KarmaBot
@KarmaBot
Sep 27 2017 14:13
Будь как дома, @eight-buddha, я ни в чем не откажу. Много мануалов, коль желаешь, покажу :)
eight-buddha
@eight-buddha
Sep 27 2017 14:14
есть ли возможность из коробки импортировать переводы в БД
или может кто подскажет экстеншен для перевдов ?
переводы хранились в файле, но сильно часто надо править и хочу перенести в БД
eight-buddha
@eight-buddha
Sep 27 2017 14:16
умеет делать первичный импорт или надо будет самому загнать переводы ?
Denis
@head26
Sep 27 2017 14:18
может про сканировать файлы твои и заполнить базу, а сам перевод не знаю может ли добавить, вроде нет. почитай там.
eight-buddha
@eight-buddha
Sep 27 2017 14:19
спасибо!
KarmaBot
@KarmaBot
Sep 27 2017 14:19
@eight-buddha, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.