0

让我先解释一下我要做什么。在 joomla 3.0 中,我为我的模板http://docs.joomla.org/Help30:Menus_Menu_Item_Text_Separator创建了一个 Menu_Item_Text_Separator 覆盖。似乎 joomla 只能识别每个模板一个默认的文本分隔符,如果您只想要一个就可以了。但理想情况下,我希望可以选择在我的模板文件夹中选择自定义文件夹以及 joomla 识别的默认文件夹。通知您这是我为实现它所做的工作。

  1. 在我的模板中,我有一个名为 html 的文件夹,其中有一个名为 mod_menu 的文件夹。
  2. 在 mod_menu 文件夹中,我有名为 .php 的文件:

default_separator.php custom_separator.php

  1. 然后我进入菜单管理器并编辑要为其显示文本分隔符的菜单项。
  2. 然后我转到“模板样式” http://docs.joomla.org/Help30:Menus_Menu_Item_Text_Separator并查找我的自定义样式。但我只能选择默认的。

所以我想知道这是否是 joomla 的工作方式,每个模板只能有一个默认值。但是有可能不止一个吗?

欢迎任何建议。

问候

w9914420

4

3 回答 3

1

抱歉,评论太长了。

好吧,让我们从头开始。模板在 templateDetails.xml 文件中定义了一组参数。模板样式是简单的记录,其中包含有关模板的信息和您选择的参数选项数组。您可以为给定模板制作任意数量的模板样式。每个样式都有自己的名称。在菜单中,您可以选择任何样式并将其分配给菜单项。……

您所说的与模板样式无关。您正在谈论为 mod_menu 使用布局覆盖。因为您使用的是与核心布局文件同名的文件,所以您应该得到 1:1 的替换。

根据我对您想要做什么的理解,您应该为 default_separator 和 default.php 创建一个新的命名替换项。那是因为替代布局字段将寻找 default.php 的替代品,比如 yourname.php ,然后在该替代品中,当您加载名为 separator 的模板时,它会自动寻找 yourname_separator 而不是 default_separator 因为它假定您正在追加_separator 到基本名称。如果你这样做,它有一些优点,例如你将能够制作更复杂的布局,并且它允许你有条件地加载不同的子布局,例如。

于 2013-02-15T23:44:06.683 回答
0

我认为您将模板样式与菜单模块的样式混淆了。除非您的模板中有一个参数指定了 mod_menu 布局的选择,否则模板样式对您没有帮助。转到模块管理器并选择您想要应用样式的模块。使用该字段选择所需的布局。或者,如果它是 css 样式,请使用 style 选项。也可能是您真正想要的是应用模块 chrome。这可以通过编辑模块来完成。如果您想拥有具有不同布局或样式的相同菜单,您可能需要为该菜单制作额外的模块。

于 2013-02-11T06:21:10.507 回答
0

我重新思考了我想要做什么。我试图做的事情无法通过我希望的方法来实现——为那个文本分隔符创建一个模板是不切实际的,尽管我现在已经发现了如何将模板参数值输入到布局覆盖中。

谢谢艾琳的时间

问候 w9914420

于 2013-07-10T18:14:24.110 回答