[РЕШЕНО]Создание страницы "Отзывы"

Главные вкладки

Аватар пользователя kopernik21187 kopernik21187 10 июня 2011 в 9:53

Добрый день! В данный момент я на Drupal 6 на отдельной странице пытаюсь сделать страницу отзывы подобно тому как
Здесь. Я так понимаю, что мне нужно с помощью cck создать новый тип материала "Отзывы" и выводить его с помощью views. Вопрос заключается в том, как мне привязать форму отправки отзыва(я так понимаю воспользоваться нужно webforms) именно к данной странице, т.е. чтобы отзыв уходил не на электронный ящик чей-то, а оставалось на сайте и его потом можно было вывести с помощью views. С уважением, Константин

Комментарии

Аватар пользователя GolovaNoga GolovaNoga 10 июня 2011 в 10:30

Я не работал с webform и сделал так:
Отзыв это отдельный тип материала.
Есть модуль form block, его включаете и в свойствах типа материала(в Вашем случае отзыва) отмечаете что форму можно показывать в блоке. И этот блок показываете на странице отзывов.
Я не нашел решения, как бороться с переадресацией на страницу просмотра готового материала после создания(идеально было бы аяксом создавать и в этом же блоке выводить сообщение),а я с помощью рулесов показываю страницу благодарности.
Если у Вас отзывы без модерации то можно переправлять на страницу отзывов после создания.

Аватар пользователя Alamir Alamir 10 июня 2011 в 12:40

Делал для своего магазина. Создаем страницу, материал типа Page, при создании включаем возможность коментирования ЭТОЙ страницы. Само "тело" страницы не заполняем, получается допустим заголовок "Ваши коментарии" и сами коментраии "пустой страницы". Ну и темизируем настраиваем как душе угодно.

Аватар пользователя kopernik21187 kopernik21187 10 июня 2011 в 14:15

2 GolovaNoga Спасибо за ответ!Вечером с работы приду обязательно поюзаю данный модуль!:) Я вот только не понял

GolovaNoga wrote:
а я с помощью рулесов показываю страницу благодарности.
Что значит рулесы?
2 Alamir Да это то понятно! Вопрос ведь только в том и состоит, что нужно чтобы ПОЛЬЗОВАТЕЛЬ оставил не только
комментарий и свое имя,но также и другие данные, подобно тому как на той странице, ссылку на которую я дал выше(т.е. имя,e-mail, выбрать врача из списка,само тело отзыва и т.д.). Причем данные для отзыва вводятся пользователем сразу в форму, чтобы для этого не обязательно было регистрироваться. Если же мне нужно было просто комментарий и имя пользователя я бы именно так и сделал как Вы сказали Wink

Аватар пользователя kopernik21187 kopernik21187 10 ноября 2015 в 11:47

GolovaNoga, то что Вы подсказали, подошло, но осталось 2 вопроса, с которыми у меня пока так и не получилось разобраться:
1. Как убрать менюшку создания отзыва, которая идет по умолчанию в ядре друпал для создания новой ноды(на скрине у меня красным отмечено).
2. Почему-то это блок работает только для администратора, когда я на страничку захожу гостем, то там данный блок не отображается, а только заголовок страницы.(на втором скрине)

Подскажите, пожалуйста, как убрать менюшку ядра друпала(КРОМЕ КАПЧИ!!!) и сделать так, чтобы неаторизованные пользователи могли добавлять данный тип материала. С уважением, Константин

Аватар пользователя valov-web valov-web 20 марта 2013 в 18:51

Нужно тоже самое. Drupal 7
Пробовал с помощью Модуля webform. Он не настраивается для вывода с помощью Views.

Form block
Создал тип материала.
Создал поля

  1. Имя
  2. Текст отзыва
  3. Почта

Вывел формой с помощью модуля form block, Views разобрался как настраивать

Проблемка! а как убрать Поле Title, или чтобы оно заполнялось автоматом).Чтобы пользователь его не вводил?

Аватар пользователя roman-yrv roman-yrv 20 марта 2013 в 20:00

valov-web wrote:

Проблемка! а как убрать Поле Title, или чтобы оно заполнялось автоматом).Чтобы пользователь его не вводил?

Написать небольшой модуль, в нем переопределить хук hook_form_alter
Перед этим узнать, какой у данной формы form_id, и для него уже произвести необходимые действия.

Например, вот код ниже выставит значение заголовка формы комментария как Re: заголовок родительского узла или Re: заголовок родительского комментария

function MODULE_NAME_form_comment_form_alter(&$form, &$form_state, $form_id)
{
 
  // Если ответ на комментарий
 if ($form['#entity']->pid!=NULL)
  {
    $entity=comment_load($form['#entity']->pid);
    $form['subject']['#default_value']='Re: '.$entity->subject;
  }
  else
   
  // Ответ на ноду (комментарий первого уровня)
  {
    $entity=node_load($form['#entity']->nid);
    $form['subject']['#default_value']='Re: '.$entity->title;
  };
}
Аватар пользователя maxneb maxneb 19 августа 2013 в 15:15

"Photoshopper" wrote:
Title удалять нельзя. Можешь его использовать в качестве другого поля. Например "Имя"

Всю голову сломал, подскажите как сделать? Как переименовать подпись поля "Заголовок" в "Имя"?