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

时间:2011-10-27 20:10:53

标签: drupal-7

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

关于我们如何实现这一目标的任何想法?感谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试Signup module。它仍处于开发阶段,但有超过7000个网站正在使用它:

答案 1 :(得分:0)

我会通过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-&gt;标题页,并确保您通过该节点。有几种不同的方法可以从这里开始。如果您对此部分有疑问,请打开另一个主题。