跳转到主要内容
gz818 提交于 28 December 2015

D7,我在当前主题文件template.php中添加了 rdsxbz_preprocess_region(&$variables, $hook) 函数

就想是访问 test/regionshow 时, region模板用 region--test-regionshow.tpl.php

if ($_GET['q'] == 'test/regionshow' && $variables['region'] == 'content') {

array_unshift($variables['theme_hook_suggestions'], 'region__test_regionshow');

}

调试看到 $variables['theme_hook_suggestions'] 内容是

theme_hook_suggestions=>Array
(
    [0] => region__test_regionshow
    [1] => region__content
)

我在当前主题目录下有两个文件

region--content.tpl.php

region--test-regionshow.tpl.php

但是,测试时发现, 只要有 region--content.tpl.php 文件, 系统就不会使用 region--test-regionshow.tpl.php 模板文件! 永远不会覆盖!

只要把 region-content.tpl.php 改名或删除后, 系统就立刻会使用 region--test-regionshow.tpl.php 输出.

不知道为什么和文档中写的 模板建议 不一样? 哪位给指点下!!! 谢谢!

 

 

Drupal 版本