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
Сергей
выведи при помощи var_dump
Йцукенг
HasMany же
Йцукенг
На выходе массив
pavel
массив есть
pavel
Йцукенг
Всё верно
Йцукенг
Массив объектов
pavel
и как вывести обьект?
Сергей
у тебя start приватный походу
Сергей
может внутри объекта есть что то типа getStart()?
Йцукенг
dates[i]->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 ипользую
pavel
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
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(), то тебе станет ясно, что это невозможно.