【问题标题】:Drupal7 hook_menu for exists node aliasesDrupal7 hook_menu 用于存在节点别名
【发布时间】:2013-02-04 20:30:15
【问题描述】:

我正在开发我的模块。对于模块,我创建了特殊的节点类型并添加了一些别名为“events/my1”、“events/my2”和“events/my3”的节点。

在模块中我使用 hook_menu 函数

$items['events'] = array(
    'title' => t('Events list'),
    'access callback' => TRUE,
    'page callback' => '_events_list',
    'type' => MENU_CALLBACK,
  );
  $items['events/%'] = array(
    'title' => t(''),
    'access callback' => TRUE,
    'page callback' => '_event_detail',
    'page arguments' => array(1),
    'type' => MENU_CALLBACK,
  );

在 url site.com/events/ 从 _events_list() 函数打开我的页面

在 url site.com/events/anyurl/ 从 _event_detail() 函数打开的内容

但是当我打开 site.com/events/my1/ 然后打开节点的默认视图时。不是我来自 _event_detail() 的代码。

我该如何解决?我希望 /events/ 中的每个 url 显示我的函数中的代码,而不是默认视图。

【问题讨论】:

    标签: drupal-7


    【解决方案1】:

    hook_menu 定义新的 URL 路径。对于现有 URL 路径,请使用 hook_menu_alter

    【讨论】:

    • 感谢您的回答。但是我检查了这个函数中的项目,它没有将键作为页面别名的项目。它只使用'node/%node'。而且我不能使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2020-09-06
    • 2014-07-16
    相关资源
    最近更新 更多