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

Мультиязычность и смена дизайна в Kohana
http://forum.kohanaframework.su/viewtopic.php?f=31&t=186
Страница 1 из 2

Автор:  byvlad [ 13 май 2012, 13:50 ]
Заголовок сообщения:  Мультиязычность и смена дизайна в Kohana

Добрый день! Хочу сделать мультиязычность на основе данных браузера, т.е.: определяем язык браузера, проверяем есть ли такой язык в системе, если нету задаем en-us, далее записываем его в cookie и больше туда не соваемся, далее смена дизайна: точно так же, определяем что это за устройство, если iphone etc. - touch, mac win - default, nokia - mobile и записываем его в cookie, и больше никогда не трогаем. Мультиязычность на основе i18n (<?=__('Hello!')?>), помогите реализовать, код я уже написал, подскажите куда вставить.

Ах, да, после указания дизайна я так понимаю лучше указать стандартный путь шаблонов, например views/touch, а далее уже все в контроллерах.

Автор:  byvlad [ 13 май 2012, 14:28 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Мультиязычность вроде сделал, остался дизайн.

Автор:  byvlad [ 13 май 2012, 14:54 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Разобрался, дописал константу дизайна в главный контроллер template.

Как теперь проинклудить файл head.php и foot.php, например в шаблоне help.php?

Автор:  mamahtehok [ 13 май 2012, 16:05 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Как вариант
Код:
<?=View::factory('header')?>
blablabla
<?=View::factory('footer')

Автор:  admin [ 13 май 2012, 16:06 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Стандартно
Код:
$content->header = View::factory('blocks/header');


И в виде echo $header;

Автор:  admin [ 13 май 2012, 16:07 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Мамантенок опередил :)

Автор:  byvlad [ 13 май 2012, 18:17 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

А куда пользовательские функции кидать? Например для форматирования времени, имени, размера etc.

Автор:  mamahtehok [ 13 май 2012, 18:50 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

в контролеере обрабатываете и передаете в вид.

Автор:  byvlad [ 13 май 2012, 21:47 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

Ну есть допустим такая функция у меня:
Код:
function clock($time) {
   global $user;
   
   $arrM = array(
      '01' => 'Января',
      '02' => 'Февраля',
      '03' => 'Марта',
      '04' => 'Апреля',
      '05' => 'Мая',
      '06' => 'Июня',
      '07' => 'Июля',
      '08' => 'Августа',
      '09' => 'Сентября',
      '10' => 'Октября',
      '11' => 'Ноября',
      '12' => 'Декабря'
   );
   
   $time = (!$user) ? $time + ($GLOBALS['set']['timezone'] * 3600) : $time + ($user['timezone'] * 3600);

   $labelTime = date('j.m.Y', $time);

   if ($labelTime == date('j.m.Y', TIME + $GLOBALS['set']['timezone'] * 3600)) :
      return 'Сегодня в '.date('H:i', $time);
   elseif ($labelTime == (date('j', TIME + $GLOBALS['set']['timezone'] * 3600) - 1).'.'.date('m.Y', TIME + $GLOBALS['set']['timezone'])) :
      return 'Вчера в '.date('H:i', $time);
   else :
      return date('j '.$arrM[date('m', $time)].' Y в H:i', $time);
   endif;
}


как сделать что бы я в любом шаблоне мог сделать так:
Код:
<?=clock($row['time'])?>

Автор:  mamahtehok [ 13 май 2012, 22:02 ]
Заголовок сообщения:  Re: Мультиязычность и смена дизайна в Kohana

оформить это как хелпер.

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