将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/nom-de-ma-section(对我而言,是/tbdp/)文件夹中。到此为止,我已经理解“nom-de-ma-section”文件夹不仅是一个模板,也是一个应用程序或章节。
在/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!环境。PHP可以通过自定义函数或SobiPro的内部函数轻松访问您的模板XLST。以下是一个自定义PHP函数示例,该函数用于从名为“fromCategoryCookie”的cookie中定义“fromCategory”变量的值
更进一步
我希望这个XSLT技术的介绍不仅能让其他人了解其使用,还能鼓励他们探索新技术和尝试新的Joomla!扩展。
CCK的知名度和卓越性不断增长,我真心希望看到更多CCK功能集成到Joomla!中。此外,在发现XSL的强大功能后,我成为了其用于Joomla!的强烈支持者,因为它允许开发者生成XML,并将XSLT的使用集成到Joomla!模板架构中。
您怎么看?我们来讨论一下...
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能与Joomla项目官方立场不一致
通过接受,您将访问https://magazine.joomla.net.cn/之外的第三方外部服务
评论