Man*_*mar 2 php oop joomla joomla2.5
我是 Joomla 的新手,想了解 Joomla 的其中一项功能。
在我们使用的 joomla 模板中
jdoc:include type="component"
Run Code Online (Sandbox Code Playgroud)
陈述。但我无法理解这个功能是如何在 Joomla 中实现的。Joomla 的上述语句是如何在 url 中传递组件名称的?请帮我理解。
Joomla 的上述语句是如何在 url 中传递组件名称的?
澄清 jdoc 语句未在 URL 中传递。当 Joomla 在您的模板中呈现 index.php 并访问<jdoc:include type="component" />它时,它将用实际页面内容替换该代码块。
有一些不同的 jdoc 语句,您最常遇到的是:
<jdoc:include type="component" /> 用于系统消息
<jdoc:include type="head" />页面头部内容的页面内容以显示单个模块,在这种情况下,nav定义模板上的位置,您可以在其中放置来自任意数量模块的输出(感谢Elin指出我的疏忽这个)
<jdoc:include type="message" />
<jdoc:include type="module" name="nav" title="Nav menu" />
<jdoc:include type="modules" name="col-right" style="xhtml" />
您将拥有任意数量的具有不同模块名称的 jdoc 语句,其他的应该只在您的模板中出现一次。
更多细节
不同的 jdoc 语句:https ://docs.joomla.org/Jdoc_statements
解析如何工作:https ://api.joomla.org/cms-2.5/classes/JDocumentHTML.html
=== 更新 ===
这个语句如何知道应该呈现哪个内容页面?这是通过 view="Page_name" 吗??
对,那是正确的。如果你走的话
domain.com/index.php?option=com_content&view=article&id=1
Run Code Online (Sandbox Code Playgroud)
当解析模板的 index.php 文件时,Joomla 会在到达时插入文章 1 的内容 <jdoc:include type="component" />
这里有更多关于解析过程中会发生什么的信息
https://docs.joomla.org/Advanced_topics
jdoc 语句由
/libraries/joomla/document/html/renderer/ 中的类呈现
希望这可以帮助!