Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 19 мар 2024, 12:10

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 14 авг 2013, 00:58 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Модуль используется для отправки коротких сообщений как внутри контроллера, так и вовне.

https://github.com/WinterSilence/kohana-message

В качестве примера использования привожу контроллер и вид страницы обратной связи(форма отправки писем администратору):
Код:
class Controller_Page_Feedback extends Controller_Page
{
   public function action_index()
   {
      $this->view->filename('feedback');
      
      if ($this->request->post())
      {
         $form = Model::factory('Feedback', $this->request->post());
         if ($form->check())
         {
            $form->send_mail($this->config['contacts']['email']);
            
            /**
             * Отправка сообщения об успешной отправке данных.
             * Второй параметр(TRUE) используется для авто перевода
             * текста сообщений на текущий язык
             */
            Message::success('Message success sent', TRUE);
            
            $this->redirect($this->request->url(), 200);
         }
         else
         {
            // Отправка сообщения с возникшими ошибками
            Message::error($form->errors('model'));
         }
      }
   }
}

Код:
<h2>Feedback</h2>

<?php if (is_string(Message::get())): ?>
<div class="box">
   <div class="alert alert-<?php echo Message::type(); ?>">
      <strong><?php echo Message::type(); ?>!</strong> <?php echo Message::get(); ?>
   </div>
</div>
<?php endif; ?>

<div class="wa-form">
   
   <form action="" method="post">
     
      <input type="hidden" name="csrf" value="<?php echo Security::token(); ?>">
     
      <?php if (isset($user)): ?>
      <input type="hidden" name="email" value="<?php echo $user->email; ?>">
      <?php else: ?>
      <div class="wa-field">
         <div class="wa-name">Email:</div>
         <div class="wa-value <?php echo Message::get('email') ? Message::type() : ''; ?>">
            <input type="email" name="email" value="<?=Arr::get($post, 'email')?>">
            <?php echo Message::get('email') ? '<span class="help-inline">'.Message::get('email').'</span>' : ''; ?>
         </div>
      </div>
      <?php endif; ?>
     
      <div class="wa-field">
         <div class="wa-name">Title:</div>
         <div class="wa-value <?php echo Message::get('title') ? Message::type() : ''; ?>">
            <input type="text" name="title" value="<?=Arr::get($post, 'title')?>">
            <?php echo Message::get('title') ? '<span class="help-inline">'.Message::get('title').'</span>' : ''; ?>
         </div>
      </div>
     
      <div class="wa-field">
         <div class="wa-name">Message:</div>
         <div class="wa-value <?php echo Message::get('message') ? Message::type() : ''; ?>">
            <textarea id="wbbeditor" name="message"><?=Arr::get($post, 'message')?></textarea>
            <?php echo Message::get('message') ? '<span class="help-inline">'.Message::get('message').'</span>' : ''; ?>
         </div>
      </div>
     
      <div class="wa-field">
         <div class="wa-value <?php echo Message::get('captcha') ? Message::type() : ''; ?>">
            <div class="wa-captcha">
               <img class="wa-captcha-img" src="/captcha/" alt="Captcha">
               <strong>→</strong>
               <input type="text" name="captcha" class="wa-captcha-input">
               <?php echo Message::get('captcha') ? '<span class="help-inline">'.Message::get('captcha').'</span>' : ''; ?>
            </div>
         </div>
      </div>
     
      <div class="wa-field">
         <div class="wa-value wa-submit">
            <input type="submit" name="send" value="Send" class="btn grad_purple">
         </div>
      </div>
   
   </form>
   
</div>

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Последний раз редактировалось WinterSilence 04 сен 2013, 22:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 сен 2013, 19:57 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
похожая шляпа наверное у всех в арсенале есть)
echo isset($post['message']) ? $post['message'] : ''; можно заменить на Arr::get($_POST,'message','');


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 сен 2013, 21:52 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
ага, спасибо, я просто шаблонизаторы использую давно и туплю когда доходит до нативных шаблонов

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group