根据内容类型格式化日期字段输出
Format date field output based on content type
我喜欢为特定节点类型(在 template.php
文件中)以不同方式输出的日期字段设置主题。
但问题是我无法找出当前函数调用发生在哪个节点类型中。
在挂钩 THEME_preprocess_node(array &$vars)
中,我可以使用 $vars['node']->type
获取节点类型并与该值进行比较。
但是我在函数 THEME_date_display_range(array &$vars)
中并且没有我可以从中访问的节点对象 function/hook。
如何I/or 我什至可以在这个 function/hook 中获得节点类型以及如何?
如果你想在节点视图上这样做,你可以使用 menu_get_object 函数 (https://api.drupal.org/api/drupal/includes%21menu.inc/function/menu_get_object/7) 来知道路由器加载了哪个对象
您可以为您的字段创建一个新的模板文件。
- 将
modules/field/theme
中的 field.tpl.php
文件复制到您的主题文件夹。
- 重命名文件如下:
field--your-field-name--content-type.tpl.php
.
- 清除缓存,一切顺利。
我喜欢为特定节点类型(在 template.php
文件中)以不同方式输出的日期字段设置主题。
但问题是我无法找出当前函数调用发生在哪个节点类型中。
在挂钩 THEME_preprocess_node(array &$vars)
中,我可以使用 $vars['node']->type
获取节点类型并与该值进行比较。
但是我在函数 THEME_date_display_range(array &$vars)
中并且没有我可以从中访问的节点对象 function/hook。
如何I/or 我什至可以在这个 function/hook 中获得节点类型以及如何?
如果你想在节点视图上这样做,你可以使用 menu_get_object 函数 (https://api.drupal.org/api/drupal/includes%21menu.inc/function/menu_get_object/7) 来知道路由器加载了哪个对象
您可以为您的字段创建一个新的模板文件。
- 将
modules/field/theme
中的field.tpl.php
文件复制到您的主题文件夹。 - 重命名文件如下:
field--your-field-name--content-type.tpl.php
. - 清除缓存,一切顺利。