And I'm fairly sure I don't need to do that trick in save method ;)

On 9 Cze, 15:30, Grzegorz Pawlik <grzegorzpaw...@gmail.com> wrote:
> Ok, I'll suppress my 'general why questions compulsive behaviour' ;)
>
> About not existing callback - just a mistake. I meant beforeFind of
> course. But it's not the point.
> I Talk about ArticleVersion and ArticlePage, because those two models
> I want to have translatable, but that is not the problem either.
>
> I think my problem is that Translate::beforeFind is running **before**
> AppModel::beforeFind, so setting an array to
> $this->locale in it is useless. That's why it was working in
> constructor, but when it's in constructor - I can't manage the
> language changes in
> AppController::beforeFilter.
>
> I can do this for "primary model", like that:
> $this->{$this->modelClass}->locale = Configure::read('App.locales');
>
> But relationship models still get locale from (default) Configure::read
> ('Config.language'); and it's string not an array.
>
> So If my desired model behavior is to have the fallback language, and
> find translations when not every field has been tranlsated - I need to
> put that line:
> $this->ArticleVersion->locale = Configure::read('App.locales');
> before every find (or at least before first find in specific method),
> or make a find method wrapper:
>    function find($conditions = null, $fields = array(), $order = null,
> $recursive = null) {
>       $this->locale = Configure::read('App.locales');
>       return parent::find($conditions, $fields, $order, $recursive);
>    }
> either app-wide (in AppModel::find()) or Model-wide( ie
> ArticleVersion::find())
>
> On 5 Cze, 15:57, "jitka (poLK)" <slunii...@gmail.com> wrote:
>
> > > If so - why it's like that? Is it some backward compatibility? Because
> > > it's seems a little bit weird.
>
> > I am not The One who rules whole world, my friend. And I don't like
> > general 'why' questions too :) because I am not mindreader to be sure
> > why it seems weird to you.
>
> > Names of subfolders in app/locale folder are also not language
> > shortcuts. If you will read my previous post carefully, you will
> > notice word localeFallback in there - one of things which will be
> > adressed by future releases of CakePHP, so stay tuned.
>
> > > > >                 $pages = 
> > > > > $this->ArticleVersion->ArticlePage->find('all',
>
> > > > It sounds to me like you are doing it in ArticleVersion::beforeFind()
> > > > instead of AppModel::beforeFind(), or your custom
> > > > ArticlePage::beforeFind() is not calling parent::beforeFind(). Could
> > > > you confirm that?
>
> > > I definitely have this AppModel::beforeFilter and have no beforeFilter
> > > in ArticleVersion now (tried with explicit call parent::beforeFilter
> > > in ArticleVersion::beforeFilter but it was no difference).
>
> > Please, read my answer thoroughly. You are calling find() method of
> > ArticlePage model, but still talking about changes in ArticleVersion
> > model. And even worse: about not existing model's callback.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to