/components
/com_content
/views
/articles
/tmpl
default.php (this is a layout)
form.php (this is a layout)
view.html.php (this is the view that outputs the HTML)
view.pdf.php (this is the view that outputs the PDF)
/category
/tmpl
blog.php (layout)
blog_items.php (a sub-layout
default.php (layout)
view.html.php (HTML view)
view.feed.php (RSS feed)
Joomla文档中文翻译 - 模板输出覆盖 - 组件输出类型
今天我们开始Joomla模板输出及布局覆盖的相关学习。首先,我们需要了解一下Joomla组件(component)的文件结构。组件通常由很多部分组成,每个部分都各司其职;不过对我们来说最重要的是/views/路径中的文件。
下面是com_content(文章组件)部分结构的示意;其中包含两个view:articles与category。
我们可以看到,articles与category这两个从属于com_content的view各自拥有自己的路径;实际上com_content还包括另外几个view,如archive,frontpage和section。
输出类型
在上面的示意中,我们可以看到/articles/路径中有一些文件。在view的路径中,始终会有至少一个名为view.html.php的文件,我们把它叫做视图文件(view file);视图文件的数量取决于输出的类型,其文件名也与输出类型相对应,形如“view.输出类型.php”,其中输出类型的部分可以是html,feed,pdf,raw或error等(在“Joomla根路径/libraries/joomla/document/”路径中可以找到更多类型)。视图文件及其命名方式的意义在于,当我们需要当前view的输出类型为html时,就为它配置view.html.php文件;如果需要其输出类型为RSS,那么就需要用view.feed.php文件。
当我们在站点管理后台的全局设置中将
http://domain/sports.html
http://domain/sports.feed
http://domain/sports/rowing.html
http://domain/sports/rowing.pdf
其中,sports.html页面使用的是view.html.php,即输出类型为html,而sports.feed对应着view.feed.php,输出类型为feed。
目前,html类型的输出是可以由我们来自定义的,这也引出了接下来的一个知识点:Layout,布局。我们将在下一篇文档中详细了解。
关于“view”及“layout”的区别与联系,可以参考“Joomla文档中文翻译 - 模板输出覆盖 - 什么是MVC”。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看官方英文文档: Understanding Output Overrides
| < Prev | Next > |
|---|
