Php Drupal7-如何正确使用预处理函数?
在我的page.tpl.php中,我有以下代码,这在后端造成了一些麻烦。因此,我想用更好的方法解决它,使用预处理函数Php Drupal7-如何正确使用预处理函数?,php,drupal,drupal-7,Php,Drupal,Drupal 7,在我的page.tpl.php中,我有以下代码,这在后端造成了一些麻烦。因此,我想用更好的方法解决它,使用预处理函数 if (!path_is_admin(current_path())) { $pathArray = explode('/', current_path()); if (!empty($pathArray)) { $path_to_node = url(
if (!path_is_admin(current_path())) {
$pathArray = explode('/', current_path());
if (!empty($pathArray)) {
$path_to_node = url("node/".$pathArray[1]);
$img = '<img src="'.$theme_path.'/images/default.png" alt="Default" />';
if (!empty($path_to_node)) {
$menuChildArray = explode('/', $path_to_node);
if (!empty($menuChildArray[2])) {
$menuParent = $menuChildArray[2];
switch($menuParent) {
case "one":
$img = '<img src="'.$theme_path.'/images/one.png" alt="Pic tne!" />';
break;
case "two":
default:
$img = '<img src="'.$theme_path.'/images/two.png" alt="Pic two!" />';
break;
}
}
print $img;
}
}
}
在page.tpl.php中,我做了:
<?php
print $set2015_pics;
假设set2015是主题的名称,一切看起来都很好,因此使用drush或在config/development/performance清除缓存应该会使变量显示出来。如果set2015不是主题的名称,则将函数set2015_preprocess_页面重命名为YOURTHEME_preprocess_页面调试它。添加一些echo“我在这里”代码>先在上面如果
,然后在下面吼叫,然后在第二个如果
之后,依此类推…以查看执行了什么和没有执行什么。尝试将问题本地化
<?php
print $set2015_pics;