Инмодуляция в Джумла 1,5 (ваше мнение)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Инмодуляция в Джумла 1,5 (ваше мнение) - 2009-12-21 12:13:09.190000
|
|
|
Agent Smith
Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
|
Для тех, кто не в курсу, в джумле 1,5 (в дальнейшем джумле) все модули и компоненты вставляются в тело темплейта так: <jdoc:include type="modules" name="languageselection" /> Где, как очевидно, "type" – тип вхождение (модуль либо компонент), а "name" его имя. На мой взгляд такое разделение очень удобно, поскольку помогает разобрать структуру HTML-кода сайта по веткам. Однако к джумле есть одна небольшая неудобность. Если вы в модуль languageselection захотите вставить ещё какой-то модуль, например <jdoc:include type="modules" name="smile " />, то джумла не заменит этот псевдотег на соответствующий ему HTML код. Для того, что бы можно было вставлять модуль в модуль или компонент или наоборот, нужно залезть в ядро и немного подправить его. Да, вы скажете, что ядро – это святое и что править там что-то не хорошо, потому что когда выйдет новая версия, вы не сможете корректно апдейтнуть систему, однако я ни к чему вас не склоняю. Поступайте так, как считаете нужным. Я лишь показываю путь. Итак открывает следущий скрипт начиная от корня сайта: ./libraries/joomla/document/html/html.php (его порядковый номер в файловой системе 3206) Далее идем к строке 372, что находиться в функции _parseTemplate. Там вы увидите: function _parseTemplate($data) { $replace = array(); $matches = array(); if(preg_match_all('#<jdoc:include\ type="([^"]+)" (.*)\/>#iU', $data, $matches)) { $matches[0] = array_reverse($matches[0]); $matches[1] = array_reverse($matches[1]); $matches[2] = array_reverse($matches[2]); …… И просто меняем if на while. Как вы считаете это полезный апдейт или это слишком?
|
|
|
RE: Инмодуляция в Джумла 1,5 (ваше мнение) - 2009-12-21 14:36:28.450000
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
хм.. интересное решение.. а если условие не сработает на каком-то промежуточном шаге? тогда до конца не обработается шаблон и проблемма всё равно останется :) хотя не видя всего кода однозначно сказать не могу.. вполне возможно, что такойпроблемы не возникнет в принципе
|
|
|
|
|