Alexander
Подскажите пожалуйста, мне на проекте Yii2 нужно изобрести мультиязычность, каким способом это сделать лучше всего?
Serik
messages
Serik
и определение языка по url
Alexander
Спасибо 👍
Serik
http://www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html
SiZE
Alexander
В доке ведь есть)
Экономлю время, доки читаю по мере необходимости. А в какую сторону копать - лучше спросить авторитетное мнение знающих людей.
Kirill
Чужое время то не жалко :)
Alexander
Чужое время то не жалко :)
Не совсем так, иногда просто в двух словах ответить на вопрос ничего не стоит, но это принесёт много пользы задающему вопрос. Я вот тоже, всегда если есть время и знаю ответ на вопрос, всегда помогаю и иногда кодик пишу как пример. Так многие делают, это нормально.
Kirill
В одно время посмотрел отличное видео. Теперь стараюсь по минимуму искать ответы в инете, а пытаюсь доходить сам :) https://youtu.be/h10qZGq36DE
Roman
Лёша
Если в своих проектах вы используете денормализацию данных, тогда эта для вас 🤓
https://github.com/lav45/yii2-behaviors/blob/master/docs/PushBehavior.md
who are you
Niko
Павел
18 ещё нет?
Niko
Нет
Alexander
маму попроси
Niko
Я сказал нет, в смысле есть
Дмитрий
Дмитрий
Либо покупать лицензию
Дмитрий
Дмитрий
http://imsxm.com
Niko
Спасибо. Почитаю
Андрей
Иногда вылазит такая ошибка:
yii\base\ErrorException: Memcached::setMulti(): failed to set key 3e72f1612efcce273a52c7a1c9d826b3 in /var/www/****/vendor/yiisoft/yii2/caching/MemCache.php:319
Процесс memcached в htop висит вверху, раньше такого не было.
Андрей
Нагрузка на сайт выросла, начались такие проблемы.
PowerAxis
Павел
Это нечеткая логика. Вполне математично
PowerAxis
PowerAxis
Я по тому примеру делал
PowerAxis
Кажется, эта
PowerAxis
https://m.habrahabr.ru/post/226931/
Alexander
PowerAxis
Только я так и не понял как сделать чтоб по адресу site.com/ru открывался site.com а то дубли получаются
Лёша
Лёша
https://yii2-translated-behavior.lav45.com
Serik
PowerAxis
Наоборот
Павел
Настройками сервера
PowerAxis
Ну вот только так
who are you
чот туплю уже, напомните как избавиться от слеша в конце а то там дефолтный пейдж отображаеца
news/default/index
who are you
'rules' => [
'<alias>' => 'site/<alias>',
'news' => 'news/news/default',
'news/<id:\d+>' => 'news/news/read',
],
who are you
нагуглилось непонятно чо но пашет ))
// обрезание обратного слэша в конце адресной строки
'on beforeRequest' => function () {
$pathInfo = Yii::$app->request->pathInfo;
if (!empty($pathInfo) && substr($pathInfo, -1) === '/') {
Yii::$app->response->redirect('/' . substr(rtrim($pathInfo), 0, -1), 301)->send();
}
},
(;¬_¬)
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'normalizer' => [
'class' => 'yii\web\UrlNormalizer',
],
(;¬_¬)
то что в normalizer забито
(;¬_¬)
поможет тебе
(;¬_¬)
а ты костыли какие-то нагуглил
who are you
спасибо
who are you
мне нужно сделать типа настроек сайта и выводить на странице, например в футере название сайта
<?=\app\manager\models\Settings::findOne(1)->value?>
но если еще где то название таким образом выводить это опять будет запрос в бд, косячно ка кто выходит. как реализовать таблицу с настройками ? чтобы чел не в файлах херачил названия а в админке мог поменять и без лишних запросов 🤔 и чтобы не заморачиваца мне это все реализовывать
Ceyhun
Как сделать добавление двух связных моделей (таблиц) в одной форме?
(;¬_¬)
(;¬_¬)
напиши компонент и кешируй
(;¬_¬)
так же таблица но только если в кеше нет, то бери из таблицы и клади в кеш. а если в кеше есть бери из кеша
(;¬_¬)
да нормальный там кеш
Ceyhun
(;¬_¬)
по дефолту файловый, можешь практическивсё что хочешь прикрутить если надо
who are you
(;¬_¬)
почитай в манах про cache config
(;¬_¬)
там не сложно
who are you
Да. Но мне интересно как сделать связанные модели? Т.е. id из $model добавляется в $model_advanced->nav_id
public function actionCreate()
{
$model = new Pages();
$model_advanced = new PagesAdvanced();
$additionalFields = new AdditionalFields();
if ($model->load(Yii::$app->request->post()) AND $model_advanced->load(Yii::$app->request->post())) {
$model->_create = $model->_update = Yii::$app->formatter->asDatetime('now', 'php:Y-m-d H:i:s');
if ($model->save()){
$model_advanced->link('mainPage', $model);
return $this->redirect(['update', 'id' => $model->id]);
}
}
return $this->render('create', [
'model' => $model,
'model_advanced' => $model_advanced,
'fields' => $additionalFields,
]);
}
(;¬_¬)
три строчки в конфиге, а потом
$cache = \Yii::$app->cache;
if(!$cache->get('somekey')){
$cache->set('somekey',$somevalue);
}
Ceyhun
Anonymous
Всем привет! Вопрос, когда данные из БД получаю приходит объект и в нём 2 абсолютно одинаковых массива с данными из БД:
["_attributes":"yii\db\BaseActiveRecord":private]=> array(3) {...}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(3) {...}
Зачем 2 копии одного и того же?
Alexey
Чтоб искать какие атрибуты изменились
Anonymous
Изменились где? В процессе обработки данных из БД?
(;¬_¬)
(;¬_¬)
если ты передумаешь сохранять или захочешь откатить у тебя должны быть изначальные данные
(;¬_¬)
логично?
Anonymous
Да, понятно, спасибо, просто память жрёт если заброс большой. Отключить эту опцию дублирования данных нельзя?
Kirill
Можно не использовать AR тогда
Anonymous
Ага, использовать Yii::$app->db->createCommand() понял, спасибо!
Anonymous
Надо опцию ->asArray() в выборку AR добавить тогда будет объект а не массив
(;¬_¬)