Помогите запустить мамботы изнутри своего компонента

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

  1. Offline

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

    Регистрация:
    03.11.2007
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Доброго времени суток уважаемые. Уже немного поднаторел в написании компонентов и модулей под Joomla, а вот с мамботами сталкиваться не приходилось.
    Передо мной стоит задача запуска мамбота "Русская типографика" для придания тексту дизайнерской специфичности . Подобная тема уже заводилась на сайте (http://joomlaforum.ru/index.php/topic,3987.0.html), но кое что мне осталось не понятно.
    Судя по всему надо для запуска мамботов вызвать такую конструкцию:

    global $_MAMBOTS;
    $_MAMBOTS->loadBotGroup( 'имягруппымамботов' );
    $_MAMBOTS->trigger( 'имятвоегособытия', array( массивпараметров ));

    Но появился вопрос - что за массив параметров надо передавать для работы и главное откуда брать результат.
    Приведу в пример свой тест на котором пытаюсь это дело одолеть:

    $query = 'SELECT * FROM #__content';
    $rows = $database->loadObjectList();
    //К примеру я хочу перековырять одну лишь строку
    $row=$rows[0];
    //Выведу на экран содержимое до мамботов
    echo "ORIGINAL:<br>";
    print_r($row);
    //Запускаю мамботы
    global $_MAMBOTS;
    $_MAMBOTS->loadBotGroup( 'content' );
    $results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );
    //выведу массив результатов (все единицы, у меня 8 мамботов запускается)
    echo "<br>RESULT<br>";
    print_r($results);
    //Ну и соответственно проверим результат
    echo "<br>MAMBOT_TEXT:<br>";
    print_r($row);

    Визуально не вижу разницы между тем что было и тем что стало.
    ХОТЯ! Мамбот работает. Т.к. в стандартном com_content он запускается. Пытался посмотреть как там это делается, но еще сильнее запутался. По видимому всетаки код верный но я что - то не доделываю.

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

    Спасибо за то что прочли и еще большее за ответы
     
  2.  
  3. Offline

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

    Регистрация:
    14.11.2008
    Сообщения:
    1
    Симпатии:
    0
    Поддерживаю вопрос.
    Пытаюсь запустить MosPaging из компонента MJ FrontPage.
    Делаю стандартный вызов:

    Код (CODE):
    1. $_MAMBOTS->loadBotGroup( 'content' );
    2. $results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );


    Эффекта никакого.

    Такое ощущение, что в MosPaging ничего не передается, потому что вылетает сразу при проверке на наличие {mospagebreak}.

    Вывод: неправильно передаю данные.

    В чем может быть ошибка?
     
  4. sectus
    Offline

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

    Регистрация:
    19.04.2006
    Сообщения:
    1 210
    Симпатии:
    46
    Пол:
    Мужской
    Нум модно var_dump сделать в com_content, чтобы посмотреть все входящие параметры, перед срабатыванием мамботов.
     
  5. Dead Krolik
    Offline

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

    Регистрация:
    13.04.2007
    Сообщения:
    3 685
    Симпатии:
    101
    Пол:
    Мужской
    >В чем может быть ошибка?
    Я бы сказал в чем, боюсь что не поймут. Друзья, забывайте про копипаст. И не пишите фразы, мол "вызов стандартный, а нифига не работает". Ничегошеньки он не стандартный, сектус правильно сказал - смотрим формат входных параметров и что на выходе и удивляемся, почему вдруг разработчики MJ FrontPage не сделали так же.

    А еще сразу же скажу, что MosPaging это не волшебный мамбот, который все что угодно разобъет на сколько угодно частей. Достаточно заглянуть в код и удивиться, что он знает лишь о существовании com_content.
     

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

Загрузка...