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

Drupal 7 Drupal 7:一个节点有多个页面,drupal-7,Drupal 7,我们在Drupal7站点上列出了事件,但我们希望用户能够通过一个简单的表单注册这些事件。我们使用Pathauto为使用以下模式的事件生成URL别名:events/[node:title]。我们希望有另一个别名为events/register/[node:title]的页面,该页面将显示注册表单。我们还希望使用tpl.php文件来创建模板,就像我们为站点的其余部分所做的那样 关于我们如何做到这一点,有什么想法吗?谢谢。你可以试试这个。它仍在开发中,但有7000多个站点正在使用它:我会通过node.

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


关于我们如何做到这一点,有什么想法吗?谢谢。

你可以试试这个。它仍在开发中,但有7000多个站点正在使用它:

我会通过node.tpl.php文件在事件/页面上放置一个register按钮。如果所有节点都不可注册,则可以通过使用$node->nid获取$nid来检查节点,并在url\u别名表上运行db\u查询以查看当前节点是否符合条件

<?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->标题页,并确保您通过了该节点。从这里开始有几种不同的方法。如果您对此部分有任何疑问,请打开另一个线程。

我更喜欢使用更通用的解决方案来解决此问题,这样我们就可以在每个节点上为可注册项目之外的内容创建多个页面。但如果这行得通,我会更改标题并将其标记为答案。谢谢。谢谢你的信息,但我已经把按钮准备好了。我真正需要的帮助是如何为每个事件创建一个注册页面。换句话说,我需要创建两个页面,它们使用不同的模板和别名,但指向与本文标题相同的节点。谢谢