2011-03-16 17 views
5

Tengo un problema real y creo que es muy fácil crear y usar los complementos de Joomla.¿Cómo creo un plugin de joomla simple?

Esto es lo que he hecho hasta ahora.

He creado un plugin joomla de muestra usando los dos archivos siguientes dentro de una carpeta y los llamé todos de la misma manera.

He enumerado sus contenidos a continuación.

El plugin se instala correctamente a través del panel de administración

Entonces activarlo a través de administrador de plugins

bien. todo listo para ir.

¿Cómo uso el complemento en un artículo una vez que he habilitado el complemento?

postal CARPETA: MakePlugIn CARPETA: 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> 

Respuesta

5

Usted no debe ser echo ing ing o print información en el enchufar.

El método es recibir referencia de artículo como parámetro, modificarlo y está bien. Puede usar var_dump para identificar rápidamente el tipo de objeto y las propiedades adecuadas.

Aquí está Joomla tutorial on creating Content Plug-in.


actualización el 3/17/2011

Esto es en respuesta al primer comentario. Para modificar el artículo, modifique el valor del objeto referenciado &$article. Consulte el siguiente ejemplo:

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

Estoy trabajando con los documentos. Sin embargo, tal vez estoy haciendo esto de la manera incorrecta. Si quisiera agregar

arriba del texto de cada artículo de una categoría determinada, luego cargar el div usando ajax, ¿sería más probable que esté construyendo un complemento o módulo o ... ya estoy usando ajax en el sitio, pero Tuve que editar la plantilla a través del administrador de plantillas para incluir la lib ... Lo que me gustaría evitar en el futuro haciendo un paquete fácil de cargar que contenga todo lo que necesito. Estoy comenzando con poco, así que ... cualquier idea de dirección es bienvenida. – Natrix

+0

Actualicé la respuesta, agregué un ejemplo de cómo usar el objeto del artículo – Alex