Cake php по умолчанию bahaviour для перевести поведение не работает - PullRequest
2 голосов
/ 13 сентября 2011

Может кто-нибудь подсказать, почему при отсутствии перевода для поля оно возвращается пустым, а не с переводом по умолчанию?

Буду признателен за все предложения ...

Может`Не скажи, какую часть моего кода ты хочешь видеть, потому что все это прямо с сайта www.book.cake.org.Итак, я вставил некоторый код:

Определение модели:

<?php
class Article extends AppModel
{
    var $useTable = 'nc_articles';
    var $name = 'Article';
    var $actsAs = array(
        'Translate' => array(
        'title', 'content', 'meta_key_words','meta_description'
        )
    );
    // Use a different model
    var $translateModel = 'ArticlesI18n';
    // Use a different table for translateModel
    var $translateTable = 'nc_articles_i18ns';
    var $belongsTo = array(
        'Author' => array('className' => 'User',
            'foreignKey' => 'author_id',
            'conditions' => '',
            'fields' => array(),
            'order' => '',
            'counterCache' => ''),       
        'Modifier' => array('className' => 'User',
            'foreignKey' => 'modifier_id',
            'conditions' => '',
            'fields' => array(),
            'order' => '',
            'counterCache' => ''),   
        'Category' => array('className' => 'ArticlesCategory',
            'foreignKey' => 'category_id',
            'conditions' => '',
            'fields' => array(),
            'order' => '',
            'counterCache' => ''),   
        'Layout' => array('className' => 'Layout',
            'foreignKey' => 'layout_id',
            'conditions' => '',
            'fields' => array(),
            'order' => '',
            'counterCache' => ''),        
        );
    var $hasMany = array(
        'Comments' => array(
            'className' => 'ArticlesComment',
            'foreignKey' => 'article_id',
            'conditions' => array(),
            'order' => '',
            'limit' => '',
            //'dependent'=> true When dependent is set to true, recursive model deletion is possible. In this example, Comment records will be deleted when their associated User record has been deleted. 
            )
        ); 


}
?>

А затем функция, в которой я меняю язык:

function setLanguage($languageCode='pol')
{
    $this->Session->write('Config.language', $languageCode);
    $this->redirect($this->referer());
}

Хотите увидеть что-то еще?

1 Ответ

3 голосов
/ 14 сентября 2011

Позвольте мне ответить на мой собственный вопрос.Было еще несколько вещей, которые я должен был написать больше.Сначала я должен был объявить свой Config.language в core.php, а затем для каждой переводимой модели мне пришлось объявить локальную переменную, которая представляет собой массив кодов языка

$this->Article->array('en','pol');

эта проблема.Но сейчас запросы на перевод очень длинные, и я столкнулся с проблемой оптимизации.

...