Как мне создать простой плагин Joomla? - PullRequest
5 голосов
/ 16 марта 2011

У меня реальная проблема, несмотря на то, что, вероятно, очень легко создать и использовать плагины 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 Ответ

5 голосов
/ 16 марта 2011

Вы не должны echo вводить или print вводить информацию в плагин.

Метод получает ссылку на статью в качестве параметра, измените его, и все в порядке. Вы можете использовать var_dump для быстрого определения правильного типа объекта и свойств.

Вот Учебник по Joomla по созданию подключаемого модуля контента .


Обновлено 3/17/2011

Это ответ на первый комментарий. Чтобы изменить статью, измените значение ссылочного объекта &$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;
}

Добавление внешнего JS к заголовку документа .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...