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

Nat*_*rix 5 joomla plugins

我有一个真正的问题,那就是创建和使用joomla插件可能非常容易.

这是我到目前为止所做的.

我使用文件夹中的以下两个文件创建了一个示例joomla插件,并将它们命名为all.

我列出了他们的内容如下.

该插件通过管理面板正确安装

然后我通过插件管理器启用它

好.一切都准备好了.

一旦启用插件,如何在文章中使用插件?

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";
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

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> 
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 5

你不应该echo荷兰国际集团或print荷兰国际集团在插件的信息.

该方法接收文章引用作为参数,修改它,你很好.您可以使用var_dump快速识别正确的对象类型和属性.

这是Joomla关于创建内容插件的教程.


更新于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;
}
Run Code Online (Sandbox Code Playgroud)

将外部JS添加到文档的头部.