Этот скрипт — более проработанная версия скрипта «Обсуждение материала на форуме». В том скрипте было несколько багов и он не был настроен под любой модуль.
Изменения:
— Раньше выдавало «Не заполнен полный текст материала…» при использовании визуального редактора - исправлено;
— Адаптация под модули: news, load, dir, board, stuff, publ, blog;
— Добавлена проверка результата от сервера при добавлении темы на форум;
— Немного изменено окошко-уведомление о успешном добавлении;
— Еще несколько мелких исправлений.
Протестировал в: Firefox 3.6.13; Chrome 8.0.552.224; Opera 11.0
Страница добавления/редактирования материала нужного модуля, после $BODY$:
(если модуль news — шаблон Страница архива материалов)
Code
<?if ($MODULE_ID$='news' && $PAGE_ID$='add' or $PAGE_ID$='edit') or $MODULE_ID$!='news'?><script type="text/javascript">
var frmt = { module: '$MODULE_ID$', field: $("#drF7"), fid: 2 }
includeJSfile("/uForumDiscuss-new.js", "frmt");
</script><?endif?>
drF7 меняем на id input-тега, который вы используете для хранения ссылки на форум. Например, модуль news, Дополнительное поле 5, его id: nwF15. Как же узнать id?
Допустим, мы используем модуль Каталог файлов и поле Ссылка на страницу документации к материалу.
Настройки модуля → скриншот смотреть внизу. Идем на страницу добавления материала, жмем Ctrl+U и ищем там это поле и смотрим его id. (если уровень ваших знаний HTML немного больше нуля, вы поймете).
Идем в замену стандартных надписей и изменяем название поля. Тут можно почитать об этом подробнее.
fid: 2
Меняем на id форума, в который будем добавлять темы.
Качаем скрипт с архива и заливаем в корень сайта. Там можно изменить текст темы и её название.
Нужный модуль → Страница материала и комментариев к нему:
Ищем там $код$ поля, которое вы использовали, и добавляем примерно следующее (в любое место)
Code
<?if($код$)?><a href="$код$">Обсуждение материала на форуме</a><?endif?>
Полное описание функций и алгоритма скрипта можно почитать в предыдущей версии.
Проверьте права групп, все должны иметь право редактировать свои материалы.