使用SobiPro作为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文件。这些文件及其文件夹如下:
- /section/view.xsl – 当选择“按客户”菜单项时提供控制
- /category/view.xsl – 为所有其他类别(数字、品牌等)提供控制。
- /common/entries.xsl – 用来生成HTML以显示类别中所有条目的锚点/图片
- /entry/details.xsl – 用来生成HTML以显示单个条目的字段(这通常在vcard.xsl文件中完成)
一旦我了解到点击菜单项会跳转到(1)或(2),我很快就理解了应用中的流程选项。我用(3)创建了一个类别的项目图片/锚点的列表,当锚点被点击时,控制权传递到该类别中的特定条目(4)。由于我接触过实时编程,我发现这些控制流程与实时编程流程和控制非常相似。
XML和XSLT
在SobiPro中,有一个配置选项允许将查询参数添加到URL中,添加后,在生成HTML之前显示生成的XML,这为开发者提供了一种查看开发XSLT期间实时XML数据的方法。
当您添加此查询参数(?xml=1)并在浏览器中查看源代码时,您将看到SobiPro为您的应用生成的XML。以下是我应用生成的XML片段示例
XML示例
XSLT示例
正如我之前所说的,XSLT语法简单,我能够将示例中的XSLT重新用于我大多数特定用途。以下是一段XSLT代码的片段
XSLT和PHP
除了提供给开发者额外的“模型”(XML文档)外,SobiPro还提供了直接访问PHP和Joomla环境的功能。您可以通过自定义函数或SobiPro内置函数轻松访问PHP,以下是一个自定义PHP函数的示例,该函数用于从名为“from CategoryCookie”的cookie设置“fromCategory”变量的值
未来展望
希望这篇对XSLT技术的介绍能让其他人不仅考虑其使用,而且能舒适地尝试新的Joomla扩展和新技术。
随着CCKs价值和流行度的持续增长,我希望看到更多CCK功能融入Joomla。此外,鉴于我看到了XSL的力量,我提倡在Joomla中广泛使用它,因为它允许开发者(可选)生成XML,并将XSLT使用纳入Joomla的模板架构。您对此有何看法?让我们进行对话。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能与Joomla项目的官方立场不一致
通过接受,您将访问 https://magazine.joomla.net.cn/ 外部的第三方服务
评论