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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 30 июл 2013, 15:58 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Всем привет
Хочу подключить smarty к проекту Kohana 3.3 как описано здесь https://bitbucket.org/dfox/ksmarty/wiki/Home

Я скинул подкаталоги как и описано в инструции по установке
1) Достаточно ли что в /application/bootstrap.php прописано
Код:
Kohana::modules(array(
   // 'auth'       => MODPATH.'auth',       // Basic authentication
   // 'cache'      => MODPATH.'cache',      // Caching with multiple backends
   // 'codebench'  => MODPATH.'codebench',  // Benchmarking tool
    'database'   => MODPATH.'database',   // Database access
   // 'image'      => MODPATH.'image',      // Image manipulation
   // 'minion'     => MODPATH.'minion',     // CLI Tasks
    'orm'        => MODPATH.'orm',        // Object Relationship Mapping
   // 'unittest'   => MODPATH.'unittest',   // Unit testing
    'userguide'  => MODPATH.'userguide',  // User guide and API documentation
    'smarty'  => MODPATH.'smarty',  // smarty template engine
   ));
Нужно ли тут указывать тут еще модуль ksmarty?

2) При запуске
Код:
class Controller_Facility extends Controller_Common {
   public $template = 'admin/facility_list';

   public function action_index() // http://local-kohana.com/admin/dashboard
   {

      $this->template->intro = 'Hello world!';
      $this->template->content = View::factory('content');  //Получаю ошибку "The requested view content could not be found"

Я надеялся что будет обращение к facility_list.tpl но явно ищет content.php - как будто он и не знает о smarty и ksmarty
А как правильно подключиться ? Или может есть что-то удобнее для подключения smarty к Kohana 3.3 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 30 июл 2013, 17:21 
Не в сети
Бывалый
Аватара пользователя

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

https://github.com/WinterSilence/parts- ... /SView.php
https://github.com/WinterSilence/parts- ... smarty.php

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 31 июл 2013, 09:04 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
WinterSilence писал(а):
хз, как этот вариант работает. могу дать свой, он не очень хорошо сделан, но вполне работоспособен. сейчас дописываю универсальный Вид с возможность подключения разных шаблонизаторов, будет через недельку

Пожалуйста, Интересно посмотреть.
WinterSilence писал(а):

Это Ваши разработки? Честно говоря не очень понял как с ними работать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 31 июл 2013, 11:26 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
также как с обычным View, например $template = SView::factory('path/template', $data)->render()

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 31 июл 2013, 13:18 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Удалось подключить смарти не используя никаких либ
Примерно так :
В /application/bootstrap.php
Добавил строку
Код:
define("SMARTY_DIR", APPPATH . "classes/Smarty/libs/" );

Создал класс :


Код:
<?php
 require_once(SMARTY_DIR . 'Smarty.class.php');

class AppSmarty extends Smarty {

  function __construct() {
    parent::__construct();
  }

  public function RunSmartyTemplate( $template_name, $data, $config_object, $is_backend, $show_header_template= false, $show_footer_template= false ) {
   $this->template_dir = APPPATH . 'views';
    $this->compile_dir = APPPATH . 'cache/templates_c';
    $this->cache_dir = APPPATH . 'cache';
    $this->config_dir = APPPATH . 'classes/Smarty/libs';

    foreach( $data as $DataKey=>$DataValue ) {
      $this->assign( $DataKey, $DataValue );
    }
    $this->registerPlugin("function","date_now", "print_current_date");
...

    ob_start();
    $this->display($template_name);
    $TemplateData= ob_get_contents();
    ob_clean();
    return $TemplateData;

  }


И вызов в контроле :
Код:
   $AppSmarty= new AppSmarty();
   $TemplateData= $AppSmarty->RunSmartyTemplate('admin/facilitys_list.tpl', $data,/* $this->config*/ '', true, true, true);
   $this->template->content= $TemplateData;

Вроде работает. Может кому пригодиться...
Но поскольку я работаю с коханой только пару дней вопрос а какие вещи у меня сделаны не в стиле коханы и должны быть переделаны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как подключить smarty к Kohana 3.3
СообщениеДобавлено: 31 июл 2013, 15:58 
Не в сети
Бывалый
Аватара пользователя

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

Код:
    ob_start();
    $this->display($template_name);
    $TemplateData= ob_get_contents();
    ob_clean();
    return $TemplateData;

=
Код:
    return $this->fetch($template_name);

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


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

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


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

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


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

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