Доброго всем времени суток.
Для темизации формы комментариев пользовался статьёй расположенной здесь http://drupaldance.com/blog/tuning-comments-form использовал приведённый там код. Проблема в том что хоть поля "Темы комментария" в форме нет и в настройках комментов она отключена, но при этом система сама вставляет заголовок из первых слов комментария, а затем выводит "Опубликовано Гость (не зарегистрирован) в 08.06.2008 в 22:10"
Как сделать так что бы всё было так, как отображены комментарии на вышеупомянутой странице, тоесть " Имя , а за ним дата публикации в таком формате 2008.04.19 06:09" и что бы небыло Темы. А так же надо убрать ссылку "Ответить" расположенную после комментария. В коде не разбираюсь, прошу помочь.
Вот на всякий случай привожу код:
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;
}
?>
И ещё не отображаются кнопочки буэдитора, хотя для пользователей создан отдельный редактор, возможно где-то что-то надо включить, но я в упор не вижу.
Комментарии
Править comment.tpl.php...
А формат даты по моему устанавливается в админке.
Или править блок через вьювс. Вы же блок выводите?
Да вьювс здесь, думаю совсем ненужен, это же просто комментарии. Мне хотябы просто избавится от "Темы комментария" хотя бы как здесь, что бы только пользователь и дата публикации ну и естественно само сообщение и НИКАКОЙ ТЕМЫ. И если пользователь зарегистрирован то его ник ссылка на его профиль, а если нет то просто текст.
Подскажите что именно надо вставить в comment.tpl.php что бы получить такое, очень надо.
С тем почему кнопки буэдитора не отображались в формах комментариев разобрался, по умолчанию там ограничены страницы на которых онн выводится, пришлось допустить все страницы путём добавления символа (*) (так как почему то когда список очистил ограничение не снялось) и ещё добавил текстовые поля для которых нужно скрывать редактор:
edit-message - это что бы не выводился в форме контактов
edit-translations-ru - а это чтобы небыло приуправлении переводами по строкам.
<h3><?php print $title ?></h3>
эту строку просто сотрите, что касается отображения заголовка. А имени и даты чуть выше class="submitted"По поводу темы (убрать):
После 9 строчки прописать unset($form['subject']);