Drupal 7: несколько страниц для одного узла - PullRequest
1 голос
/ 28 октября 2011

Мы публикуем события на нашем сайте Drupal 7, но мы бы хотели, чтобы наши пользователи могли регистрироваться на эти события с помощью простой формы. Мы используем Pathauto для создания псевдонимов URL для событий, используя следующий шаблон: events/[node:title]. Мы хотели бы иметь еще одну страницу с псевдонимом events/register/[node:title], которая будет представлять регистрационную форму. Мы также хотели бы использовать файлы tpl.php для создания шаблонов, как мы делаем для остальной части сайта.

Любые идеи о том, как мы могли бы сделать это? Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

Я бы поместил кнопку регистрации на событие / страницу через файл node.tpl.php. Если все ваши узлы не подлежат регистрации, вы можете проверить узел, получив $ nid с помощью $ node-> nid и запустив db_query в таблице url_alias, чтобы проверить, подходит ли текущий узел.

<?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...

Попросите вашу кнопку регистрации перенаправить на страницу событий / register / $ node-> title и убедитесь, что вы пропустили узел. Есть несколько способов пойти отсюда. Если у вас есть вопросы по этой части, откройте другую ветку.

0 голосов
/ 16 ноября 2011

Вы можете попробовать Модуль регистрации .Он все еще находится в разработке, но его используют более 7000 сайтов:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...