Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alexander Гость цитировать
|
Добавлено: 29 Окт 2007 17:04:15 Заголовок сообщения: Multilanguage для динамических данных |
|
|
Подскажите пожалуйста, как правильно в 1.2 организовать многоязычные динамические данные. Для 1.1 я делал дополнительную модель language и базовую модель content
Код: | class Content extends AppModel {
var $name = 'Content';
var $belongsTo = array ('Language' => array(
'className' => 'Language',
'conditions'=> '',
'order'=> '',
'foreignKey'=>'language_id')
);
} |
от которой наследовал остальные, в которых мне нужно было использовать различные языки.
Может есть более правильный способ это сделать?
Также версия 1.2 требует теперь для Content создать отдельную таблицу в BD, что не очень красиво. |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 02 Ноя 2007 11:50:11 Заголовок сообщения: |
|
|
Правильного не знаю. В 1.1 я делал таблицы типа
ru_posts
ua_posts
en_posts
ru_articles
...
И переключался между ними в beforeFilter.
Сейчас тоже думал, как быть, но скорее всего по-прежнему буду переключаться между таблицами. Думал - базы переключать, но не всегда это возможно (часто хостинги только одну базу предоставляют)
Я прав? Или есть ещё более гламурный способ решения этого вопроса? |
|
Вернуться к началу |
|
|
SkieDr
цитировать
Зарегистрирован: 13 Ноя 2007 12:13:38 Сообщения: 16
|
Добавлено: 13 Ноя 2007 12:34:13 Заголовок сообщения: |
|
|
в 1.2 используем actsAs Translate!
Все мультиязычные колонки хранятся в отдельной таблице и выбираются на основе локали. |
|
Вернуться к началу |
|
|
bunyan
цитировать
Зарегистрирован: 15 Ноя 2007 14:57:37 Сообщения: 17
|
Добавлено: 15 Ноя 2007 15:12:17 Заголовок сообщения: |
|
|
SkieDr, есть пример удачного использования Translate Behavior ("официальный" про книги видел)? Я сколько с ним не бился, не смог достичь нормальной работы. |
|
Вернуться к началу |
|
|
SkieDr
цитировать
Зарегистрирован: 13 Ноя 2007 12:13:38 Сообщения: 16
|
Добавлено: 16 Ноя 2007 08:47:47 Заголовок сообщения: |
|
|
Успешный опыт есть.
Он работает отлично если бы не одно но.
Behaviors работают только для основной модели. Для ассоциаций не вызаваются.
На https://trac.cakephp.org/ есть ратч для вызова afterFind в ассоциациях, но этого мало. Для Translate нужен и beforeFind.
Соответсвенно, необходимо увеличивется обем работы - призодиться писать свои методы поиска. |
|
Вернуться к началу |
|
|
bunyan
цитировать
Зарегистрирован: 15 Ноя 2007 14:57:37 Сообщения: 17
|
Добавлено: 16 Ноя 2007 18:02:33 Заголовок сообщения: |
|
|
Да, это была одна из причин, по которой не стал использовать. Еще были проблемы с сохранением сразу нескольких языковых версий для одного "информационного объекта", а также с условиями в find-ах...
Ваш проект, в котором используется Translate, доступен в Интернете? _________________ Блог о CakePHP |
|
Вернуться к началу |
|
|
|