• 如何创建及使用joomla plugin


    本文我们将演示创建一个plugin,用来修改网站的title,我们要做的是插入网站的"site name"到title最后面。
    如下面所示:

    假设站点名称是"Demo Joomla Site"

    提示:不要修改jooma core
    joomla 核心中用来操作显示title的文件是 libraries/joomla/document/html/renderer/head.php
    但是直接修改内核并不是一个好的做法,可能会为你以后升级带来隐患。

    正确的做法:创建一个plugin
    为便于演示此处我们创建的plugin叫“SiteNameInTitle”
    1.Plugin可以被放到以下任何一个plugin group中

    此处,我们在system group中,创建了两个文件sitenameintitle.xml和sitenameintitle.php。

    2.sitenameintitle.xml是plugin安装必须的,内容大概如下:

    <?xml version="1.0" encoding="utf-8"?>
    <install version="1.5" type="plugin" group="system">
        <name>System - SiteNameInTitle</name>
        <author>FangLin</author>
        <creationDate>2011-11-23</creationDate>
        <copyright>2010 - Fang Lin</copyright>
        <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
        <authorEmail>mail@gmail.com</authorEmail>
        <authorUrl>anything-digital.com</authorUrl>
        <version>1.1.0.1017</version>
        <description>Appends site name to title tag</description>
        <files>
            <filename plugin="sitenameintitle">sitenameintitle.php</filename>
        </files>
    </install>

    需要注意的地方主要是上面加红显示的,主要是group="system"及plugin指向的文件sitenameintitle.php

    3.第二个文件是sitenameintitle.php,内空如下:
      

    <?php
    defined('_JEXEC') or die('Restricted access');
    
    jimport('joomla.plugin.plugin');
    
    class plgSystemSiteNameInTitle extends JPlugin{
     
      function onAfterDispatch(){
        global $mainframe;
        $document = JFactory::getDocument();
        $document->setTitle($document->getTitle(). '-' . $mainframe->getCfg('sitename'));
        return true;
      }
    
    }

    我们创建的类别plgSystemSiteNameInTitle 并继承JPlugin,类别按惯例是以plg开头之后是plugin group和plugin name

    4. 在class内部,有一个onAfterDispatch方法来处理事件,onAfterDispatch会被自动调用

    5. 打包sitenameintitle.xml和sitenameintitle.php为sitenameintitle.zip

    6.在后台扩展-->安装卸载-->选择sitenameintitle.zip上传并安装
       

    7.安装成功后,你将看到“安装Plugin成功"提示,Joomla将解压sitenameintitle.xml 和sitenameintitle.php文件放到plugin/system下

    8.在后台扩展-->插件管理中启用,如下图所示
      


    9.在前台刷新你的浏览器,将看下title已改变
      


    至此,plugin安装应用成功。本文在joomla 1.5+中测试成功。如果您使用中有任何疑问欢迎留言。

    本文参考自:http://learnwebdesignonline.com/tutorial-joomla-plugin

     

  • 相关阅读:
    leetcode python翻转字符串里的单词
    leetcode python快乐数
    Usb gadget驱动
    cnblogs的第一篇
    python返回函数+匿名函数+装饰器+偏函数
    1144. 递减元素使数组呈锯齿状
    208. Implement Trie (Prefix Tree)
    3. Longest Substring Without Repeating Characters
    5. Longest Palindromic Substring :manacher
    929. 独特的电子邮件地址
  • 原文地址:https://www.cnblogs.com/fanglin/p/2509665.html
Copyright © 2020-2023  润新知