2013-03-24 4 views
1

는 내가 만들어 성공적으로 나의 이해는이 모든 기사의 제목을 덮어해야한다는 것입니다 다음 코드Joomla 2.5 플러그인이 작동하지 않는 이유는 무엇입니까?

<?php 
// no direct access 
defined('_JEXEC') or die('Restricted access'); 

class plgCustomFunctions extends JPlugin 
{ 
    public function onContentPrepare($context, &$article, &$params, $page = 0) 
    { 
     $article->title = "Something!"; 
     return true; 
    } 
}?> 

와 줌라 2.5 플러그인을 설치했습니다. 그것은 일어나지 않습니다. 내가 뭘 놓치고 있니?

답변

6

나는 문제가 클래스 이름에 생각이

class plgContentCustomFunctions extends JPlugin

그렇지 않으면 줌라 오토로더는 찾을 수 없습니다해야 그

논외의 태그 동의어를 추가에 관심있는 사람들을 Joomla, please give your opinion

+0

이 명명 규칙은 Joomla 문서에 숨겨져 있으며 내가 찾은 자습서에서 설명 할 수 없습니다. – Rob

+1

Imho, Joomla의 설명서는 끔찍하며, 종종 나는 그것에 고생합니다. 가장 인기있는 CMS 중 하나가 개발자에게 그렇게 가난한 문서를 가지고 있다고 믿을 수 없다. –

0

먼저 플러그인이 제대로 설치되고 활성화되어 있는지 확인하십시오.

귀하의 문제는 당신이하지 않는 속성을 설정하려고하는 것입니다 정말 존재 :

$article->title = "Something!";

당신이 경우에 당신이 볼 것 var_dump($article); 전달 전용 속성이 '텍스트'입니다.

$article->text = "Something!";

와 그래서 이것은 분명히 onContentPrepare 방법의 제한 사항입니다.

아마 기사를 저장할 때 트리거되는 이벤트를 찾을 수 있습니다.

+0

하지만 올바르지 않습니다. '$ article-> title'이 존재합니다. 두 번 확인해 봤는데 정상적으로 덮어 쓸 수 있습니다. –

+0

입력 해 주셔서 감사합니다. 내가 더 많은 것을 배우기 위해 열렸으므로 $ article-> title을 어디에서 확인 했습니까? :) 그리고 어떻게 기사의 내용을 바꿀 수있는 플러그인으로 관리되었지만 제목이 아닌가? –

+0

joomla 2.5 설치에서 기존 플러그인을 연''var_dump ($ article)', saw'title' 속성을'$ article-> title = 'blabla';로 덮어 쓰고 프론트 엔드에서 출력을 확인했습니다. 'onContentPrepare' 이벤트였습니다 –

관련 문제