我遇到了一个真正的问题,那就是创建和使用joomla插件可能非常容易。
这是我到目前为止所做的。
我使用文件夹中的以下两个文件创建了一个示例joomla插件,并将它们命名为完全相同。
我在下面列出了他们的内容。
该插件通过管理面板正确安装
然后我通过插件管理器启用它
确定。一切都准备好了。
启用插件后,如何在文章中使用插件?
ZIP文件夹:MakePlugIn 文件夹:MakePlugIn
MakePlugIn.php -
<?php
// No direct access allowed to this file
defined( '_JEXEC' ) or die( 'Restricted access' );
// Import Joomla! Plugin library file
jimport('joomla.plugin.plugin');
//The Content plugin MakePlugIn
class plgContentMakePlugIn extends JPlugin
{
function plgContentMakePlugIn (&$subject)
{
parent::__construct ($subject);
}
function onPrepareContent (&$article, &$params, $page=0)
{
print "I am a happy plugin";
}
}
?>
MakePlugIn.xml -
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="plugin" group="content">
<name>Make-Plug-In</name>
<author>Make-Plug-In</author>
<creationDate>03/15/2011</creationDate>
<copyright>Copyright (C) 2011 Holder. All rights reserved.</copyright>
<license>GNU General Public License</license>
<authorEmail>authoremail@website.com</authorEmail>
<authorUrl>www.authorwebsite.com</authorUrl>
<version>1.0</version>
<description>Make-Plug-In test</description>
<files>
<filename plugin="MakePlugIn">MakePlugIn.php</filename>
</files>
</install>
答案 0 :(得分:5)
您不应该在插件中echo
或print
信息。
该方法接收文章参考作为参数,修改它并且你很好。您可以使用var_dump
快速识别正确的对象类型和属性。
这是Joomla tutorial on creating Content Plug-in。
于2011年3月17日更新
这是对第一条评论的回应。
为了修改文章,修改引用对象&$article
的值。
见下面的例子:
function onPrepareContent( &$article, &$params, $limitstart )
{
// Include you file with ajax code
JHTML::_('script', 'ajax-file.js', 'media/path/to/js/dir/');
// Create ajax div
$ajaxDiv = '<div id="ajax-div"></div>';
// Modify article text by adding the div for ajax at the top
$article->text = $ajaxDiv . PHP_EOL . $article->text;
return true;
}