Помогите привести форму комментарие в приличный вид

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

Аватар пользователя skill skill 9 июня 2008 в 2:42

Доброго всем времени суток.
Для темизации формы комментариев пользовался статьёй расположенной здесь http://drupaldance.com/blog/tuning-comments-form использовал приведённый там код. Проблема в том что хоть поля "Темы комментария" в форме нет и в настройках комментов она отключена, но при этом система сама вставляет заголовок из первых слов комментария, а затем выводит "Опубликовано Гость (не зарегистрирован) в 08.06.2008 в 22:10"
Как сделать так что бы всё было так, как отображены комментарии на вышеупомянутой странице, тоесть " Имя , а за ним дата публикации в таком формате 2008.04.19 06:09" и что бы небыло Темы. А так же надо убрать ссылку "Ответить" расположенную после комментария. В коде не разбираюсь, прошу помочь.
Вот на всякий случай привожу код:

<?php
function phptemplate_comment_form($form) {

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

  // формируем один единственный формат ввода
  // (будет сформирован формат, который выбран в админке по-умолчанию)
  // тут же мы избавляемся и от ссылки "Подробнее о форматировании"
  // просто не включив ее в состав формы
  $form['comment_filter'][1] = array(
    '#type' => 'value',
    '#value' => variable_get('filter_default_format', 1)
  );
  $tips = _filter_tips(variable_get('filter_default_format', 1), FALSE);
  $form['comment_filter']['format']['guidelines'] = array(
    '#title' => t('Formatting guidelines'),
    '#value' => theme('filter_tips', $tips, FALSE, $extra),
  );
 
  // убираем поле "домашняя страница" с формы
  // так как в большинстве случаев оно лишнее
  unset($form['homepage']);
 
  // скрываем подпись у главного поля комментирования
  $form['comment_filter']['comment']['#title'] = '';
  // устанавливаем меньшее количество строк у поля
  $form['comment_filter']['comment']['#rows'] = '7';

  // это условие спасает нас, в случае залогиненного юзера
  // (у залогиненных нет этих полей)
  if (($form['mail'])&&($form['name'])) {
    // оборачиваем всю правую часть в теги
    // ниже, в описании стилей можно увидеть, что класс side
    // выравнивается по правому краю
    $form['name']['#prefix'] = '<div class="side">';
    $form['name']['#suffix'] = '</div>';
    $form['mail']['#prefix'] = '<div class="side">';
    $form['mail']['#suffix'] = '</div>';

    // оборачиваем поле для ввода в свои теги
    $form['comment_filter']['#prefix'] = '<div class="main">';
    $form['comment_filter']['#suffix'] = '</div>';
  }

  // вставляем ссылку, которая будет распахивать
  // помощь форматирования
  $form['comment_filter']['comment']['#suffix'] .=
    '<a href="#" id="guidelink">'.t('What can I enter?').'</a>';
 
  // формируем jquery код, который будет обеспечивать распахивание
  $js = '$("#guidelink").click(function(){'.
        '   $(this).slideUp("fast");'.
        '   $(".guidelines").slideDown("fast");'.
        '   return false;'.
        '})';
  // добавляем этот код на страницу
  // Обратите внимание, что в файле page.tpl.php вашей темы
  // должен присутствовать print($closure); перед закрывающим тегом </body>
  drupal_add_js($js,'inline','footer');

  // оборачиваем в теги надпись о форматировании
  // обратите внимание на css свойства класса guidelines
  $form['comment_filter']['format']['guidelines']['#prefix'] =
    '<div class="guidelines">';
  $form['comment_filter']['format']['guidelines']['#suffix'] = '</div>';
 
  //выводим форму
  $output .= drupal_render($form);
  return $output;
}
?>

И ещё не отображаются кнопочки буэдитора, хотя для пользователей создан отдельный редактор, возможно где-то что-то надо включить, но я в упор не вижу.

Комментарии

Аватар пользователя skill skill 9 июня 2008 в 14:34

Да вьювс здесь, думаю совсем ненужен, это же просто комментарии. Мне хотябы просто избавится от "Темы комментария" хотя бы как здесь, что бы только пользователь и дата публикации ну и естественно само сообщение и НИКАКОЙ ТЕМЫ. И если пользователь зарегистрирован то его ник ссылка на его профиль, а если нет то просто текст.
Подскажите что именно надо вставить в comment.tpl.php что бы получить такое, очень надо.

С тем почему кнопки буэдитора не отображались в формах комментариев разобрался, по умолчанию там ограничены страницы на которых онн выводится, пришлось допустить все страницы путём добавления символа (*) (так как почему то когда список очистил ограничение не снялось) и ещё добавил текстовые поля для которых нужно скрывать редактор:
edit-message - это что бы не выводился в форме контактов
edit-translations-ru - а это чтобы небыло приуправлении переводами по строкам.