Система управления контентом SantaFox

Разработчикам => Сторонние разработки => Тема начата: aim от 27 Май 2009, 01:37:00

Название: Доработка модуля комментариев
Отправлено: aim от 27 Май 2009, 01:37:00
Понадобился модуль комментариев, но после тестирования официальной версии, официально ещё не вышедшей убедился, что над ним нужно серьёзно поработать. Посидел пару дней и вот, что вышло.
Изменения, дополнения:

Админка.

1. Из админки вообще нельзя было добавить комментарий. Добавил выпадающий список со страницами, куда прикреплён текущий модуль.

2. В описание класса модуля добавил константу const ADMNAME = 'Админ'; - имя(ник) администратора сайта, от чьего имени добавляются комменты из админки(укажите своё имя-ник). Значение этой константы автоматически прописывается в поле "Автор" при добавлении комментария. Есть и ещё одна фишка, но чуть позже...

3. В разделе меню "Посмотреть" добавил колонку с отображением страницы комментария. В колонке "Дата" теперь выводится и время добавления коммента.

Пользовательская часть.

1. Переделал, чтобы комменты отображались вверху, а форма внизу. По-моему так удобней и практически везде так используется. Кстати, кто-то уже на форуме спрашивал как это сделать.

2. Добавил нумерацию комментариев (в шаблоне доступна переменная %num% в блоке <!-- @rows -->).

3. Добавил в шаблон блок <!-- @title --> в котором доступна переменная  %totals% - общее количество комментариев. Блок выводится один раз в самом верху.
 
4. Добавил в шаблон переменную %time% - время добавления, была только дата.

5. Ввёл пока простую проверку на заполнение формы, раньше можно было отправить пустую. Возможно, необходимо добавить проверку на количество вводимых символов.

6. Невозможно добавить комментарий от имени администратора сайта – фишка с const ADMNAME = 'Админ'; .
Сообщение об ошибке выводится в блоке шаблона  <!-- @no_admin_comments -->.

7. Ну и наверно последнее, но существенное дополнение. Допустим, пользователь наваял длинный комментарий, но в результате какой-то ошибки отправление формы не прошло (например, ввёл неправильно цифры в капче или забыл указать автора). В результате возвращается пустая форма и данные нужно вводить снова. Теперь содержимое формы сохраняется (берётся из сессии).

Работы с модулем конечно ещё много, но уже теперь им можно более-менее пользоваться.
Сейчас работаю над "прикруткой" какого-нибудь редактора BBcode – тестирую варианты.

Скачать доработанный модуль комментариев можно здесь: http://korchaginvn.ru/count/down.php?uri=download/comments_fix_ver_01.rar (http://korchaginvn.ru/count/down.php?uri=download/comments_fix_ver_01.rar)

Просьба потестить и отписаться с замечаниями и предложениями.

P.S. Все изменения, дополнения в коде пометил комментариями - //добавлено aim
Название: Re: Доработка модуля комментариев
Отправлено: Kanda от 27 Май 2009, 02:51:51
хм... респегт ))) надо потестить будет...
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 27 Май 2009, 17:36:56
1. Переделал, чтобы комменты отображались вверху, а форма внизу. По-моему так удобней и практически везде так используется. Кстати, кто-то уже на форуме спрашивал как это сделать.

Можешь сделать, чтобы в шаблоне было две метки:
%form% И %comments% к прмиеру. И от их расположения уже зависело что где будем отображать?

Еще совсем было бы здорово, если бы ты написал краткий мануал на wiki.santafox.ru по модулю камментов, мы его тогда выложим в официальное скачивание :)
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 27 Май 2009, 18:06:00
При добавлении камментария из админки у меня вылетает:
Warning: Invalid argument supplied for foreach() in D:\sites\etalon\modules\comments\comments.class.php on line 821

Warning: Invalid argument supplied for foreach() in D:\sites\etalon\modules\comments\comments.class.php on line 821

Warning: Cannot modify header information - headers already sent by (output started at D:\sites\etalon\modules\comments\comments.class.php:821) in D:\sites\etalon\include\kernel.class.php on line 1488
Название: Re: Доработка модуля комментариев
Отправлено: aim от 27 Май 2009, 19:00:21
Цитировать
Можешь сделать, чтобы в шаблоне было две метки:
%form% И %comments% к прмиеру. И от их расположения уже зависело что где будем отображать?
Попробую.

Прежде чем писАть мануал, модуль надо довести до ума.

