joomla框架,joomla插件,joomla组件开发入门教程

joomla框架,joomla插件,joomla组件开发入门教程

本文主要介绍了joomla组件的开发方法,并结合实例分析了joomla组件的结构、功能和具体技巧。有需要的可以参考一下。

本文介绍joomla组件开发的知识点。分享给你,供你参考,如下:

在编码之前,需要创建一些文件和文件夹,并运行一些查询语句。您不仅可以创建组件,还可以尝试不同的功能,而无需额外的配置。还能看到Joomla!以及组织和访问组件的方法。最后,您将像其他组件一样加入工具栏。

Joomla!组件的结构

珠拉。的所有组件都遵循指定的命名约定。每个系统组件都有一个唯一的名称,该名称不应包含空格。代码分为两个文件夹。文件夹以com_开头,后跟组件的名称。因此,您必须创建两个同名的com_reviews文件夹,一个在前端组件下,另一个在后端administrator/components下。当组件由前端加载时,Joomla!将查找由组件唯一命名并以结尾的文件。php扩展。在components/com_reviews下建立review.php文件。类似地,在后端创建的文件需要以admin开头。应该在administrator/components/com _ reviews下创建admin.reviews.php。

执行组件

珠拉。所有前端请求都要经过根目录的index.php文件,通过设置URL GET的option变量来加载不同的组件。假设你当地的joomla!站点的地址是http://localhost/joomla/index.php,那么你加载的组件的地址应该是3358 localhost/Joomla/index . PHP?Option=reviews,打开reviews.php文件并添加以下代码:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

已定义( _JEXEC )或die(限制访问);

echo div class= component heading 餐厅评论/div ;

您将看到一个类似的页面:

暂时画面显示请参考《Joomla! extension development》。

您可能想知道首先调用defined()函数的目的是什么。这是为了确保代码不被直接通过components/com _ reviews/reviews . PHP访问。

将以下代码添加到后端的administrator/components/com _ reviews/admin . reviews . PHP文件中:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

已定义( _JEXEC )或die(限制访问);

echo餐厅评论’;

浏览地址:

http://localhost/Joomla/administrator/index . PHP?Option=com_reviews,比较页面的输出:

暂时画面显示请参考《Joomla! extension development》。

Joomla!前后端的分离

珠拉。的所有组件,其代码使后端部分与前端部分分开。在某些情况下,比如数据库表类,后端会用到前端的一些文件,但它们是独立的。当你不让后端功能和前端代码混在一起的时候,安全性就加强了。当后端和前端结构相似时,这是一个非常重要的特性。以下为Joomla!根目录和管理员文件夹的展开图:

暂时画面显示请参考《Joomla! extension development》。

请注意,管理员文件夹的结构与根目录类似。区分它们是很重要的,否则你可能会把代码放在错误的地方而无法执行,除非你把它们放回正确的地方。

在数据库注册组件

现在您知道了如何访问前端和后端组件。虽然你每次都可以手动输入URL来执行你的代码,但是你的用户无法接受。如果在数据库中注册组件,即在组件数据表中添加记录,则可以使用导航。使用以下SQL语句注册组件:

