2012-01-17 3 views
0

줌라 버전 1.7 플러그인줌라 1.7 :

플러그인 코드 관리 부분에서 활성화 시스템 플러그인에서 메타 태그를 변경 :

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

jimport('joomla.plugin.plugin'); 

class plgSystemMetatags extends JPlugin 
{ 
    public function __construct(&$subject, $config) 
    { 
     parent::__construct($subject, $config); 
    } 

    public function onBeforeRender() 
    { 
     $document =& JFactory::getDocument(); 
     $document->setMetaData('keywords', 'test keywords');  
    } 
} 

는하지만이

메타 설명 값을 렌더링

작동하지 않습니다, 전역 구성에서 설정 됨

플러그인 xml 파일

<?xml version="1.0" encoding="utf-8"?> 
<extension version="1.7" type="plugin" group="system" method="upgrade" client="site"> 
    <name>System - Metatags</name> 
    <author>Joomla! Project</author> 
    <creationDate>November 2005</creationDate> 
    <copyright>Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.</copyright> 
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license> 
    <authorEmail>[email protected]</authorEmail> 
    <authorUrl>www.joomla.org</authorUrl> 
    <version>1.7.0</version> 
    <description></description> 

    <files> 
     <filename plugin="metatags">metatags.php</filename> 
     <filename>index.html</filename> 
    </files> 

</extension> 

답변

2

onAfterRender 대신 onBeforeRender을 사용하십시오.

onAfterRender 이벤트가 트리거되면 응용 프로그램의 출력이 이미 응답 버퍼에서 사용 가능합니다.

+0

고마워요,하지만 방금 Joomla가 내 플러그인을 실행하지 않는다는 것을 알아 냈습니다. 시스템에서 활성화됩니다. – sbxmal

+0

하지만 여전히 onBeforeRender를 사용해야합니다. – Gaurav

+0

이벤트를 onBeforeRender로 변경합니다. 아무런 오류가없는 경우에도 오류가 없습니다. 전혀 실행되지 않습니다. – sbxmal