Комментарии + ajax

#
Комментарии + ajax
Здравствуйте!
Искал на форуме подобные темы, но нашел только кучу решений для корзины
Отправка заполненной формы через ajax уже настроена.
Но ни как не получается сохранять комментарии.
Думаю, что проблема в обработчике. Т.к. я не совсем понимаю как работает hostCMS, при обработке комментариев.
Нашел часть кода: "$InformationSystem->ShowAddComment('УведомлениеДобавлениеКомментария', $param);"
$param - тут хранятся данные о комментарии и еще какая-то дополнительная информация.
Предполагаю, что когда комментарий отправляется форму с обновлением страницы то отправляется часть информации, которая через ajax не передается
Будьте добры подскажите как обрабатываются комменты, и возможную ошибку в рассуждениях.
#
Re: Комментарии + ajax
Порылся по документации, нашел метод добавления комментария:
http://www.hostcms.ru/api/HostCMS_5/InformationSystem.html#methodAddComment

Но вызов этого метода не нашел.
В ТДС -> Информационные системы -> Информационная система: Используется метод вывода сообщения, что комментарий добавлен или нет "$InformationSystem->ShowAddComment('УведомлениеДобавлениеКомментария', $param);"
В принципе это не столь важно, т.к. нас спасает первая ссылка.
Но осталась проблема, я бы сказал гвоздь программы, нужно знать URL страницы которую комментируют.
Хранится эта URL в "$GLOBALS['InformationResult']['item_id']".
Из выше написанного следует вопрос: как можно передать $GLOBALS['InformationResult']['item_id'] аяксом?
Кроме извращенного варианта с инпутом (<input name="some" value="<?php echo $GLOBALS['InformationResult']['item_id']; ?>" />
И где же можно посмотреть пример кода, который сохраняет комментарии?
Модератор
#
Re: Комментарии + ajax
warc888,
посмотрите в сторону 6-й версии, там работа с комментариями значительно изменена.
#
Re: Комментарии + ajax
warc888, еще пара общих моментов.
В ТДС код неслучайно разделен на две вкладки - "Настройки" и "Код".
То что написано в "настройках" выполняется _до_ вывода http-заголовков, а то что написано во вкладке "код" выполняется уже после вывода http-заголовков и шапки макета.
Совершенно очевидно, что обработчики всех ajax-действий должны быть во вкладке "настройки", в то время как стандартных обработчик добавления комментариев находится во вкладке "код" и для ajax не может быть задействован.
То есть, например, в 5й версии вам нужно, как минимум, сдублировать соответствующий код из одной вкладки в другую, чтобы обработать там ajax-запрос и после обработки и отдачи ответа прервать выполнение ТДС.

warc888 писал(а):
Из выше написанного следует вопрос: как можно передать $GLOBALS['InformationResult']['item_id'] аяксом?
Кроме извращенного варианта с инпутом (<input name=«some» value=»<?php echo $GLOBALS['InformationResult']['item_id'];? >» /

Мсье знает толк в извращениях
Страница, c которой вы отправляете ajax-запрос, строится в XSL, там уже есть id нужного вам элемента. Стало быть передавать его в ссылку нужно именно оттуда.
Это можно сделать и как скрытый инпут, значение которого вы будете вычитывать с помощью js в перед отправкой запроса на сервер, или как некий атрибут той ссылки (кнопки?) которая отправляет этот запрос, например, <a href="/news/" rel="123">Отправить</a> или даже просто как атрибут href этой ссылки
<a href="/news/item_123/">Отправить</a> - это по сути не имеет значения, главное чтобы вы так или иначе при конструировании вашей ajax-ссылки умели вставить в нее item_id (это дело искючительно js) и умели распарсить эту ссылки в настройках ТДС.
Заказов не беру. Консультирую редко.
#
Re: Комментарии + ajax
Благодарю за подсказку, но уже поздновато
Покопался в движке, пошевелил мозгами и в итоге сделал как написано выше
Все работает на ура. Только нагрузка немного великовата....
А вот разъяснение насчет "Настройки" и "Код", весьма полезно!!!

Но остался открытым вопрос:
Где можно посмотреть XSL шаблон комментариев?
#
Re: Комментарии + ajax
warc888 писал(а):
Где можно посмотреть XSL шаблон комментариев?
Какой именно?
Заказов не беру. Консультирую редко.
#
Re: Комментарии + ajax
Ага, все понял и нашел. Не внимательный беда просто

Вот интересно "site_user_id", вижу где передается и получается как для текущего пользователя так и для комментариев(сохранение/отправка).
А где осуществляется отправка "user_id", который входит в массив комментария?
И возможно ли его поймать в шаблоне??
#
Re: Комментарии + ajax
warc888, а зачем вам user_id? Если я вас правильно понял, то это идентификатор пользователя ЦА, по умолчанию он равен 19 и в клиентской части сайта нигде не используется.
В клиентке используется site_user_id.
И, соответственно, взаимосвязанное различие - "Пользователи" и "Пользователи сайта" - это две разные сущности. Первые - это пользователи системы, т.е. админки.
Заказов не беру. Консультирую редко.
#
Re: Комментарии + ajax
Благодарю за быстрый ответ.
Все понял.
Авторизация