如何在菜单回调drupal中挂载CCK自定义内容类型
这是给DRUPAL忍者的:如何在菜单回调drupal中挂载CCK自定义内容类型,drupal,Drupal,这是给DRUPAL忍者的: 我正在为我的定制模块testmodule创建一个菜单钩子 我想调用一个菜单回调并返回一个加载的CCK对象,该对象是我创建的自定义内容类型,名为“VideoNodes” 例如: $items['save_video_data/%my_custom_cck_type/%'] = array( 'type' => MENU_CALLBACK, 'page callback' => 'save_data_to_db',
$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加载我的_custom_cck_类型,并使用数组(2)位置(我的参数)作为节点的id字段,以便在数据库中找到它
我也明白,我需要创建一个my_custom_cck_type_load()函数
问题:
my_custom_cck_type_load()中应该包含什么内容??如何将与CCK类型关联的所有自定义字段捕获到返回的对象中?还是drupal为我做了这件事?我将使用node\u load作为一个例子。Drupal的开箱即用菜单系统将在如下路径加载节点
node/1/view
node/2/view
node/3/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作为node\u视图回调的页面参数。回调接收的参数将是完全加载的节点对象