Цитировать
При добавлении камментария из админки у меня вылетает:
Warning: Invalid argument supplied for foreach() in D:\sites\....
Странно. У меня нормально работает и на Денвере и на хосте spaceweb (http://sweb.ru/)
Даже если ни одной метке не назначить модуль, коммент добавляется в БД, правда с пустым полем page_id - надо исправить.

Название: Re: Доработка модуля комментариев
Отправлено: alex_moscow от 28 Май 2009, 05:38:12
aim
пока нет времени потестить, на за проделанную работу огромное спасибо Вам! тоже в свое время разбирался с данным модулем, чего-то удалось добиться http://forum.santafox.ru/index.php?topic=436.0 :)

использую тот же хостинг очень давно - тоже устраивает:))

В данный момент несколько вопросов: как работает исправленная версия со страницами каталога?? допустим, реально ли, чтобы можно было комментировать отдельный товар?
Давно мечтал вывести капчу в отдельный каталог(да и саму капчу сменить, тк ее дизайн не поддается изменению), но не знаю как (чтобы скрыть полный путь до модуля каталога), может вы подскажете??

Название: Re: Доработка модуля комментариев
Отправлено: aim от 28 Май 2009, 16:35:17
Цитировать
В данный момент несколько вопросов: как работает исправленная версия со страницами каталога?? допустим, реально ли, чтобы можно было комментировать отдельный товар?
Давно мечтал вывести капчу в отдельный каталог(да и саму капчу сменить, тк ее дизайн не поддается изменению), но не знаю как (чтобы скрыть полный путь до модуля каталога), может вы подскажете??
Пока ничего не скажу по этим вопросам, надо разбираться. Каталог вообще толком не тестил из-за ненадобности.

Как просил Oslix, сделал смену порядка вывода комментов и формы заменой расположения переменных в шаблоне:
<!-- @content -->
%show_comments%
%show_form%
                             или
<!-- @content -->
%show_form%
%show_comments%

Теперь для комментов и формы подключаются свои отдельные шаблоны show_comments.html и show_form.html

Пока выкладывать не буду, нужно исправить ещё несколько других косяков.
Название: Re: Доработка модуля комментариев
Отправлено: aim от 29 Май 2009, 17:42:06
to alex_moscow
Цитировать
...реально ли, чтобы можно было комментировать отдельный товар?
Напиши как может выглядеть полная ссылка на отдельный товар в каталоге (типа site.ru/catalog.html?id=5&bla=21), т.е. со всеми параметрами. Желательно ответ получить сегодня, а то завтра я уезжаю на неделю на рыбалку. Не будет инета, сотовой связи, ничего не будет...только рыбалка, но будет много времяни подумать ;)
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 29 Май 2009, 19:11:00
Так вроде базовый модуль камментов можно к какому угодно контенту подрубать. Толлько указываешь в поле параменты URL что считать уникальными страницами и он будет работать. Т.е. в случае site.ru/catalog.html?id=5&bla=21 делаем метод, указываем id в этом поле и все отлично. Только нужно сделать так, чтобы там, где этого ID нет, чтобы не работал модуль, навреное. Потому как в таком случае он отобразит свою форму и на странице catalog.html просто. Текущий по крайней мере так делает.
Название: Re: Доработка модуля комментариев
Отправлено: aim от 29 Май 2009, 20:50:33
Я как раз над этим и работаю.
Что реализовал:
Ввёл в настройках модуля новый параметр действия -"Выводить блок комментариев на родительской странице?" да:нет
Допустим указали http-параметры: id и НЕвыводить комменты на родительской, то в итоге получаем, например с новостями, что на странице news.html с архивом комменты выводится не будут, так как они там и не нужны, а на страницах  news.html?id=1 , id=2 и т.д. будет выводится свой уникальный блок. Если правда этот экземпляр модуля подцепить к страницам вида index.html то комменты тоже выводится не будут. Поэтому надо инсталировать дочерние модули с сооветветствующими настройками по потребностям.
Вобщем с новостями всё работает как надо, т.е фильтруются страницы без параметров и с несоответствующими параметрами, а спрашивал про вид ссылки потому-что параметров у URLа может быть несколько и не известно как себя поведёт модуль в этом случае.
Настраивать каталог у меня ща времяни не хватит чтоб потестить :( - только через неделю.
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 29 Май 2009, 22:58:01
Поэтому надо инсталировать дочерние модули с сооветветствующими настройками по потребностям.

Давайте эту галку добавим в действие. Тогда можно в одном экземпляре модуля сделать столько действий, сколько нужно.
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 29 Май 2009, 23:00:21
И еще одна просьба.
У меня тут зреет идея, сделать так, чтобы у всех модулей линк был переменной %link% а текст ссылки - переменной %text%. Чтобы думать не надо было.
Потомучто к прмиеру, когда я делаю шаблон постраничной навигации - у меня там почему-то %url%  - это нужно помниьть.

Давайте может с этого модуля начнем следовать этому правилу?
А потом и остальные переделаем :)
Название: Re: Доработка модуля комментариев
Отправлено: aim от 30 Май 2009, 01:01:09
Цитировать
Давайте эту галку добавим в действие. Тогда можно в одном экземпляре модуля сделать столько действий, сколько нужно.
Туплю уже :)
Собственно так я и сделал, проверил - работает. Только не галку, а выпадающий список да:нет, потому-что чекбокс почему-то не пашет, ставишь в false, сохраняешь настройки, а он в true стоит...

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

