Я бы посоветовал не использовать hook_nodeapi
для этого. Добавление CSS и Javascript связано с макетом, поэтому hook_nodeapi
не место для этого: используйте темы. Таким образом, вы можете переопределить эти файлы, когда собираетесь разрабатывать новую тему. Делать это с помощью nodeapi будет немного сложнее (вам придется искать файлы в списке js / css, удалять их и заменять своими).
В любом случае: вам нужно добавить функцию предварительной обработки узла, которая добавляет эти файлы для вас. Вы можете сделать это либо в модуле, либо в пользовательской теме. Для модуля это будет:
function mymodule_preprocess_node(&$variables) {
$node = $variables['node'];
if (!empty($node) && $node->nid == $the_specific_node_id) {
drupal_add_js(drupal_get_path('module', 'mymodule') . "/file.js", "module");
drupal_add_css(drupal_get_path('module', 'mymodule') . "/file.css", "module");
}
}
или для темы:
function mytheme_preprocess_node(&$variables) {
$node = $variables['node'];
if (!empty($node) && $node->nid == $the_specific_node_id) {
drupal_add_js(path_to_theme() . "/file.js", "theme");
drupal_add_css(path_to_theme(). "/file.css", "theme");
}
}
Не забудьте сначала очистить кеш.
Эти функции вызываются до того, как узел будет тематическим. Указание js / css позволяет использовать каскадный подход: в модуле можно использовать общие / базовые элементы и предоставлять расширенные или специальные функции в теме.