Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Message легкий и удобный модуль для отправки flash сообщений
http://forum.kohanaframework.su/viewtopic.php?f=38&t=726
Страница 1 из 1

Автор:  WinterSilence [ 14 авг 2013, 00:58 ]
Заголовок сообщения:  Message легкий и удобный модуль для отправки flash сообщений

Модуль используется для отправки коротких сообщений как внутри контроллера, так и вовне.

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>

Автор:  Rush64 [ 04 сен 2013, 19:57 ]
Заголовок сообщения:  Re: Message легкий и удобный модуль для отправки flash сообщ

похожая шляпа наверное у всех в арсенале есть)
echo isset($post['message']) ? $post['message'] : ''; можно заменить на Arr::get($_POST,'message','');

Автор:  WinterSilence [ 04 сен 2013, 21:52 ]
Заголовок сообщения:  Re: Message легкий и удобный модуль для отправки flash сообщ

ага, спасибо, я просто шаблонизаторы использую давно и туплю когда доходит до нативных шаблонов

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/