Joomla:如何更改特定文章的模板

Kra*_*atz 9 joomla joomla-template

有没有办法只更改特定文章的模板?请注意,它应该无需将文章链接到任何菜单.

sil*_*lvo 5

如果您希望模板覆盖不依赖于菜单位置,则将标准joomla方式分配给菜单的其他模板将不起作用.你需要亲自动手并编写一些自定义代码.您需要使用article_id作为模板切换的触发器.

我在工作中做了类似的事情,但现在不记得这是如何实现的.我一找到它就会在这里发布我的代码.

编辑:找到代码:)

您需要编辑文件/includes/application.php,特别是getTemplate()方法.在这个方法的最后,就在之前:

// Fallback template
if (!file_exists(JPATH_THEMES.DS.$template.DS.'index.php')) {
  $template = 'rhuk_milkyway';
}
Run Code Online (Sandbox Code Playgroud)

您可以添加应用自定义模板的条件,如下所示:

//CUSTOM TEMPLATE FOR THE ARTICLE 13
if (JRequest::getVar('id')=='13' && JRequest::getVar('option')=='com_content') {
  $template = $custom_template_name;
}
Run Code Online (Sandbox Code Playgroud)

这会将名称位于$ custom_template_name中的自定义模板应用于id = 13的文章.您也可以使用它将不同的模板应用于组件,就像我使用simplecaddy一样:

//TEMPLATE FOR SIMPLECADDY
if (JRequest::getVar('option')=='com_caddy'){
  $template = 'shop';
}
Run Code Online (Sandbox Code Playgroud)