所以基本上我有一个模板,我用于除了一个页面之外的每个页面 - 图库页面 - 我希望它看起来不同,因此我必须从.php文件中取出一些代码,但显然我不想把它从index.php中删除,因为这会影响所有页面。
我的问题基本上是如何告诉Gallery页面(菜单项)使用这个不同的.php文件 - gallery.php - 就像在WordPress中你可以为页面使用不同的.php文件一样。
我知道您应该使用模板管理器将“分配”菜单项分配给不同的模板,但是它如何知道要为单独的模板引用的文件。您是否必须在服务器上创建另一个包含不同index.php的文件夹?
答案 0 :(得分:2)
无需创建其他文件夹或index.php
您只需为Gallery页面的菜单项指定不同的模板。
转到Joomla管理部门,从管理员的顶部菜单中选择Menus
,选择菜单所在的菜单,然后执行以下操作:
Menu manager -> Edit menu item -> Template style
(左下角)=您可以选择要用于此菜单项的模板。
希望这能帮到你!
答案 1 :(得分:1)
首先了解Joomla的工作原理非常重要。 Joomla中只有一个文件。该框架使用当前模板中的index.php来创建所请求的页面。该文件基本上定义了模块相对于组件将要显示的内容的位置。 Joomla知道如何基于URL的查询字符串构建页面(如果您启用了SEF URL,则会发布变量)。该URL将告诉Joomla将提供内容的组件以及内容的itemID。
组件是代码从一个页面到另一个页面的不同之处。例如,照片库组件将具有显示图像的代码,而表单组件将具有显示联系表单的代码。 Index.php永远不会改变,它只是加载组件中的代码。
itemID是等式的重要部分,因为它是如何将不同模块分配给模块管理器中的特定页面的。为Gallery创建菜单项时,会为其分配一个itemID,然后您可以使用该ID为该页面分配各种模块或模板。当您创建一个模块(如登录模块或菜单模块)时,将其放在一个位置,然后将其分配给所有页面,选择的页面,除了选择的页面之外的所有页面。
通常我不使用多个模板,除非页面存在结构差异。您可以使用页面类后缀为每个菜单项分配唯一ID,这样您就可以使用唯一的CSS控制每个页面。