本文介绍了如何调用特定字段的主题预处理函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是Drupal7,我有一个特定的tpl.php文件用于内容field_image:"field--field_image.tpl.php"。我需要为此字段和我的主题创建预处理函数。
假设我的主题名称为"我的主题"
它应该看起来像
function my_theme_preprocess_field(&$variables, $hook) {
$variables['classes_array'][] = 'aClassName';
}
但是它不起作用。我错了。但是在哪里呢?
谢谢
推荐答案
您可以使用template_preprocess_field()
(就像在上面的代码中一样),但只测试特定字段是否适合您:
function my_theme_preprocess_field(&$variables, $hook) {
$element = $variables['element'];
if (isset($element['#field_name'])) {
if ($element['#field_name'] == 'field_image') {
$variables['classes_array'][] = 'aClassName';
}
}
}
一旦您实现了钩子,不要忘记清除缓存,因为钩子实现是在Drupal7中缓存的,所以在清除缓存之前不会被提取。
这篇关于如何调用特定字段的主题预处理函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!