Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php joomla 3.0中每个模板有多个文本分隔符样式_Php_Joomla_Joomla Extensions_Joomla3.0_Joomla Module - Fatal编程技术网

Php joomla 3.0中每个模板有多个文本分隔符样式

Php joomla 3.0中每个模板有多个文本分隔符样式,php,joomla,joomla-extensions,joomla3.0,joomla-module,Php,Joomla,Joomla Extensions,Joomla3.0,Joomla Module,让我先解释一下我想做什么。 在joomla 3.0中,我为我的模板创建了一个菜单项文本分隔符覆盖。似乎joomla只会识别每个模板的一个默认文本分隔符,如果您只需要一个就可以了。但理想情况下,我希望能够选择模板文件夹中的自定义文件夹以及joomla认可的默认文件夹。告诉你这是我为实现这一目标所做的 在我的模板中,我有一个名为html的文件夹,里面有一个名为mod_menu的文件夹 在mod_menu文件夹中,我有名为.php的文件: default_separator.php 自定义分隔符.ph

让我先解释一下我想做什么。 在joomla 3.0中,我为我的模板创建了一个菜单项文本分隔符覆盖。似乎joomla只会识别每个模板的一个默认文本分隔符,如果您只需要一个就可以了。但理想情况下,我希望能够选择模板文件夹中的自定义文件夹以及joomla认可的默认文件夹。告诉你这是我为实现这一目标所做的

  • 在我的模板中,我有一个名为html的文件夹,里面有一个名为mod_menu的文件夹
  • 在mod_menu文件夹中,我有名为.php的文件:
  • default_separator.php 自定义分隔符.php

  • 然后进入菜单管理器,编辑要为其显示文本分隔符的菜单项
  • 然后我转到“模板样式”并查找我的自定义样式。但是我只能选择默认的
  • 所以我想知道joomla的工作方式是否就是每个模板只能有一个默认值。但是有可能有不止一个吗

    欢迎任何建议

    问候


    w9914420

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

    很抱歉,评论时间过长

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

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


    据我所知,您应该为default_separator和default.php创建一个新的命名替换项。这是因为alternative layout字段将查找default.php的替换项,比如yourname.php,然后在该替换项中,当您加载名为separator的模板时,它将自动查找yourname\u separator,而不是default\u separator,因为它假定您将_separator附加到基本名称。如果您这样做,它有一些优点,例如您可以制作更复杂的布局,并允许您有条件地加载不同的子布局。

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

    谢谢你抽出时间陪我


    关于w9914420,你好,Elin,再次感谢您的帮助我为我的问题不清楚表示歉意,但我指的不是模块替代布局或模块chrome。特别是我的问题是关于菜单项和位于右侧的“模板样式”选项(参见链接)。我应该问一下,每个模板的模板样式是否限制为一种默认样式,或者是否可以创建一种自定义样式。下面是我声明的屏幕截图:-谢谢;)我还发现了这一点——根据文章,您可以使用joomla安装的默认版本,也可以使用模板中的版本。我想为我的模板创建一个替代模板样式以及一个默认模板样式。您可以为模板创建任意多个模板样式。嗨,Elin,再次感谢您的帮助嗨,Elin,再次感谢您的帮助。我已经阅读了你的笔记并实施了你的策略。不幸的是,我似乎只能选择使用我在模板中指定的_分隔符。我无法创建其他默认分隔符文件。我想知道我的Joomla 3版本是否有错。您是否有可能指定joomla的哪个版本适用。感谢Elin您提供了非常丰富的信息-问候-W9914420您存储覆盖的文件名是什么?您只想偶尔使用该文件名为logix_separator.php,位于我的模板的mod_menu override文件夹中您有logix.php文件吗?