如何创建简单的joomla插件?

问题描述:

我有一个真正的问题不成熟的东西可能很容易创建和使用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>[email protected]</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> 

你不应该echo ING或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; 
} 

Adding external JS to the head of the document

+0

我正在处理文档。也许我会以错误的方式去解决这个问题。如果我想在某个类别的每篇文章上面添加

,然后使用ajax加载div,我是否更容易构建插件或模块或....我已经在网站中使用ajax,但是我必须通过模板管理器编辑模板以包含lib ..我希望通过创建一个容易上载的包含我需要的任何东西来避免这种情况。我从小开始,所以...任何方向的想法是受欢迎的。 – Natrix 2011-03-16 17:11:24
+0

我更新了答案,添加了如何使用文章对象的例子 – Alex 2011-03-17 14:30:10