2014-10-06 3 views
0

나는 joomla를 처음 사용하고 있습니다. 나는 약간의 확장 개발을 배우려고 노력하고있다. WordPress 테마 및 플러그인에 대한 경험이 있습니다. 기사의 전화 번호를 걸러 내고 적절한 방식으로 보여주고 싶습니다. 이를 위해 필자는 테스트 플러그인 코드를 작성했지만 필터링은 수행하지 않습니다. onContentPrepare() 후크에 exit 문을 넣으려고했지만 작동하지 않습니다.Joomla 플러그인 콘텐츠 훅이 작동하지 않습니다.

/** 
* @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

예, 나는 그것이 작동하는지 아닌지를 확인하기 위해 exit()를 두었습니다. 플러그인 클래스 이름에 plgContent를 넣지 않았기 때문에 실제로는 연결되지 않았습니다. 나는 일부 프로젝트에서 일하고있다 :), 나는 그 일을해야만한다. 나는 joomla에서 R & D를 할 것이다. 왜, 왜, 언제, 어떻게, 어디에서 –

답변