Ilya 🃏
Спасибо, Анатолий, видимо других решений нет
Ilya 🃏
И в backend'е ссылаться на линк из фронтенда
Antony
Подскажите, как правильно использовать yii\helpers\Inflector slug() и transliterate() Inflector::slug('Test Тест') = test Inflector::transliterate('Test Тест') = Test Тест Как добиться транслитерации? UPD: нужно было intl extension включить в php.
pavel
почему может не работать вывод из связной таблице $model->date->start
pavel
$models = Course::find()->all();
pavel
pavel
Toly
$model->dates->start
pavel
так тоже пробывал, другая ошибка
pavel
pavel
$model->getDates()->start
pavel
тоже не робит
Toly
Правильно $model->dates->start. Просто в dates нет ничего, поэтому ошибка. Нужно проверить наличие объекта в $model->dates
pavel
$model->dates
Сергей
выведи при помощи var_dump
Йцукенг
HasMany же
Йцукенг
На выходе массив
pavel
массив есть
pavel
Йцукенг
Всё верно
Йцукенг
Массив объектов
pavel
и как вывести обьект?
Сергей
у тебя start приватный походу
Сергей
может внутри объекта есть что то типа getStart()?
Йцукенг
dates[i]->start
Toly
у тебя start приватный походу
Это обычный атрибут, не приватный
Toly
и как вывести обьект?
Ну, технически, ты уже его вывел. Если тебе нужно поле start всех объектов из dates: foreach($model->dates as $date) { echo $date->start }
Кирилл
страх какой, отвык уже без xdebug на var_dump смотреть)
Кирилл
и как вывести обьект?
дык у тебя он не один, объект то. А массив целый. Массив перебирай, да твори с каждым объектом по отдельности чего тебе нужно. Правильно тебе Anatoly написал всё;)
pavel
ща будем пробовать
pavel
спасибо Анатолий всё работает
Anonymous
Привет всем
Anonymous
Ребята нужна помощь.
Anonymous
Делаю связанные списки
Anonymous
Через ajax
Anonymous
URL указал и действие написал.
Shizoid
И в backend'е ссылкаться на линк из фронтенда.
Anonymous
Но он выдаёт пустую страницу
Anonymous
Yii::app=>Degree->getListItems
Anonymous
Правильно так обращаться с контроллера ?
Anonymous
На прямую без app выдаёт ошибку что нет такой таблицы описанной в модели
🛸
Такой не нравится ? https://github.com/kartik-v/dependent-dropdown
🛸
Вроде там связные есть
Anonymous
По юзаю
Anonymous
Посмотрю
Antony
как заставить yii2 валидировать поля типа input name="array[]"? Если использовать each-валидатор, то в случае ошибки в одном поле валидация возвращает ошибку для всех полей. Интересует возможность сделать это штатными средствами, без модулей сторонних.
Йцукенг
Кастомным валидатором
Йцукенг
rule - ['fieldName', 'validateFoo'] ... public function validateFoo($attr, $params) {...}
Antony
Спасибо)
Antony
А прдробнее где почитать про кастомные валидаторы?
Виталий
http://www.yiiframework.com/doc-2.0/yii-validators-validator.html#validate()-detail
Александр
кто собирал php из исходников или модули для него?
Александр
на Nic ru (чтоб им пусто было) нужно обновить openssl, для этого либо библиотеку собрать и подключить, либо целиком php собрать (
Виталий
Сам попытался скомпилировать? Какая ошибка?
Александр
нет еще, все маны искал и читал, сейчас пробую скомпилировать саму библиотеку.
Виталий
Есть смысл оставаться с текущим хостером?
Александр
это не мой выбор
Toly
Ну я собирал, в чем проблема? Там все крайне просто
Александр
просто, когда опыт есть...
Toly
ОС какая?
Александр
centos
Александр
просто, мля... phpize требует config.m4, но у сырцов есть только config (без расширения). подходит ли этот конфиг, если переименовать его?
🛸
А какой лучше хостинг под yii2. Тоже на nic сидим
🛸
Свой сервер лучше, но если из хостеров выбирать ?
Antony
Как добавить js-файл после инициализации activeForm? <?php $this->registerJsFile('/js/add.js', [ 'depends' => [\yii\web\JqueryAsset::className(), yii\widgets\ActiveFormAsset::className()], 'position' => $this::POS_END ]); ?> В таком случае добавляется после JS-файлов от ActiveForm, но раньше, чем yii\web\view::POS_READY
Pavel
Андрей Вадимович, [14.10.16 12:17] А какой лучше хостинг под yii2. Тоже на nic сидим Андрей Вадимович, [14.10.16 12:17] Свой сервер лучше, но если из хостеров выбирать ? я beget ипользую
Antony
Свой сервер лучше, но если из хостеров выбирать ?
У нас тут - http://ru.hetzner.com/ и http://netbreeze.net/
Antony
По вопросу с JS после инициализации activeForm ответит кто? Я пока вижу только костыль с <?php $this->registerJS("$.getScript('/path/to.js');", $this::POS_LOAD) ?>
SiZE
Ты порядок хочешь загрузки JS изменить?
Antony
Ты порядок хочешь загрузки JS изменить?
Есть вьюшка с формой, мне нужно во вьюшке добавить JS-файл, после блока с js-инициализацией activeForm. <script type="text/javascript">jQuery(document).ready(function () { jQuery('#formID').yiiActiveForm([ ... ]); </script> Он автоматом добавляется в POS_READY. Если в registerJSFile добавлять зависимость от yii\widgets\ActiveFormAsset::className(), то он просто подключится после загрузки файлов от yiiActiveForm, но не после инициализации. Ну и в самом yii.activeForm.js нет коллбека после инициализации.
Toly
Унаследовать activeform может в таком случае? Зарегать скрипт явно после регистрации кода AF
SiZE
setInterval(function(){ if (typeof $.fn.yiiActiveForm !== 'undefined') { /* yes! drop interval */ } else { /* no wait :( */ }; }, 100);
SiZE
а если типа такого?
Toly
Antony
setInterval(function(){ if (typeof $.fn.yiiActiveForm !== 'undefined') { /* yes! drop interval */ } else { /* no wait :( */ }; }, 100);
Ну по сути вариант аналогичен с регистрацией скрипта в POS_READY. $.getScript('/path/to.js');
Antony
Если наследоваться от ActiveForm, то он регистрирует JS тем же registerJS, при этом если в run() указать явно POS_END вместо POS_READY по умолчанию: $view->registerJs("/*test*/jQuery('#$id').yiiActiveForm($attributes, $options);", $view::POS_END); то <?php $this->registerJsFile('/js/broker.add.js', [ 'depends' => [\yii\web\JqueryAsset::className(), yii\widgets\ActiveFormAsset::className()], 'position' => $this::POS_END ]); ?> после указания ActiveForm::end() не даст нужного результата, т.к. в любом случае registerJS-скрипт будет ниже чем $this->registerJSFile
Toly
Так тебе нужно зарегистрировать файл после встраимого кода?
Antony
Да, именно это я и спрашивал.
Toly
Если взглянуть в \yii\web\View::renderBodyEndHtml(), то тебе станет ясно, что это невозможно.