如果您希望模板覆盖不依赖于菜单位置,则将标准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)
| 归档时间: |
|
| 查看次数: |
20115 次 |
| 最近记录: |