[урок] Человеческая форма комментирования

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

Комментарии

Аватар пользователя neochief neochief 19 апреля 2008 в 17:34

2 Slavyansk.net.ru
как вариант, но в случае с множествеными форматами все-равно не спасет (хотя есть решения из без темизации)

Аватар пользователя Akzhan Akzhan 19 апреля 2008 в 21:26

Странные люди думают, что прежняя форма комментирования такой отстой Smile Хотя согласен, сделано в статье хорошо.

Отстой - это usability BU-editor - кто догадается почему?)

Аватар пользователя Ромка Ромка 19 апреля 2008 в 21:38

Хабраплюсанул... Лучше бы ты пост не ссылкой там оформил,а текстом. Ссылке больше плюсов надо, чтобы на главную вылезти. А статья полезная.

Аватар пользователя neochief neochief 19 апреля 2008 в 21:48

Ромка: Да ладно, информация все-равно довольно специфическая. Скорее всего, кто должен был, тот заметил. А за плюс - спасибо.

Akzhan: у него вообще из плюсов только топорная простота

Аватар пользователя seaji seaji 19 апреля 2008 в 22:13

Хабралюди может поможете мне разобраться.
Хочу поставить этому топику плюс, но стрелки "нравится/не нравится" не активны.
И еще я хотел бы писать в блог "Drupal" http://habrahabr.ru/blog/drupal но мне не дают, только могу в личный блог писать.
В чем засада?
Вот я: http://seaji.habrahabr.ru/

Аватар пользователя Akzhan Akzhan 19 апреля 2008 в 22:23

карма на хабре.

у меня так вообще там карма 0, лениво поднимать.

P.S.: просьба мне карму не поднимать там. если бы хотел, апнул бы давно Smile

Аватар пользователя neochief neochief 19 апреля 2008 в 23:12

плюсанул. У тебя появляется функционал по мере набора кармы. Начиная с пяти очков, кажется, уже можно жить не тужить, почти все открыто.

Аватар пользователя seaji seaji 20 апреля 2008 в 0:12

С форматами ввода отдельная песня.
Если элементы форм можно темизировать таким (http://drupal.ru/node/14060) способом, то с форматами ввода это не работает.
Вот я написал такой JS код:

$(document).ready(function () {
  if ($('ul').is('.tips')) {
    $('ul.tips').css('display', 'none');
    if ($('ul.tips').next().is('p')) {
      $('ul.tips').next().css('display', 'none');
    }
    else {
      $('ul.tips').css('display', 'block');
    }
  }
});

Что он делает.
Если у вас нет возможности выбрать формат ввода, но от полностью скрывает советы по форматированию.
Это полезно скажем если у вас стоит визивиг редактор, пользователи не разбираются в тегах и в конце концов они и не должны в них разбираться, так как у вас стоит визивиг редактор и он позволяет вставлять все разрешенные теги.
Ну а если у вас есть возможность выбора формата ввода, то сам выбор и все советы открыты.
ЗЫ. Лично я считаю опцию выбора формата ввода злом для простых пользователей. Ну зачем обычным людям парится и выбирать какой то там еще формат ввода.

Аватар пользователя PanDa777 PanDa777 20 апреля 2008 в 16:01

kiev1 wrote:
seaji - спасибо, это нужно, хотя непонятно почему этого в ядре нет...

Нет чего? Темизации? А вот только что что было? А вы знаете, как теоретически такую тонкую настройку сделать через UI?

Аватар пользователя kiev1 kiev1 21 апреля 2008 в 2:04

нет такого очевидного поведения когда тем кто не имеет права выбирать тип фильтра - не показывать ненужности по фильтру

Аватар пользователя seaji seaji 21 апреля 2008 в 15:16

Заметьте, что это очевидно, если используется визивиг редактор, который сам вставляет теги. А если у на просто текстовое поле?

Аватар пользователя Dark_kz Dark_kz 2 апреля 2009 в 21:08

После вставки начальной пустой function phptemplate_comment_form($form) {} форма комментирования всё еще на месте.
У меня в файлах темы лежит файл comment.tpl.php, это влияет? после удаления этого файла форма комментирования ВСЁ еще на месте

Аватар пользователя neochief neochief 2 апреля 2009 в 22:01

В пятимиллионный раз повторяю — нужнно чистить кеш при добавлении удалении чего-то связанном с темами. Site configureation - Performance - Clear cache

Аватар пользователя Dark_kz Dark_kz 2 апреля 2009 в 22:16

Прошу прощения, но я это делал. Опишу поподробнее свои шаги, может быть что-то упустил:
1. включил модуль comment естественно, в типах материала настроил комментарии (чтение-запись, показывать ниже сообщения)
2. создал ноду, добавил камент
3. вставил пустую функцию phptemplate_comment_form($form) в темплейт
4. очистил кэш друпала
5. вернулся на ноду, и комментарий, и форма комментирования на месте

Аватар пользователя Dark_kz Dark_kz 2 апреля 2009 в 23:36

имя_темы_theme(), имя_темы_comment_form() - обе эти функции должны быть? друпал 6.

function free_theme() {
  return array(
    'comment_form' => array(
    'arguments' => array('form' => NULL),
  ),
);
}
function free_comment_form($form) {
  $output .= drupal_render($form);
  return $output;
}

function phptemplate_comment_form($form) {
//код из статьи
}

кэш чистил. всё равно выходит старая форма комментирования

Аватар пользователя neochief neochief 2 апреля 2009 в 23:52

Вы были в шаге от решения Smile

цитирую статью:
а функцию темизации обозвать имя_темы_comment_form(). И не забудьте почитить кеш друпала!

И да, если функции *_theme() нету, ее надо добавить.

Аватар пользователя Dark_kz Dark_kz 3 апреля 2009 в 0:38

Спасибо большое. Внимательность, внимательность и еще раз внимательность

Я вставил весь код из phptemplate_comment_form($form) в function free_comment_form($form), почистил кэш и форма вышла-таки, только почему-то она не обрамилась в дивы

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

залогиненное имя пользователя как можно убрать?
unset($form['author']['#value']);
непомогло

не знаю как изменить кнопку "сохранить" (она у меня вообще просто ссылкой вышла) на графическую

Аватар пользователя Artu Artu 17 марта 2011 в 20:51

Сделал все как в статье. Форма изменилась.
Однако при нажатии ссылки Сохранить коммент не отправляется а происходит переадресация на

/comment/reply/[nid]