Добрый день. Я использую multilingual-behavior на сайте. Переводы хранятся в другой таблице. Ситуация такая. Когда я добавляю новость, но не добавляю перевод, в таблице перевода поялвяется пустая запись с ID оригинальной новости. И теперь на сайте если у новости нет перевода, то она отображается на языке оригинала. Как сделать так, чтобы если у новости нет перевода, она вообще не отображалась на другом языке. То есть если текст только на русском, то он должен появляется только в русской версии сайта. На английской версии, должна быть новость, у которой есть перевод.
Заранее благодарю!
multilingual-behavior: не выводить текст если нет перевода
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: multilingual-behavior: не выводить текст если нет перево
там есть келбек, чтото типа миссингТранслейт, вот он пусть возвращает нулл
- MetalGuardian
- Сообщения: 208
- Зарегистрирован: 2011.03.06, 02:42
- Откуда: Киев
Re: multilingual-behavior: не выводить текст если нет перево
это не то что нужно. это для обычных messagelancecoder писал(а):там есть келбек, чтото типа миссингТранслейт, вот он пусть возвращает нулл
сделать это для multilingual-behavior малой кровью не получится. нужно дописывать проверку на заполненность поля или переделывать алгоритм сохранения контента.
Re: multilingual-behavior: не выводить текст если нет перево
Было бы хорошо, конечно, проверять на заполненость контента. Но как это реализовать с помощью CActiveDataProvider?сделать это для multilingual-behavior малой кровью не получится. нужно дописывать проверку на заполненность поля или переделывать алгоритм сохранения контента.
Re: multilingual-behavior: не выводить текст если нет перево
CActiveDataProvider вызывает тот же Model::model()->findAll($criteria). Так что, наверное, можно либо переопределить метод findAll модели, либо добавить в модель defaultScope, где в критерию добавить кондишн типа «PostLang.text<>'' AND PostLang.lang=:lang».Sarkhan писал(а):Но как это реализовать с помощью CActiveDataProvider?