В Drupal 7 есть несколько разных способов сделать это, я думаю, это зависит от того, что вы делаете.
Если вы пишете модуль, вы хотите использовать hook_node_view для изменения отображаемого содержимого.
Это пример кода со страницы выше:
function hook_node_view($node, $view_mode, $langcode) {
$node->content['my_additional_field'] = array(
'#markup' => $additional_field,
'#weight' => 10,
'#theme' => 'mymodule_my_additional_field',
);
}
Если вы пишете тему, то вы хотите использовать hook_preprocess_node в файле template.php вашей темы, что-то вроде этого:
function mytheme_preprocess_node(&$vars) {
$node = $vars['node'];
$vars['my_created_date'] = my_date_extraction_function($node->created);
}
Тогда в вашем node.tpl.php у вас будет переменная $ my_created_date, которую вы можете использовать вместо первоначальной даты создания.
Очевидно, что вы можете использовать свое воображение здесь, все, что вы добавите в массив $ vars, будет доступно в node.tpl.php, и у вас есть полный доступ к объекту узла в mytheme_preprocess_node ().
Если вы еще не использовали hook_node_view или API рендеринга, прежде чем вам может оказаться проще использовать метод preprocess_node, так как кривая обучения меньше.
Надеюсь, это поможет.