Joomla 1.5 Класс для работы с шаблоном

Тема в разделе "Программирование", создана пользователем Captain, 21.07.2010.

  1. Offline

    Captain Недавно здесь

    Регистрация:
    11.02.2010
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Добрый вечер, коллеги!

    У меня есть следующая задача. Нужно при выводе определенных компонентов заменять их код на мою надпись. Предполагается делать это в системном плагине.

    Но вот как определить, что это код модуля, а вот это код, собственно, компонента не очень понятно. Пока вижу только вариант - обратиться к шаблону и узнать какими тэгами обрамлен компонент. Отсюда вопрос - как программно работать с текущим шаблоном?

    Или как решить мою задачу, если есть другие варианты.

    P.S. Класс JTemplate кажется не про то.
     
  2.  
  3. Tureckiy
    Offline

    Tureckiy Недавно здесь => Cпециалист <=

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    Бред какой то!
     
    Vamp нравится это.
  4. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Давайте с вами определимся что вы подразумеваете под словом "код"?
     
  5. Offline

    ValeryB Активист

    Регистрация:
    07.10.2009
    Сообщения:
    384
    Симпатии:
    26
    Пол:
    Мужской
    Компоненты лежат в папке components, а модули - в modules :D

    Компонент в основном "обрамлен" своими тэгами. Шаблон описывает вид модулей в позициях шаблона и вывод некоторых компонентов, если в нем есть папка html и папки соответствующие по названию компонентов, вид вывода которых модифицируется. А также форматирование содержимого основного контента.
     
  6. Offline

    Captain Недавно здесь

    Регистрация:
    11.02.2010
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо за содержательный ответ.
     
  7. Offline

    Captain Недавно здесь

    Регистрация:
    11.02.2010
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Итак, компонент произвольный. Соответственно, у каждого из компонентов своя специфика. В плагине я получаю уже готовый код страницы
    Код (PHP):
    1. $body = JResponse::getBody();

    Это HTML. На этом этапе определить где в этом коде компонент, в общем случае, не получится. А вот если мы загрузим шаблон и поймем где в нем код подгрузки компонента, то мы сможем вычислить обрамляющие тэги. И сказать, что тот html, который между ними, это код компонента.
     
  8. Offline

    botanist Активист => Cпециалист <=

    Регистрация:
    15.02.2009
    Сообщения:
    461
    Симпатии:
    49
    Пол:
    Мужской
    Код (PHP):
    1. $doc = &JFactory::getDocument();
    2.    $content = $doc->getBuffer('component');
    3.    $content = $content.' Ути-ути-пути';
    4.    $doc->setBuffer($content,'component');
     
    Captain нравится это.
  9. Offline

    Captain Недавно здесь

    Регистрация:
    11.02.2010
    Сообщения:
    30
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо большое! То что доктор прописал. Отмечу, что в плагине это будет работать в методе onAfterDispatch()
     

Поделиться этой страницей

Загрузка...