Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plugins 如何创建一个简单的joomla插件?_Plugins_Joomla - Fatal编程技术网

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

Plugins 如何创建一个简单的joomla插件?,plugins,joomla,Plugins,Joomla,我在解决一些问题时遇到了一个真正的问题,创建和使用joomla插件可能非常容易 这是我到目前为止所做的 我使用文件夹中的以下两个文件创建了一个示例joomla插件,并将它们命名为相同的名称 我在下面列出了它们的内容 插件通过管理面板正确安装 然后我通过插件管理器启用它 嗯。一切准备就绪 启用插件后,如何在文章中使用插件 ZIP文件夹:MakePlugIn 文件夹:MakePlugIn MakePlugIn.php- <?php // No direct access allowed to

我在解决一些问题时遇到了一个真正的问题,创建和使用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> 

接通电源
接通电源
03/15/2011
版权所有(C)2011持有人。版权所有。
通用公共许可证
authoremail@website.com
www.authorwebsite.com
1
进行插件测试
MakePlugIn.php

您不应
回显或
打印插件中的信息

该方法正在接收文章引用作为参数,修改它就可以了。您可以使用
var\u dump
快速识别正确的对象类型和属性

这是


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;
}
函数onPrepareContent(&$article,&$params,$limitstart)
{
//使用ajax代码包含您的文件
JHTML::(('script','ajax file.js','media/path/to/js/dir/');
//创建ajaxdiv
$ajaxDiv='';
//通过在顶部添加用于ajax的div来修改文章文本
$article->text=$ajaxDiv.PHP\u EOL.$article->text;
返回true;
}

.

我正在整理文件。也许我走错了方向。如果我想在上面添加某个类别的每篇文章文本,然后使用ajax加载div,我是否更可能构建插件或模块,或者。。。。我已经在站点中使用ajax,但我必须通过模板管理器编辑模板,以包含库。。我希望通过制作一个包含所有我需要的东西的易于上传的包来避免这种情况。我从小事做起,所以。。。欢迎任何关于方向的想法。我更新了答案,添加了如何使用文章对象的示例