У меня проблемы с RSS-каналом. Я обнаружил, что могу получить канал для определенной таксономии, просто добавив /feed после этой таксономии, но как можно добавить/удалить поля из этого, где я могу найти это «представление» для этого канала? Спасибо
Drupal 7 добавляет поля для отображения в RSS-канале для таксономии
comment
Вы пытались заглянуть в модуль, который создает это представление? возможно, предусмотрен какой-то хук для переопределения рендеринга или предварительного рендеринга данных.
- person Fky   schedule 04.03.2020
Ответы (1)
Обратный вызов определен в hook_menu из taxonomy.module
:
$items['taxonomy/term/%taxonomy_term/feed'] = array(
'title' => 'Taxonomy term',
'title callback' => 'taxonomy_term_title',
'title arguments' => array(2),
'page callback' => 'taxonomy_term_feed',
'page arguments' => array(2),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
'file' => 'taxonomy.pages.inc',
);
он вызывает функцию taxonomy_term_feed
function taxonomy_term_feed($term) {
$channel['link'] = url('taxonomy/term/' . $term->tid, array('absolute' => TRUE));
$channel['title'] = variable_get('site_name', 'Drupal') . ' - ' . $term->name;
// Only display the description if we have a single term, to avoid clutter and confusion.
// HTML will be removed from feed description.
$channel['description'] = check_markup($term->description, $term->format, '', TRUE);
$nids = taxonomy_select_nodes($term->tid, FALSE, variable_get('feed_default_items', 10));
node_feed($nids, $channel);
}
он вызывает функцию node_feed
в node.module
строку 2575
Таким образом, вы можете проанализировать эти функции, чтобы понять, как они работают, и найти решение.
person
Fky
schedule
04.03.2020
Можно ли его переопределить или добавить что-то к нему? Его системный модуль, я не могу его просто отредактировать, я думаю
- person Jason Derrick; 05.03.2020
Вы можете добавить функцию drupal_alter() для изменения данных без изменения ядра/модуля contrib api.drupal.org/api/drupal/includes%21module.inc/function/
- person Fky; 05.03.2020