multilingual-behavior: не выводить текст если нет перевода

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Sarkhan
Сообщения: 4
Зарегистрирован: 2012.03.23, 00:19

multilingual-behavior: не выводить текст если нет перевода

Сообщение Sarkhan »

Добрый день. Я использую multilingual-behavior на сайте. Переводы хранятся в другой таблице. Ситуация такая. Когда я добавляю новость, но не добавляю перевод, в таблице перевода поялвяется пустая запись с ID оригинальной новости. И теперь на сайте если у новости нет перевода, то она отображается на языке оригинала. Как сделать так, чтобы если у новости нет перевода, она вообще не отображалась на другом языке. То есть если текст только на русском, то он должен появляется только в русской версии сайта. На английской версии, должна быть новость, у которой есть перевод.

Заранее благодарю!
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: multilingual-behavior: не выводить текст если нет перево

Сообщение lancecoder »

там есть келбек, чтото типа миссингТранслейт, вот он пусть возвращает нулл
Аватара пользователя
MetalGuardian
Сообщения: 208
Зарегистрирован: 2011.03.06, 02:42
Откуда: Киев

Re: multilingual-behavior: не выводить текст если нет перево

Сообщение MetalGuardian »

lancecoder писал(а):там есть келбек, чтото типа миссингТранслейт, вот он пусть возвращает нулл
это не то что нужно. это для обычных message

сделать это для multilingual-behavior малой кровью не получится. нужно дописывать проверку на заполненность поля или переделывать алгоритм сохранения контента.
Sarkhan
Сообщения: 4
Зарегистрирован: 2012.03.23, 00:19

Re: multilingual-behavior: не выводить текст если нет перево

Сообщение Sarkhan »

сделать это для multilingual-behavior малой кровью не получится. нужно дописывать проверку на заполненность поля или переделывать алгоритм сохранения контента.
Было бы хорошо, конечно, проверять на заполненость контента. Но как это реализовать с помощью CActiveDataProvider?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: multilingual-behavior: не выводить текст если нет перево

Сообщение ElisDN »

Sarkhan писал(а):Но как это реализовать с помощью CActiveDataProvider?
CActiveDataProvider вызывает тот же Model::model()->findAll($criteria). Так что, наверное, можно либо переопределить метод findAll модели, либо добавить в модель defaultScope, где в критерию добавить кондишн типа «PostLang.text<>'' AND PostLang.lang=:lang».
Ответить