Перейти к содержимому


Информация статьи

  • Дабавлена: 06 мар 2012 22:32
  • Обновлена: 06 мар 2012 22:35
  • Просмотров: 1120
 


* * * * *
0 Рейтинг

Переключение ACP в режим “разработчика”

Написано Tonight 06 мар 2012 22:32
В IP.Board 3 есть полезная для разработчика фича, переключение в режим ‘developer mode‘, в котором можно более просто редактировать скины и языки. Также включаются некоторые недоступные в стандартном режиме функции (экспорт различных настроек и др.) Переключение в этот режим описано ниже.

1. Редактирование conf_global.php.

Найти:
define( ‘IN_DEV’, 0 );


Заменить на
define( ‘IN_DEV’, 1 );


Если этой строчки нет в вашем conf_global.php (это бывает после апгрейда на версию 3.0) - добавьте ее самостоятельно в любое место до закрывающего тэга “?>”.
Также может оказаться полезным включить вывод предупреждений и ошибок PHP, добавив еще одну строку в файл conf_global.php


ini_set(’display_errors’,1);

2. Подготовка директории языков.
В режиме разработчика IP.Board загружает языки из специальной папки, которая не создается автоматически при инсталляции форума. Для создания папки необходимо зайти в папку cache/lang_cache, создать в ней директорию master_lang и скопировать в нее всё содержимое папки ‘1′.

Когда вам потребуется создать языковой файл для своего приложения, зайдите в папку master_lang, создайте там файл и вы сможете редактировать его как раньше, в версии 2.х.

Когда ваше приложение будет готово к выпуску, воспользуйтесь ставшим доступным инструментом (Look & Feel -> Manage Languages). В разделе ‘Select the application language files to import’ выберите ваше приложение и нажмите Import, затем, после выполнения операции, нажмите Export в разделе ‘Export language files to application directories’.

Языковые файлы связаны с приложением первой частью своего имени. Например, языковой файл ‘core_public_login.php’ принадлежит приложению ‘core’, является файлом для пользовательской части системы (public) и используется модулем login.

Для загрузки файла языков в приложение используется следующая конструкция:

ipsRegistry::getClass(’class_localization’)->loadLanguageFile( array( ‘public_login’ ), ‘core’ );

Если приглядется, то можно заметить, что функция по параметрам повторяет имя файла (без префикса .php). Первый аргумент - имя области область и модуль, второй - приложение. Если не указывать второй аргумент, система загрузит языковой файл активного приложения.

3. Подготовка директории скинов.
Внимание! Всё описанное ниже относится только к главному скину форума, редактирование ваших собственных скинов описано тут. Судя по всему, в текущей версии есть ошибки, при переключении в этот режим и экспорте главного скина не экспортируются css и форум отображается без стилей. Поэтому стоит проделать все действия по ссылке выше и экспортнуть css главного скина.

Также, как и в случае с языковыми файлами, IP.Board использует специальный набор скинов для работы в режиме разработчика. В этом режиме появляется возможность экспорта и импорта структуры главного скина. Для создания этого набора необходимо войди в админку, Look & Feel, нажать Template Tools в левом меню, прокрутить вниз, найти пункт ‘Create Master PHP Templates Directory‘ и нажать ‘Run’ для запуска утилиты.

В результате этой операции данные из главного скина будет экспортированы в папку cache/skin_cache/master_skin/ в формате “HTML logic”, а не в стандартном для скинов 3.0 кешированном формате. Когда вы добавляете новый файл в эту директорию или добавляете темплейт в существующий файл скинов, вы должны делать это в формате ‘HTML logic’.

Когда ваше приложение готово, вы должны запустить инструмент под названием ‘Build Skin Files For Release‘ для импорта ваших файлов и экспорта в соответствующие XML файлы для приложения (если необходимо).

Для загрузки скина в вашем приложении используется команда

$this->registry->output->getTemplate(’test’)->templateName( $arguments );

или такая

$this->registry->getClass(’output’)->getTemplate(’test’)->templateName( $arguments );

‘test’ - имя файла скина без префикса ’skin_’ и расширения ‘.php’, т.е. в примере выше будет загружен файл ’skin_test.php’.
Если скин ранее не загружался, он будет загружен автоматически (т.е. вам не надо при инициализации загружать файл скинов.).
Параметр в templateName - это темплейт в файле скинов, $arguments - параметры, передаваемые в темплейт.


В админке можно использовать следующую процедуру загрузки скинов:

public $html;
$this->html = $this->registry->output->loadTemplate( ‘cp_skin_test’ ); // загружаем модуль скинов из директории cp_skin приложения, имя файла без расширения .php
$output .= $this->html->templateName( $arguments );


Если после перегрузки админки в режиме разработчика появятся розовые сообщения типа “что-то Need Updating”, нажмите на ссылку “Click Here to reimport all apps to make sure your settings are up-to-date” поочередно в каждом окне предупреждений.
  • 0

Powered by Tutorials 1.5.0 © 2016, by Michael McCune