Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Multilanguage для динамических данных

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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!
Все мультиязычные колонки хранятся в отдельной таблице и выбираются на основе локали.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение MSN Messenger
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.
Соответсвенно, необходимо увеличивется обем работы - призодиться писать свои методы поиска.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение MSN Messenger
bunyan

цитировать



Зарегистрирован: 15 Ноя 2007 14:57:37
Сообщения: 17

СообщениеДобавлено: 16 Ноя 2007 18:02:33    Заголовок сообщения: Ответить с цитатой

Да, это была одна из причин, по которой не стал использовать. Еще были проблемы с сохранением сразу нескольких языковых версий для одного "информационного объекта", а также с условиями в find-ах...

Ваш проект, в котором используется Translate, доступен в Интернете?
_________________
Блог о CakePHP
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru