Помощник в разработке и интеграции дизайна
Я думаю, многие пользуются выводом переменных и массивов через функции print_r(), var_dump() и vd() для просмотра их содержимого при разработке. Новичкам смотреть (знать/помнить/понимать) содержимое того же $result будет очень полезно хотя бы для понимания организации данных внутри модулей. Для удобства их использования мной написано дополнение, о котором и пойдёт речь в этой статье.
Помощник в разработке и интеграции дизайна
Смотреть и изучать можно много чего, например, вместо $result указать в параметрах $this->diafan->_route и множество других переменных, упоминаемых в документации. Иногда очень выручает, позволяя иметь всю справочную информацию в одном месте. Я обычно указываю в шаблонном теге модуля "меню", выводящегося 1 раз на странице, вывод основных данных из документации и смотрю их по мере надобности. А с других шаблонов вывожу $result, под конкретную ситуацию по месту. Выглядит всё это так:
Код функции я добавил при помощи частичной кастомизации к общим функциям файла includes/core.php. Никакие системные файлы и процессы дополнение не затрагивает. Статью, в которой подробно рассматривается этот процесс, найдёте в документации Diafan.
Внешний вид дополнения:
В свёрнутом виде
Поиск внутри блока с данными
Установка дополнения
Дополнение совместимо с версиями 6.0.8.7 и выше, подключается как отдельная тема на сайте. Скачать дополнение можно в каталоге дополнений. Установка стандартная - создание темы вручную:
Использование плагина
Вызов нужно обязательно обернуть в method_exists(), чтобы при отключении темы оставшиеся на сайте вызовы не приводили к ошибкам. Вызывается плагин через любой шаблон модуля следующей командой:
if( method_exists($this->diafan, 'pre_mod') ){
$this->diafan->pre_mod($result, __FILE__, 1, 250, 37.4, 15);
}
Поскольку у плагина прописаны значения по-умолчанию, в качестве параметра можно указать только данные для вывода.
if( method_exists($this->diafan, 'pre_mod') ){
$this->diafan->pre_mod($result);
}
Однако, есть и ряд других параметров, позволяющих настраивать вывод каждого блока с данными, в частности, можно задать разную высоту блокам и заголовки окон, а также время опроса DOM на предмет появления блоков с отложенной загрузкой (с параметром defer).
Справка по параметрам дополнения
- Вывод листинга содержимого шаблонов для удобного просмотра
- Пример вывода if( method_exists($this->diafan, 'pre_mod') ){ $this->diafan->pre_mod($result, FILE, 1, 250, 37.4, 15); }
- Расшифровка $this->diafan->pre_mod($var_show, $path, $print_var, $height, $setka, $listen);
- $var_show данные для вывода
- $path адрес выводимого файла, либо название вкладки (в кавычках)
- $print_var способ вывода vd() или print_r(). Значение 0 или 1 соответственно.
- $height высота блока вывода
- $setka расстояние между вертикальными линиями фона (помогает отслеживать вложенность при прокрутке)
- $listen - время поиска блоков с отложенной загрузкой в секундах
Поскольку блоки могут подгружаться по-разному, в зависимости от параметра defer шаблонных тегов, я доработал дополнение и оно по-умолчанию мониторит страницу на предмет их появления в течении 10 секунд, а также при каждом переключении выведенных файлов. В итоге все вызываемые в шаблонах функциями данные попадают в блок и становятся доступны для просмотра.
В заключение
При включённой теме дополнение выводится только для администраторов, но не показывается обычным пользователям. А при отключении темы с дополнением она не показывается вообще. Таким образом, можно оставлять вызовы дополнения в коде на сайте, если Вы планируете после разработки и интеграции его дальше поддерживать и развивать. И пользоваться дополнением по мере необходимости, повышая комфорт и экономя время. Я сам активно использую это дополнение при разработке сайтов. Собственно, оно изначально писалось под себя. Поэтому я периодически его дорабатываю и обновляю. Информация об этом есть в описании к дополнению. Заглядывайте периодически, возможно появится какая-нибудь новая полезность. Будут вопросы - задавайте, с радостью отвечу. Скачать дополнение.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.