Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Инмодуляция в Джумла 1,5 (ваше мнение)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Инмодуляция в Джумла 1,5 (ваше мнение)
Имя
Сообщение << Старые топики   Новые топики >>
Инмодуляция в Джумла 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.


Как вы считаете это полезный апдейт или это слишком?
Post #: 1
RE: Инмодуляция в Джумла 1,5 (ваше мнение) - 2009-12-21 14:36:28.450000   
codeismy.name

Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
хм.. интересное решение.. а если условие не сработает на каком-то промежуточном шаге? тогда до конца не обработается шаблон и проблемма всё равно останется :) хотя не видя всего кода однозначно сказать не могу.. вполне возможно, что такойпроблемы не возникнет в принципе
Post #: 2
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Инмодуляция в Джумла 1,5 (ваше мнение)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.