Цитировать
У меня тут зреет идея, сделать так, чтобы у всех модулей линк был переменной %link% а текст ссылки - переменной %text%. Чтобы думать не надо было.
Потомучто к прмиеру, когда я делаю шаблон постраничной навигации - у меня там почему-то %url%  - это нужно помниьть.

Давайте может с этого модуля начнем следовать этому правилу?
ДАВАЙТЕ.

Кстати, постраничная навигация в комментах предусмотрена, но не работает. С ней ещё пока не разбирался. Так-что работы над модулем ещё дофига.
Название: Re: Доработка модуля комментариев
Отправлено: aim от 07 Июнь 2009, 22:57:02
Новые исправления и добавления в модуле:

Админка.

1. Изменил способ выбора страницы добавления комментария админом. В первой версии выводились все страницы, куда был прикреплён модуль, но нельзя было выбрать, например страницу news.html?id=5, так как данные брались из таблицы sf_structure, а  она понятия не имеет о существовании этой страницы.
Сейчас доступны только те страницы, на которых оставлен хотя бы один комментарий.

(http://korchaginvn.ru/download/select.jpg)

В первом списке выбираем id страницы, во втором выводятся доступные sub_id.
На картинке пример выбора страницы для комментирования новости.

2. Как уже писАл выше:
   
Цитировать
Как просил Oslix, сделал смену порядка вывода комментов и формы заменой расположения переменных в шаблоне:
<!-- @content -->
%show_comments%
%show_form%
                             или
<!-- @content -->
%show_form%
%show_comments%

Теперь для комментов и формы подключаются свои отдельные шаблоны show_comments.html и show_form.html

3. Тоже выше упоминал. В настройках действий модуля добавилась новая опция - выводить или не выводить комменты на родительской странице. На картинке пример для новостей. Если указан какой-то http-параметр и выбрана опция не выводить, то как на примере комментарии будут выводиться на всех страницах news.html?id=... и не не будут на странице news.html

(http://korchaginvn.ru/download/nastrojka.jpg)

 
4. В таблице просмотра комментариев имя автора(админа) выделяется цветом.

Пользовательская часть.

1. Сделал простую (как в админке) постраничную навигацию вида: 1 | 2 | 3 | 4
При превышении лимита комменты будут разбиваться на блоки по N комментариев.

2. В админских комментариях имя админа тоже выделяется цветом.

Скачать новую версию можно здесь: comments_fix_ver_02.rar (http://korchaginvn.ru/count/down.php?uri=download/comments_fix_ver_02.rar)

Просьба потестить.
 

Название: Re: Доработка модуля комментариев
Отправлено: aim от 29 Июнь 2009, 01:03:53
Добавил в модуль поддержку bbcode.
Потестил около десятка различных парсеров bbcode и выбрал этот:
http://nbbc.sourceforge.net/ (http://nbbc.sourceforge.net/)
Так же потестил несколько редакторов bbcode и остановился на http://markitup.jaysalvat.com/home/ (http://markitup.jaysalvat.com/home/)
Немного поправил для совместимости с парсером, перевёл на russian, написал маленький скрипт для предосмотра набранного сообщения использующий ajax и получилось это:

(http://korchaginvn.ru/download/markitup.jpg)

Установка:

1.Копируем содежимое архива в корень сайта.

2.Добавляем в используемый шаблон в раздел <head>:

<link rel="stylesheet" type="text/css" href="design/css/bbcode.css" />
<link rel="stylesheet" type="text/css" href="design/markitup/markitup/skins/markitup/style.css" />
<link rel="stylesheet" type="text/css" href="design/markitup/markitup/sets/bbcode/style.css" />
<script type="text/javascript" src="design/markitup/jquery.pack.js"></script>
<script type="text/javascript" src="design/markitup/markitup/jquery.markitup.pack.js"></script>
<script type="text/javascript" src="design/markitup/markitup/sets/bbcode/set.js"></script>

3.Редактируем файл стилей design/css/bbcode.css отвечающий за офомление блоков Quote(цитата) и Code(код) по своему усмотрению не изменяя имена классов. Лучьше эти классы потом добавить в основной файл стилей.

Скачать архив можно здесь (http://korchaginvn.ru/count/down.php?uri=download/comments_bbcode.rar)
Название: Re: Доработка модуля комментариев
Отправлено: bazik от 03 Июль 2009, 09:36:46
Сделай комменты в виде дерева, то есть можно было отвечать на какой либо коммент, как у меня тут http://paintagon.ru/communication.html  :P А на счет добавить из админки, я не считаю это нужным функционалом, просто редактируешь определенный комментарий и все. Было бы интересно увидеть, к примеру, в списке новостей у каждой новости показывало бы сколько комментариев, либо у товаров :P ББ-коды не очень интересно, поставь какой нить "типограф" который бы заменял -- на —, троеточие на … ну на спец знаки грубо говоря, распозновал ссылки и мыла. Как то так, ну пока!  :P
Название: Re: Доработка модуля комментариев
Отправлено: alex_moscow от 06 Июль 2009, 13:46:05
Дерево - круто, но все равно - на любителя:)
Название: Re: Доработка модуля комментариев
Отправлено: Petrovski от 10 Июль 2009, 01:16:03
Шикарно! Респект!
Название: Re: Доработка модуля комментариев
Отправлено: imdead от 18 Август 2009, 10:43:08
ребят может я лошара но блин кто выложит схему добавления комментариев к новостям .... то есть в итоге должно хочется чтобы у каждой новости были коменты
Название: Re: Доработка модуля комментариев
Отправлено: Oslix от 18 Август 2009, 11:26:46
В настройках модуля новостей напишите "id" - в поле "параметры URL"
Название: Re: Доработка модуля комментариев
Отправлено: imdead от 18 Август 2009, 12:02:59
спасибо щас попробую
Название: Re: Доработка модуля комментариев
Отправлено: puh от 01 Октябрь 2009, 18:12:46
что могло произойти, если модуль не реагирует на поле ID?
в случае если выбирается или не выбирается вывод комментариев на родительской странице....
показывается или везде (и на странице с комментарием и в списке архива) или вообще не показывается..

как вообще должен выглядит ID для комментариев для новостей с newsi1
это и есть newsi1
или это 1
или писать название страницы..

не реагирует ни на что...  :-[
Название: Re: Доработка модуля комментариев
Отправлено: duncan от 17 Январь 2010, 03:46:36
а можно еще раз модуль вьіложить?..
спасибо!.
Название: Re: Доработка модуля комментариев
Отправлено: arteshuk от 17 Январь 2010, 18:44:34
а можно еще раз модуль вьіложить?..
спасибо!.

присоединяюсь к просьбе....
Название: Re: Доработка модуля комментариев
Отправлено: duncan от 18 Январь 2010, 06:36:09
ради єксперимента хочу попробовать перенести свой блог на санту, но без комментариев єто не имеет смьісла...
Название: Re: Доработка модуля комментариев
Отправлено: buisnesmen от 18 Январь 2010, 10:45:55
Большая просьба выложить новый архив
Название: Re: Доработка модуля комментариев
Отправлено: Nikodim от 12 Март 2010, 11:18:05
Присоединяюсь к просьбе.
Выложите новый архив, или скажите в какой версии самый последний.
Название: Re: Доработка модуля комментариев
Отправлено: Jean179 от 17 Апрель 2010, 08:07:46
Прошло уже больше месяца, а никто не пишет! И все-таки есть доработанный модуль комментариев и где можно его скачать?
Название: Re: Доработка модуля комментариев
Отправлено: seell от 18 Апрель 2010, 21:01:43
Смотрите в новой версии, потому и тишина, что ей занимаются. Ставится без проблем (на Денвер).
Название: Re: Доработка модуля комментариев
Отправлено: Andreyz от 20 Апрель 2010, 18:00:31
+1, тоже хочу доработанные комментари ! :)
Название: Re: Доработка модуля комментариев
Отправлено: rsr-internet от 30 Июль 2010, 20:05:19
Очень хочется что-бы у новостей к каждому посту был комментарий...
... выложите пожалуйста  :'(
Название: Re: Доработка модуля комментариев
Отправлено: vitalys от 16 Август 2010, 13:58:36
аргггггхххх!!!!
хелп!

когда пишут комментарии пользователи - в сообщениях в админке, и после модерации на сайте - вижу вместо переноса строк /r/n

Как это искоренить?

P.S. Если добавляю сам из админки - все в норме!
Название: Re: Доработка модуля комментариев
Отправлено: vitalys от 16 Август 2010, 14:04:17
пардоньте, как говорил Ромео. уточню: если пишу из админки, то /n/r не видно, но и строки не переносятся :(
Название: Re: Доработка модуля комментариев
Отправлено: ixtiandr от 23 Май 2011, 21:55:33
Добрый день. У кого нибудь есть архив доработанного модуля "комментарии"?