我在 node.tpl.php 文件中呈现了自定义区域,这些区域按预期工作,但是当将视图模块创建的块放置在其中时会导致 php 错误。
[:error] [pid 2563] [client 127.0.0.1:35606] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /filepath/sites/all/modules/devel_themer/devel_themer.module on line 333
其他块在区域中都可以正常工作,并且视图块在 page.tpl.php 调用的所有区域中都可以正常工作。只有将两者放在一起时才会发生错误。没有其他日志消息,页面只是返回一个空白屏幕,所以我不太确定问题是什么或如何解决它。我在 template.php 中使用下面的代码使该区域在 page.tpl.php 之外可用
function smark_design_theme_preprocess(&$variables) {
if (block_get_blocks_by_region('region_name')) {
$variables['region_name'] = block_get_blocks_by_region('region_name');
} else { $variables['region_name'] = FALSE; }
}
这就是调用 node.tpl.php 中的区域
<?php if ($region_name): ?>
<div id="region-name">
<?php print render($region_name); ?>
</div>
<?php endif; ?>