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