ВопросИзменение формы добавления комментирования

Хотелось бы изменить форму комментирования и привести ее к виду как на картинке:
http://drupaldance.com/files/img/comments2.gif

Но решение, описанное здесь http://drupaldance.com/blog/tuning-comments-form , не работает (код я вставляю в template.php, но никаких результатов).

Помогите, пожалуйста, разобраться с этой проблемой.
Если возможно, то ответьте на почту sergey0505@yandex.ru

Комментарии

Аватар пользователя Spleshka
Spleshka написал:

А что именно у вас не получается? В своё время именно по этой статье я делал первые изменения формы, поэтому код 100% работает.
Обратите внимание, что вам надо не только засунуть код в template.php но и поменять в названии функций на имя своей темы, потом в style.css добавить стили, и подключить к тебе файл со скриптами.

14.06.2011 12:16
Аватар пользователя sergey0505
sergey0505 написал:

Попробовал еще раз, но к сожалению опять не работает.
На сколько я понимаю имя свой темы надо подставить один раз, вот здесь:

function <strong>phptemplate</strong>_comment_form($form) {
 
  // убираем имя автора (если юзер залогинен)
  if ($form['_author'])
    unset($form['_author']['#type']);
 
  // убираем все форматы форматирования из формы
  unset($form['comment_filter']['format']);

И по идее здесь, если этот код вообще нужен (написано, что он для Drupal 6, а у меня 7 версия):

function <strong>названиетемы</strong>_theme() {
  return array(
  'comment_form' => array(
    'arguments' => array('form' => NULL),
  ),
);
}

Скрипт поставил, таблицу стилей поменял.

Теперь после подстановки второго мною написанного кода выдает ошибку:

Parse error: syntax error, unexpected $end in Z:\home\newsportal.ru\www\sites\all\themes\corolla\template.php on line 258

258 строка - это последняя строка template.php и одновременно последняя строка вставленного кода.

Попробовал на другом шаблоне - тоже самое.

15.06.2011 11:04
Аватар пользователя Spleshka
Spleshka написал:

Ну конечно, код-то под 6ку :)
Под 7ку:

function названиетемы_theme() {
  return array(
    'comment_form' => array(
      'render element' => array('form' => NULL),
    ),
  );
}
 
function названиетемы_comment_form($form) {
 
  // убираем имя автора (если юзер залогинен)
  if ($form['_author'])
    unset($form['_author']['#type']);
 
  // убираем все форматы форматирования из формы
  unset($form['comment_filter']['format']);
 
  return drupal_render($form);
}

По идее должно работать. Если нет - пишите, буду уже тестировать на 7й версии.

15.06.2011 14:47
Аватар пользователя sergey0505
sergey0505 написал:

Попробовал я и этот вариант. Но ничего не изменилось, только ошибку не выводит как раньше.
Может я все-таки что-то не то делаю. Ваш код положил в template.php, скрипт comments.js - в корень темы, css добавил в style.css текущей темы. Хотя вроде все так, как и описано.
Если можете, то протестируйте на 7ке и выложите полный код, пожалуйста. Два дня уже парюсь, гугл бессилен.

16.06.2011 00:17
Аватар пользователя Spleshka
Spleshka написал:

Так. Пощупал я форму комментов. Вот то, что надо:

/**
 * Override or insert variables into comment list and comment form template.
 */
function ИМЯТЕМЫ_preprocess_comment_wrapper(&$vars) {
 
  //убираем автора
  if (isset($vars['content']['comment_form']['author'])) {
    unset($vars['content']['comment_form']['author']);
  }
 
  $form_body = &$vars['content']['comment_form']['comment_body']['und'][0];
  // Удаляем fieldset с форматами ввода, справкой и страницей помощи
  unset($form_body['format']);
 
  // Убираем растягивание textarea
  $form_body['value']['#resizable'] = FALSE;
}
16.06.2011 04:45
Аватар пользователя sergey0505
sergey0505 написал:

Вставил код в template.php - не работает. Скорее всего я что-то делаю не так.
Если не трудно, напишите поподробнее какой код и куда вставлять и нужны ли коды, css и скрипт описанные на сайте, на который я ссылался.

16.06.2011 23:17
Аватар пользователя Spleshka
Spleshka написал:

Код работает 100%, лично сам писал :)
После вставки в template.php надо вместо ИМЯТЕМЫ вписать название своей темы, затем сбросить кэш сайта на странице /admin/config/development/performance

17.06.2011 02:54
Аватар пользователя sergey0505
sergey0505 написал:

Переустановил Denwer (ошибок было слишком много). Теперь все работает спасибо)

17.06.2011 09:56
Аватар пользователя sergey0505
sergey0505 написал:

Что нужно изменить в коде http://drupaldance.com/blog/tuning-comments-form, чтобы и это тоже работало?
Просто хочется красивую форму (несмотря на то, что хотя бы и эта работает).

17.06.2011 10:08

Комментировать