codeigniter + hmvc + smarty или использование общих библиотек внутри модулей - PullRequest
0 голосов
/ 04 декабря 2011

Я создаю сайт, используя CI, HMVC и Smarty.Я впервые использую HMVC, и я не понимаю, как я могу использовать общие библиотеки внутри модулей.

Я предпочитаю использовать Smarty на своих сайтах, и обычно это просто: я создаю оболочку для smarty,Автозагрузка и использование в контроллерах, где это необходимо.Но теперь мне нужно использовать smarty в контроллере модуля, и я не знаю, как получить к нему доступ.Есть идеи, как мне это сделать?

Я изучал проблему в течение нескольких дней, но безуспешно.

Есть несколько ответов, которые я просто не получаю: как этот

РЕДАКТИРОВАТЬ: CI 2.1.0, HMVC 5.4, Smarty 3.1.6 (но это не имеет значения)

Ответы [ 2 ]

0 голосов
/ 11 февраля 2018

Вы можете расширить свой ум в ваших модулях с модулями. дорожка.

Пример:

class MySmartie extends Smartie {

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

        $this->template_dir = APPPATH . "modules/client/views/templates";
        $this->compile_dir = APPPATH . "modules/client/views/templates_c";
    }
}

И загрузите этот класс в конструктор класса ваших модулей следующим образом:

public function __construct()
{
   $this->load->library(['mysmartie' => 'smarty']);
}

Примечание: не загружайте smarty в config / autoload.php, это может привести к конфликту при загрузке.

0 голосов
/ 04 декабря 2011

Вот несколько способов:

В приложении / библиотеках

Просто поместите общие библиотеки в папку приложения / библиотеки и загрузите, используя $this->load->library('my_library');

Создание общего модуля

Другим вариантом будет создание нового модуля, скажем, common, в котором вы можете иметь папки libraries, models,helpers.Здесь вы можете поместить файлы, которые являются общими для других модулей.Затем вы можете загрузить их, используя $this->load->library('common/my_library');

Надеюсь, это поможет.

...