我有一个 drupal 页面(内容类型页面),应该使用干净的 url 接受 GET 值。
我使用php代码输入格式将以下代码放入页面主体中。
<?php
$uid = $_GET['uid'];
$user = user_load($uid);
print $user->name;
?>
现在以下链接http://www.example.com/mypath/?uid=5结果显示用户 5 的姓名。伟大的。
我的问题是:可以使用干净的网址来完成此操作,例如转到 http://www.example.com/mypath/5有相同的结果吗? (类似于在 View 中使用参数)
最佳答案
您可以使用模块中的 hook_menu
在菜单系统中执行您所要求的操作,但您无法创建其中一部分是名称的别名。整个别名只是一个名称,因此您无法从中提取信息。使用 hook_menu
你可以这样做:
function my_module_menu() {
$items = array();
$items['path/%user'] = array(
'title' => 'Title',
'page callback' => 'callback',
'page arguments' => array(1),
'access callback' => '...',
'access arguments' => array(...),
);
return $items;
}
然后,在您的回调函数中,您将在与 uid 对应的路径中获得值或参数 1(实际上,由于 %user
,它将是一个加载的用户对象)。
关于php - 自定义页面 GET 请求上的 Drupal 干净 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639783/