Как перехватить пользовательский тип контента CCK в дружественном меню MENU_CALLBACK - PullRequest
0 голосов
/ 05 августа 2011

Это для ниндзя DRUPAL:

  1. Я создаю menu_hook для моего пользовательского модуля с именем testmodule;
  2. Я хочу вызвать MENU_CALLBACK и вернуть загруженный объект CCKпользовательский тип контента, который я создал, называется VideoNodes

пример:

 $items['save_video_data/%my_custom_cck_type/%'] = array(
        'type' => MENU_CALLBACK,
        'page callback' => 'save_data_to_db',
        'access arguments' => array('Save Data to my_custom_cck_type'),
        'page arguments' => array(2),
        'type' => MENU_CALLBACK,
        'title' => 'Save a Data!'
        );

Теперь, с помощью приведенного выше кода, я понимаю, что я говорю drupal, чтобы загрузить my_custom_cck_type и использоватьпозиция array (2) (мой аргумент) как поле id узла, чтобы найти его в базе данных.

Я также понимаю, что мне нужно создать функцию my_custom_cck_type_load ().

ВОПРОС:

Что будет в my_custom_cck_type_load () ??Как мне захватить все возвращаемые объекты, связанные с типом CCK, в возвращаемый объект?Или друпал делает это для меня?

1 Ответ

0 голосов
/ 06 августа 2011

Я буду использовать node_load в качестве примера для этого. Из стандартного меню система Drupal будет загружать узлы по таким путям.

node/1/view
node/2/view
node/3/view

(примечание: часть пути "/ view" часто скрыта, потому что это вкладка по умолчанию)

Настройка пункта меню для этого выглядит примерно так:

$items['node/%node/view'] = array(
  'type' => MENU_DEFAULT_LOCAL_TASK,
  'title' => 'blabla',
  'page callback' => 'node_view',
  'page arguments' => array(1)
  /* more stuff */
);

В реальном пути узел% заменяется числом, NID узла. Это заставит меню вызывать node_load, используя этот номер в качестве аргумента. Мы также используем% node в качестве аргумента страницы для обратного вызова node_view. Аргумент, который получает обратный вызов, будет полностью загруженным объектом узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...