CakePHP - Настройка сообщения - PullRequest
0 голосов
/ 18 июня 2011

Есть ли способ установить макет моих сообщений в коде моей модели?

Вот моя модель:

var $validate = array(    
        'email' => array(        
        'rule' => array('email', true),        
        'message' => 'Please supply a valid email address.'
        )
    );

1 Ответ

2 голосов
/ 18 июня 2011

Это можно сделать с помощью CakePHP.Тем не менее, ваши проблемы перепутались.Модель существует для сбора данных, манипулирования и массирования.Расположение данных находится под ответственностью View.В CakePHP, в частности, Помощник по форме.

Для получения дополнительной информации о том, как указать свой собственный макет для сообщения проверки данных, ознакомьтесь:

http://book.cakephp.org/view/1639/options-inputDefaults

Они предоставляют довольноотличный пример кода о том, как именно это сделать.

Я также весьма предлагаю вам прочитать всю книгу.Это окажется бесценным.

Редактировать: Ответить после уточнения из комментария

Вы бы создали element и поместили бы его в app/views/elements.Следует назвать файл, используя обычные соглашения Cake.Давайте перейдем к flash_error.

. Вы должны настроить его как свой HTML, который вы хотите отобразить.Чтобы убедиться, что ваше сообщение отображается, просто добавьте этот бит PHP, где это уместно

<?php echo $message; ?>

Это шаг 1.

Шаг 2 в вашем вызове $this->setFlash()передать соответствующие параметры.Таким образом, ваши новые вызовы будут выглядеть так с элементом, который мы назвали выше:

$this->setFlash($message, 'flash_error');

Теперь ваши сообщения setFlash будут использовать макет, определенный на шаге 1. Хотите другой макет?Просто создайте новый элемент и передайте имя нового элемента.

Метод setFlash () имеет еще 2 параметра, которые пригодятся (особенно, если вы хотите иметь несколько сообщений flash () на одной странице).Другая ссылка на книгу:

http://book.cakephp.org/view/1313/setFlash

...