如何调用特定字段的主题预处理函数? [英] how do I call my theme preprocess function for a specific field?

查看:12
本文介绍了如何调用特定字段的主题预处理函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是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中缓存的,所以在清除缓存之前不会被提取。

这篇关于如何调用特定字段的主题预处理函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