如何创建一个简单的joomla插件?

时间:2011-03-16 03:20:13

标签: plugins joomla

我遇到了一个真正的问题,那就是创建和使用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> 

1 个答案:

答案 0 :(得分:5)

您不应该在插件中echoprint信息。

该方法接收文章参考作为参数,修改它并且你很好。您可以使用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;
}

Adding external JS to the head of the document