Drupal 7:一个节点有多个页面



我们在Drupal 7网站上列出了事件,但我们希望我们的用户能够通过一个简单的表单注册这些事件。我们使用Pathauto为事件生成URL别名,使用以下模式:events/[node:title]。我们希望有另一个别名为events/register/[node:title]的页面,它将显示注册表。我们还希望使用tpl.php文件来创建模板,就像我们对网站的其他部分所做的那样。

关于我们如何实现这一目标,有什么想法吗?谢谢

您可以尝试注册模块。它仍在开发中,但有7000多个站点正在使用它:

我会通过node.tpl.php文件在事件/页面上放置一个注册按钮。如果您的所有节点都不可注册,那么您可以通过$node->nid获取$nid来检查该节点,并在url_alias表上运行db_query以查看当前节点是否符合条件。

<?php
$nid = $node->nid;
$result = db_query('SELECT alias FROM {url_alias} WHERE source = :source,
  array(':source' => 'node/'.$nid));
foreach ($result as $r) {
  $alias = $r->alias;
}
if (strpos($alias, 'events')) {
  ?> <input... or <button...

让你的注册按钮重定向到events/register/$node->标题页,并确保你通过了节点。从这里开始有几种不同的方法。如果您对此部分有疑问,请打开另一个线程。

最新更新