Обсуждение на форуме - Форум
Хостинг от uCoz
Все для CS, системы uCoz, adobe photoshop и тд...
Баннерообмен
Заказать рекламу
Реклама:



  • Страница 1 из 1
  • 1
Обсуждение на форуме
KLA$ | Доп. инфо. Дата: Суббота, 18.01.2014, 01:13 | Сообщение # 1
Сообщений: 125
Репутация: 56
Награды: 11
[Гости не могут видеть сообщения, пожалуйста войдите в аккаунт или зарегестрируйтесь]
 
Сообщение

Алгоритм работы скрипта:
— Добавляет материал (как обычно);
— Скрипт берет ссылку на только что добавленный материал и создает тему на форуме с ссылкой на материал (есть поддержка каптчи);
— Скрипт редактирует материал (добавленный в пункте 1) и в нужное поле добавляет ссылку на созданную тему (в пункте 2).
В итоге инеем тему на форуме, в которой каждый может задать свой вопрос насчет любого материала, к тому же это удобно. Админам удобнее отслеживать новые вопросы (комментарии) к материалам. Для этого можно создать отдельный раздел на форуме.
Настроил скрипт под модули Каталог файлов и Каталог сайтов. Скрипт можно легко настроить под любой модуль.
Установка для Каталога файлов:
1. Настройки модуля

[spoiler="Спойлер"][/spoiler]

2. В горизонтальном меню в админке жмем Настройки » Замена стандартный надписей. Ищем наше поле и переименовываем в «Тема на форуме».
3. Создаём текстовый докумен и вставляем туда это
[spoiler="Спойлер"]
Код
/*  

Bogggdan  

*/  

var frmt = {  
fid: 10, //id форума, где создавать темы  
field: $("#ldF16"), // id инпута, который используем для хранение ссылки на тему на форуме  
alrd: $("#ldF16").hide().after($("")).val()  
}  
if (frmt.alrd.length > 5) $("#ftchk").hide().after("Тема создана"); //Если это редактирование материала и тема создана  
$("#addEntForm")[0].onsubmit = function(){   
if ( $("#ftchk").is(":checked") && (frmt.field.val().length == 0) ) {  
new _uWnd('a','Загрузка…',250,90,{autosize:0,modal:1,align:0},{form:'addEntForm', success: function(data){   
var J = $("").html( $(data).text() ).find("div").text(), S = $("").html( $(data).text() ).find("a").attr("href");  
frmt.moder = ($(data).text().indexOf("модератор") > -1)?" (На модерации)":""; //Для метки, что материал на модерации  
if ( S ) {   
$.get("/forum/" + frmt.fid + "-0-0-1-1", function(u) {  
frmt.s = S;  
frmt.form = {  
jkd498: 1,  
jkd428: 1,  
name: 'Обсуждение «' + $("input[name='title']").val() + '»', //название темы  
description: '', //описание темы  
message: 'В этой теме Вы можете задать вопрос о материале ' + $("input[name='title']").val() + '.',  
smiles_on: 1,  
signature_on: 0,  
subscribe: 0,  
ssid: $("input[name='ssid']", u).val(),  
fid: frmt.fid,  
tid: 0,  
p: 0,  
a: 4  
};  
var seckey = $("input[name='seckey']", u).val(), capimg = $("#secImgForum", u).clone(),  
_sos = u.split("} _y7M=_dC('")||[]; _sos = _sos?_sos[1]:[]; _sos = _sos?_sos.split("');")[0]:"";  
if (_sos) isSos(_sos); //скрытое поле  
if ( seckey ) {  
frmt.form.seckey = seckey;  
capwrite(capimg);//функция открытия окна с вводом каптчи  
}  
else postForum(); //если нет каптчи, сразу постим  
});  
}  
else {   
_uWnd.content('a', '  
' + J + '  
');//форма заполнена неправильно  
_uWnd.setTitle('a', 'Ошибка'); //заголовок аякс окошка  
}  
}});  
}  
else openery(); //добавляем обычной функцией, если чекбокс «тема на форуме» не отмечен  
return false;  
}  
function postForum(){  
$.post("/forum", frmt.form, function(data){  
var y = $(data).text();  
if (y.indexOf("еправильный код без") > -1) { $("#secImgForum").trigger("click"); $("#capcodef").val("").focus(); }  
else { frmt.flink = $("td.forumNamesBar:first a.forumBarA:last", data).attr("href"); _uWnd.close('c'); editEntr(); }  
});  
}  
function capwrite(i){  
new _uWnd('c', 'Код с картинки', 300, 80, {alert:1, close:0, oncontent: function(){ $("#capImgSpanf").html(i); $("#capcodef").focus(); }}, ' ')  
}  
function checkCapCode(){  
var v = $("#capcodef").val();  
if (v.length >= 4) {  
frmt.form.code = v;  
postForum();  
}  
}  
function editEntr(){  
var id = (frmt.s.match(/-(d+)$/) || [])[1] || alert('Ошибка');  
$.get("/load/0-0-0-" + id + "-13", function(edt){  
$.post("/load", $("#addEntForm", edt).serialize().replace("doclink=&", "doclink="http://webucoz.com/redirect.html? + frmt.flink + "&"), function(){  
_uWnd.content('a', ' Добавлен материал' + frmt.moder + '  
Тема на форуме');  
_uWnd.setTitle('a', 'Готово');  
});  
});  
}  
function isSos(s){ //функция расшифровки секретного поля  
var i, r="", l=s.length-1, k=s.substr(l,1);   
for (i=0;i<32){ c=127-(32-c);} r+=String.fromCharCode(c);}   
frmt.form[r.split('"')[3]] = r.split('"')[5];  
}
[/spoiler]

Сохраняем под именем

Код
uForumDiscuss.js


Некоторые строки в коде прокомментированы.

Код
fid: 6


id форума, где создаем темы. Там же изменить можно название темы и текст темы.
4. Каталог файлов » Страница добавления/редактирования материала, после $BODY$

Код
<script type="text/javascript" src="/uForumDiscuss.js"></script>


5. Настраиваем права групп ( /panel/?a=users;l=groups;t=8 ). Разрешаем пользователям редактировать свои материалы.
6. Страница материала и комментариев к нему, по месту:

Код
<?if($DOCPAGE_URL$)?><a href="$DOCPAGE_URL$">Обсуждение материала на форуме</a><?endif?>

Автор - KLA$
Дата добавления - 18.01.2014 в 01:13
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

ForumSiteMap.xml | SiteMap.xml

Привет! Всё права защинены администратором сайта !