4分钟阅读时间 (801字)

使用SobiPro作为CCK

Using SobiPro as a CCK

在评估了几个CCK之后,我发现SobiPro满足了我建立一个作品集网站的所有要求。对我来说唯一未知的是学习可扩展样式表语言(XSLT)技术的难度。对于那些不熟悉的人来说,XSLT是一种“模板”技术,它解析XML文档并生成HTML。我喜欢能够同时操纵数据模型和视图的想法。我不喜欢学习新技术。

学习XSLT

为了更好地了解XSLT是什么,我安装了SobiPro和演示应用程序,并通过FTP/Dreamweaver查看.XSL文件。幸运的是,我能够轻松理解XSLT语法。

我在理解SobiPro架构的层次结构和文件结构中的功能流程方面遇到了困难。一旦我熟悉了部分、类别、条目的层次结构,我就明白我可以在条目内创建各种字段类型,而“条目”就像自定义Joomla“文章”。那么,“条目”就是我的后端数据输入表单...在CCK术语中,这是一种自定义“内容类型”。此表单用于创建“条目”(SobiPro中文章的名称),可以通过一个或多个类别从前端访问。部分仅仅是类别组。在这个时候,我把“部分”想成应用程序,因为SobiPro附带的不同部分的示例数据为每个特定应用程序(市场、房地产、企业目录等)。

通过文件结构的功能流程可以通过首先理解SobiPro的文件命名约定来最好地理解。所有.XSL文件都位于/ components / com_sobipro / usr / templates / my-section-name(对我而言,这是/tbdp/文件夹)。在这个时候,我也现在明白了“my-section-name”文件夹除了是一个应用程序或部分外,还是一个模板。

在/tbdp/文件夹中,还有其他文件夹存放XSLT文件。根据你的数据展示流程,你需要了解各种XSLT文件。对于我的应用程序,我只需要关注四个XSLT文件。这些文件及其文件夹如下:

  1. /section/view.xsl – 在选择“按客户”菜单项时提供控制
  2. /category/view.xsl – 为所有其他类别(数字、品牌等)提供控制。
  3. /common/entries.xsl – 生成HTML以显示类别中所有条目的锚点/图像
  4. /entry/details.xsl – 生成HTML以显示单个条目的字段(这通常在vcard.xsl文件中完成)

一旦我明白点击菜单项将带我到(1)或(2),我很容易理解应用程序的流程选项。我使用(3)创建一个类别的项目图像/锚点列表,当点击锚点时,控制传递到该类别的特定条目(4)。由于接触过实时编程,我发现这些控制流程与实时编程流程和控制非常相似。

XML和XSLT

在SobiPro中有一个配置选项,允许将查询参数添加到URL中。添加后,显示生成的XML,然后再生成HTML。这为开发人员提供了一种简单的方法,在开发XSLT时查看实时XML数据。

当你添加此查询参数(?xml=1)并在浏览器中查看源代码时,你会看到SobiPro为你生成应用于应用程序的XML。以下是我应用程序生成的一段XML示例

XML示例

xml-example2

XSLT示例

正如我之前所说,XSLT语法很简单,我能够将演示中的XSLT重新用于我大部分的具体用途。以下是一段XSLT代码的片段

xslt-example1

XSLT和PHP

除了提供给开发人员额外的“模型”(XML文档)之外,SobiPro还提供了对PHP和Joomla环境的直接访问。可以通过自定义函数或SobiPro内置函数轻松访问PHP,在XSLT模板中。以下是一个自定义PHP函数的示例,它用于从名为“from CategoryCookie”的cookie设置“fromCategory”变量的值

xslt-php

前进

希望这篇对XSLT技术的介绍能够使其他人不仅考虑其使用,而且能够放心地尝试新的Joomla扩展和新技术。

随着CCKs的价值和受欢迎程度的不断增长,我希望看到更多的CCK功能集成到Joomla中。此外,鉴于我看到了XSL的强大之处,我支持其在Joomla中的使用,因为它允许开发人员(可选地)生成XML并将XSLT的使用纳入Joomla的模板架构。你有什么看法?让我们进行对话。

在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能不符合Joomla项目的官方立场

0
Citius Altius Fortius
 

评论

已注册? 在此登录
尚未发表评论。成为第一个发表评论的人

接受后,您将访问由 https://magazine.joomla.net.cn/ 之外的第三方提供的服务