Joomla 1.5 attachBuildRule - изменение ЧПУ через плагин

Тема в разделе "Создание расширений для Joomla", создана пользователем SindBAD, 28.06.2011.

  1. Offline

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    Всем привет.
    Пишу плагин, который должен обрабатывать ссылки.
    Код:
    Код (PHP):
    1. <?php
    2. defined( '_JEXEC' ) or die( 'Restricted access' );
    3. jimport( 'joomla.plugin.plugin' );
    4. class plgSystemSEFreplace extends JPlugin{
    5.  
    6.     var $substr = '';
    7.     var $_config = null;
    8.     function plgSystemSEFreplace(& $subject, $config){
    9.         global $mainframe;
    10.         if($mainframe->isAdmin()){
    11.             // This plugin is only relevant for use within the frontend!
    12.             return;
    13.         }
    14.         parent::__construct($subject, $config);
    15.         $plugin =& JPluginHelper::getPlugin('system', 'sefreplace');
    16.         $pluginParams = new JParameter($plugin->params);
    17.         $this->substr = $pluginParams->get('substring', '');
    18.     }
    19.     function onAfterInitialise(){
    20.         $application =& JFactory::getApplication();
    21.         $router =& $application->getRouter();
    22.         if($router->getMode() == JROUTER_MODE_SEF) {
    23.             $router->attachBuildRule(array('plgSystemSEFreplace', 'replace'));
    24.         }
    25.     }
    26.     function replace(&$router, &$uri){
    27.         file_put_contents('route.txt', $uri->getPath());
    28.     }
    29. }

    В моём понимании attachBuildRule должен вызвать метод plgSystemSEFreplace::replace, но этого почему-то не присходит, файл route.txt не создаётся (так же не срабатывает никакой код в теле функции replace).
    Что я делаю не так?
     
  2.  

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

Загрузка...