可以仅在特定文章(不是每个菜单项)中显示joomla中的模块,但是在标准模块位置。 ? 例如,以某种方式获取模板中的当前文章ID并在名称中插入具有相应id后缀的模块?
答案 0 :(得分:1)
我建议你不要在模板中硬编码这样的东西。我的问题是,你为什么不想使用菜单项?您可以为该文章创建隐藏菜单项并使用它,然后将该模块分配给该菜单项。 如果您仍然希望在不使用菜单项的情况下执行此操作,可能的解决方法是使用类似“mod_php”(某些允许您使用php代码的模块)并执行或多或少的操作:
在你的php模块中,输入以下代码:
$option = JRequest::getVar( 'option', '' );
$view = JRequest::getVar( 'view', '' );
$id = JRequest::getInt( 'id', 0 );
if ( $option == "com_content" && $view == "article" && $id == YOUR_ARTICLE_ID ) {
$module = JModuleHelper::getModule('your_module_type', 'module_title');
if ( ! empty( $module ) ) {
$attribs = array( 'style' => 'xhtml' );
echo JModuleHelper::renderModule( $module, $attribs );
}
}
如果代码段显示不正确,我很抱歉,但我希望你能正确阅读。只需一件事,当您填写“your_module_type”部分时,请不要包含名称的“mod_”部分。例如,如果要输出“mod_article_list”类型的模块,则应在“your_module_type”中写入“article_list”。
我希望它有所帮助!