manzapanza
manzapanza

Reputation: 6225

CakePHP 2 & Translate Behavior: save multiple translations in a single form

Its possibile save multiple translations of the same field in a single form? I have a model with Behavior Translate to translate the name field. The three translations (deu, eng, ita) are properly recorded in the i18n table but the field is not properly validated! Any suggestions?

app/Model/Category.php

class Category extends AppModel {
    public $actsAs = array('Translate' => array('name' => 'TranslateName'));
    public $validate = array(
        'name' => array(
            'notempty' => array(
                'rule' => array('notempty'),
                'message' => 'Error notempty',
            ),
        ),
    );
    ...

app/View/Categories/admin_edit.ctp

<?php
echo $this->Form->create('Category');
echo $this->Form->input('Category.id');
echo $this->Form->input('Category.name.deu', array('label' => __d('Category', 'Name Deu')));
echo $this->Form->input('Category.name.eng', array('label' => __d('Category', 'Name Eng')));
echo $this->Form->input('Category.name.ita', array('label' => __d('Category', 'Name Ita')));
echo $this->Form->end(__d('app', 'Submit'));
?>

app/View/Controller/CategoriesController.php

if ($this->Category->save($this->request->data)) {
    $this->Session->setFlash(__d('Category', 'The category has been saved'));
} else {
    $this->Session->setFlash(__d('Category', 'The category could not be saved. Please, try again.'));
}

Upvotes: 0

Views: 1741

Answers (1)

Katai
Katai

Reputation: 2937

I have a similar Problem

But you can try out this - it should solve it for you: https://github.com/zoghal/cakephp-MultiTranslateBehavior

Upvotes: 2

Related Questions