插入到jos_components(名称,链接,管理菜单链接,

admin_menu_alt, option`, admin_menu_img,params)

值(餐馆评论, option=com_reviews ,

option=com_reviews ,管理评论, com_reviews ,

js/ThemeOffice/component.png , );

这里声明了组件的名称,可以包含空格和标点,可以指定前端和后端的链接,可以指定后端组件菜单的图标。当您设置基本目录并添加文件时,一些组件无需编写任何SQL语句即可执行。这样就可以在后端给组件添加链接,也可以在前端适当的位置添加链接,而不用硬编码URL。刷新您的后端页面,下拉组件菜单,您将看到您的组件的子菜单项:

暂时画面显示请参考《Joomla! extension development》。

现在组件已经注册,您可以在前端创建一个链接并转到

菜单|主菜单,然后单击新建按钮,从该页面选择餐馆评论,并输入链接名称,如下所示:

暂时画面显示请参考《Joomla! extension development》。

单击“保存”,然后转到前端,您应该会看到“评论”链接:

暂时画面显示请参考《Joomla! extension development》。

可以准备好自己的PHP技能,开始写组件了。还要确保所有前端请求都经过http://localhost/Joomla/index . PHP?Option=com_views,而后端请求是通过http://localhost/Joomla/administrator/index . PHP?option=com_reviews .

珠拉。它非常灵活,允许你做你喜欢的事情。在这个例子中,我们将教你从一个新的组件开始,然后设计工具栏、用户、数据库类和库。一旦你理解了它们是如何工作的,这些元素将会节省你很多时间。

创建工具栏

在Joomla!在后端,所有核心组件都实现了相同的按钮来保存、删除、编辑和发布项目。您可以在组件中使用这些按钮,这样管理员将会有一个无缝的体验。首先,在administrator/components/com _ reviews文件夹中创建toolbar.reviews.html.php文件,并输入代码:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

已定义( _JEXEC )或die(限制访问);

课程工具栏_评论{

function _NEW() {

JToolBarHelper:save();

JToolBarHelper:apply();

JToolBarHelper:cancel();

}

function _DEFAULT()

JToolBarHelper:title( JText:_(餐厅评论 ),

generic . png’);

jtoolbar helper:publish list();

JToolBarHelper:un publish list();

JToolBarHelper:editList();

JToolBarHelper:delete list();

JToolBarHelper:add new();

}

}

包含输出代码的文件通常被组织成类,就像这里的TOOLBAR_reviews。每个成员函数显示不同的工具栏。JtoolBarHelper类包含了创建工具栏HTML元素的所有函数,还可以添加自定义HTML。你需要明白的是,工具栏是用HTML表格构建的,你可能想在你的导航中加入td标签。

现在已经定义了工具栏,但是您需要添加一些代码来决定显示哪些按钮。珠拉。以组件名开头并以reviews.php结尾的文件将被自动加载。将以下代码添加到administrator/components/com _ reviews下的toolbar.reviews.php文件中:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

已定义( _JEXEC )或die(限制访问);

require _ once(JApplicationHelper:getPath( toolbar _ html );

开关(任务)

{

案例“编辑”:

案例“添加”:

TOOLBAR _ reviews:_ NEW();

打破;

默认值:

TOOLBAR _ reviews:_ DEFAULT();

打破;

}

这一行包含require_once(),并使用JapplicationHelper类的成员函数getPath()来获取toolbar.reviews.php文件的路径,而不包括组件的名称。即使您更改了组件的名称,您仍然可以正常加载文件,而无需修改代码。

说明

:

你可能想知道toolbar.reviews.php和toolbar.reviews.html.php最初是为什么被创造出来的。组件开发人员的首选编码风格是将处理逻辑与输出完全分离,这样就非常容易添加功能并在以后与他人共享代码。

用toolbar.reviews.php输出类加载文件后,您需要决定显示哪个工具栏。所请求的变量$task被自动注册为一个全局变量,并有一个逻辑流来指导组件。现在刷新后端页面并进入餐馆评论组件,然后您应该能够看到下面的工具栏:

暂时画面显示请参考《Joomla! extension development》。

要查看其他工具栏,请在URL后添加task=add,然后重新加载页面。您应该会看到以下工具栏:

暂时画面显示请参考《Joomla! extension development》。

当你的用户想要使用你的组件时,他们当然不希望在URL后面手动添加任务变量,那么他们如何使用第二个工具栏呢?每个工具栏对应一个不同的任务。当单击一个按钮时,相关的任务将被添加到表单中并自动提交。

一旦适当的表单在适当的位置,点击“新建”按钮,看到第二个工具栏。因为我们在后端没有任何表单,所以这些工具栏按钮不起作用。下一章将教你如何使用这些按钮。

有效的工具栏按钮

珠姆拉。您可以使用自己的任务和标签来覆盖任何按钮,并传入第一个和第二个参数来覆盖。以下是Joomla!标准版本提供的有效按钮:

暂时画面显示请参考《Joomla! extension development》。

说明:

如果想创建类似核心按钮的自定义按钮,可以使用JtoolBarHelper的成员函数custom(),将任务、图标、鼠标悬停图片和文本描述作为参数传递。

更多对joomla感兴趣的读者,请查看我们的专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《ThinkPHP常用方法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》、《php常见数据库操作技巧汇总》和0755。

希望这篇文章对大家基于joomla编程有所帮助。

joomla框架,joomla插件,joomla组件开发入门教程