zf2 中每个模块的 module.config.php 中的不同设置
Diffrent settings in module.config.php for every module in zf2
我有两个模块:admin 和 application 首先有:
'view_helper_config' => array(
'flashmessenger' => array(
'message_open_format' => '<div%s><button data-dismiss="alert" class="close" type="button">×</button>',
'message_separator_string' => '<br>',
'message_close_string' => '</div>'
),
),
秒内有:
'view_helper_config' => array(
'flashmessenger' => array(
'message_open_format' => '<ul%s><li>',
'message_separator_string' => '<li></li>',
'message_close_string' => '</li></ul>'
),
),
而且总是合并。我想在每个模块上都有不同的配置。我该怎么做?
请记住,您的 module.config.php
文件有点像级联样式表,第一个被加载,然后后续文件中的设置补充或替换前一个加载的设置文件。 module.config.php
文件按照模块在 project\config\application.config
中列出的顺序加载。换句话说,你在两个不同的文件中包含的语句相当于在同一个 module.config.php
.
中一个接一个地列出它们
您的问题有多种解法:
- 通过扩展它并给它一个不同的名字来克隆助手,并在不同的模块中使用不同的版本。 (如果你这样做你
甚至可以在别名中设置默认的 HTML 字符串
并避免将它们设置在
module.config.php
中。
- 在您的视图 而不是
module.config.php
中设置 HTML 字符串。查看 documentation 以了解操作方法。
- 克隆您的
layout.phtml
并在其中设置字符串。上面的解决方案要求您在每个和中设置 HTML 字符串
您创建的每个视图,但文档说您可以设置
他们在任何 .phtml
。 EdpModuleLayouts 让你拥有
独立的、模块特定的布局;你可以创建一个不同的
每个模块的布局并在每个模块中设置您选择的 HTML 字符串
布局。
- 使用 CSS 类 打开和关闭 HTML 字符串。我使用 EdpModuleLayouts 以便我的管理模块的外观非常醒目
与其他模块不同,所以我已经有了替代品
CSS 个不同模块的文件。有了这些,就可以
打开和关闭 HTML 字符串。对于您的应用程序,您可以放置
相关标签中的
class=”toggleFM”
并将 CSS 设置为
display: hidden;
因此在一个模块中一定
元素被呈现并且在另一个模块中其他元素是
呈现。这是一个复杂的解决方案,但它允许您设置
module.config.php
文件中的 HTML 字符串,如果你是
想做。
编辑
此外,请查看您的分隔符字符串。您可能需要 '</li><li>'
而不是 '<li></li>'
,因为分隔符会关闭一个列表项并打开另一个列表项。
我有两个模块:admin 和 application 首先有:
'view_helper_config' => array(
'flashmessenger' => array(
'message_open_format' => '<div%s><button data-dismiss="alert" class="close" type="button">×</button>',
'message_separator_string' => '<br>',
'message_close_string' => '</div>'
),
),
秒内有:
'view_helper_config' => array(
'flashmessenger' => array(
'message_open_format' => '<ul%s><li>',
'message_separator_string' => '<li></li>',
'message_close_string' => '</li></ul>'
),
),
而且总是合并。我想在每个模块上都有不同的配置。我该怎么做?
请记住,您的 module.config.php
文件有点像级联样式表,第一个被加载,然后后续文件中的设置补充或替换前一个加载的设置文件。 module.config.php
文件按照模块在 project\config\application.config
中列出的顺序加载。换句话说,你在两个不同的文件中包含的语句相当于在同一个 module.config.php
.
您的问题有多种解法:
- 通过扩展它并给它一个不同的名字来克隆助手,并在不同的模块中使用不同的版本。 (如果你这样做你
甚至可以在别名中设置默认的 HTML 字符串
并避免将它们设置在
module.config.php
中。 - 在您的视图 而不是
module.config.php
中设置 HTML 字符串。查看 documentation 以了解操作方法。 - 克隆您的
layout.phtml
并在其中设置字符串。上面的解决方案要求您在每个和中设置 HTML 字符串 您创建的每个视图,但文档说您可以设置 他们在任何.phtml
。 EdpModuleLayouts 让你拥有 独立的、模块特定的布局;你可以创建一个不同的 每个模块的布局并在每个模块中设置您选择的 HTML 字符串 布局。 - 使用 CSS 类 打开和关闭 HTML 字符串。我使用 EdpModuleLayouts 以便我的管理模块的外观非常醒目
与其他模块不同,所以我已经有了替代品
CSS 个不同模块的文件。有了这些,就可以
打开和关闭 HTML 字符串。对于您的应用程序,您可以放置
相关标签中的
class=”toggleFM”
并将 CSS 设置为display: hidden;
因此在一个模块中一定 元素被呈现并且在另一个模块中其他元素是 呈现。这是一个复杂的解决方案,但它允许您设置module.config.php
文件中的 HTML 字符串,如果你是 想做。
编辑
此外,请查看您的分隔符字符串。您可能需要 '</li><li>'
而不是 '<li></li>'
,因为分隔符会关闭一个列表项并打开另一个列表项。