2014-10-06 2 views
0

Я новичок в joomla. Я пытаюсь изучить некоторые расширения развития. У меня уже есть опыт работы с темами WordPress и плагинами. Я хочу отфильтровать номер телефона в статье и показать его соответствующим образом. Для этого я написал тестовый код плагина, но он не фильтрует. Я даже попытался поставить оператор exit в hook onContentPrepare(), но он не работает.Joomla Plugin Content Hook Не работает

/** 
* @package Joomla.Plugin 
* @subpackage Content.ClicktoCall 
* @since 3.0 
* @version 1.0.0 
*/ 
defined('_JEXEC') or die; 
jimport('joomla.plugin.plugin'); 

class eqlContentClicktoCall extends JPlugin { 

    public function onContentPrepare($context, &$row, &$params, $page = 0) { 
// Don't run this plugin when the content is being indexed 
     exit(); 
     if ($context == 'com_finder.indexer') { 
      return true; 
     } 
     if (is_object($row)) { 
      return $this->clicktocall($row->text, $params); 
     } 
     return $this->clicktocall($row); 
    } 

    protected function clicktocall(&$text) { 
     $pattern = '/(\d{4})(\d{3})(\d{4})/'; 
     $replace = "+92-$1-$2-$3"; 
     $text=preg_replace($pattern, $replace, $text); 
     return true; 
    } 

} 

Как я могу заставить этот крюк работать?

+0

его работает в настоящее время я не добавил префикс plgContent перед тем плагином. –

+0

Вы пытались удалить 'exit();'? – Lodder

+0

yup, я положил exit(), чтобы проверить, работает ли он или нет, на самом деле это не было ошибкой, потому что я не поставил plgContent в моем имени класса плагина. я работаю над некоторым проектом:), мне нужно работать, потому что я буду после этого, я буду делать R & D на joomla, что, почему, когда, как, где –

ответ

0

Вам нужно изменить название своего класса, есть синтаксис, который, если не следовать, приведет к тому, что плагин не будет запущен. Переименуйте это так:

class plgContentClicktoCall extends JPlugin 

Кроме того, существуют правила для того, как построить манифест для установки плагина.

http://docs.joomla.org/Manifest_files http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/plg_system_alpha/alpha.xml