【发布时间】:2012-01-01 11:58:02
【问题描述】:
是否可以仅在特定文章(不是每个菜单项)中显示 Joomla 中的模块,而是在标准模块位置显示?
例如以某种方式在模板中获取当前文章 id 并在名称中插入具有相应 id 后缀的模块?
【问题讨论】:
标签: templates module joomla joomla-article
是否可以仅在特定文章(不是每个菜单项)中显示 Joomla 中的模块,而是在标准模块位置显示?
例如以某种方式在模板中获取当前文章 id 并在名称中插入具有相应 id 后缀的模块?
【问题讨论】:
标签: templates module joomla joomla-article
我建议您不要在模板中对此类内容进行硬编码。我的问题是,你为什么不想使用菜单项?您可以为该文章创建一个隐藏的菜单项并使用它,然后将模块分配给该菜单项。 如果您仍然想在不使用菜单项的情况下执行此操作,一种可能的解决方法是使用“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 );
}
}
如果代码 sn-p 显示不正确,我很抱歉,但我希望您能正常阅读。只有一件事,当您填写“your_module_type”部分时,不要包括名称的“mod_”部分。例如,如果要输出“mod_article_list”类型的模块,则应在“your_module_type”中写入“article_list”。
希望对你有帮助!
【讨论】: