我在其中一个自定义模块中看到了这个 $params->get('moduleclass_sfx') ,发现它也是核心代码的一部分。想知道这是关于什么的?在谷歌搜索中找不到任何 Joomla 文档的链接,因此不确定这是关于什么的?
2 回答
模块类后缀是用于向模块添加自定义类的参数。
例如,假设您有一个带有左侧边栏的模板,并且在该边栏中您有两个不同的模块。边栏中模块的默认背景颜色为灰色。但是,您希望第一个模块背景颜色为红色。这是模块类后缀派上用场的时候。
默认模块如下所示:
html:
<div class="module">
CSS:
.module { background: grey; }
如果您插入一个模块类后缀,例如“ test ”,则会导致以下结果:
<div class="module test">
用于此的 css 将如下所示:
.module.test { background: red; }
模板提供者使用模块类后缀为模块提供更多种类的样式。看一下这个模板,在顶部菜单上,转到“功能”,然后转到“布局”以获得一个很好的示例。
希望这可以帮助。
我没有用过Joomla!过一段时间,但据我记得moduleclass_sfx
本身并没有什么特别之处,它只是您可以在管理面板中修改的模块参数之一。
通常它是一个 CSS 类名,您可以将其添加到模块(用于前端视图)中,以便进一步对其进行个性化。
因此,该表达式$params->get('moduleclass_sfx')
只需(通常在控制器中)从所有模块参数 () 中获取“moduleclass_sfx”索引(即,您插入 CSS 类的模块的管理面板输入的名称$params
)。
我猜这种高发生率是因为它是命名该输入字段的标准方式(毕竟这是一个有用且通用的功能,它允许进行更多的自定义),这就是为什么您在自定义模块和核心模块中都可以找到它,但我不要认为这很重要:我的意思是,在您的自定义模块中,您可以将其命名为“css_suffix”,调用它$params->get('css_suffix')
并获得相同的结果。