如何调试类似的URLhttp://url/index.php/abcd/efgh/hijk?tmpl=component



我是php的新手。我正试图在基于joomla的网站上调试一些东西。我想要的文件路径是类似的

http://url/index.php/abcd/efgh/hijk?tmpl=component

我不知道如何使用"/abcd/efgh/ijkl"。因为index.php是一个文件,没有/abcd/efgh/hijk 的线索

Joomla路由基于菜单项别名,该别名标识负责呈现主页面内容的组件。因此,如果你知道你点击了什么,在菜单管理器中找到相同的菜单项,你就可以检查它

index.php/top-level-menu-alias/next-level-menu-alias/third-level/

如果组件需要参数,并且组件的router.php正在完成它的工作,您可能会发现(至少有一些)附加的参数:

index.php/top-level-menu-alias/next-level-menu-alias/third-level/some-component-params

所以abcd绝对是顶级菜单项的别名。打开菜单管理器,找到它,然后寻找下一部分,以此类推,直到找到"叶子"菜单项。url上的所有额外数据都将是组件参数。

一旦您知道了组件和菜单项,您就可以从菜单项更改参数或查找代码。为了找到代码,只需在菜单项中查找真正的非sef url,它就会看起来像这样:

index.php?option=com_content&view=article&id=116

com_content是组件,即在components/com_content下查找它。article是视图名称,它将位于组件的root/view/article和子文件夹tmpl中的实际标记下。

&tmpl=component

告诉Joomla使用模板的component.php而不是index.php来渲染组件。这通常只渲染组件和库,而不渲染模块。您的模板位于/templates/template_name下。

最新更新