Редактирование статей ajax для PHP-Fusion
Редактирование статей на ajax. При редактировании можно поменять Название, Категорию, Краткий текст, Полный текст, Опции (сохранить как черновик, разрешить комментарии, разрешить рейтинги).
Файл includes/theme_functions_include.php
Ищем функцию itemoptions
В ней ищем строку
} elseif ($item_type == "A") {
Ниже дописываем
if (iADMIN && checkrights($item_type)) { $res .= " · <a href='#edit' onclick=\"edit_a('".$item_id."'); return false;\">[e]</a> "; }
Сохраняем и закрываем.
Файл themes/шаблон/theme.php
Ищем функцию render_article
В ней строки отвечающие за вывод названия и текста статьи.
Дописываем id's как показано ниже:
echo "<td class='capmain' id='subject-".$info['article_id']."'>".$subject."</td>\n";
и..
echo "<td class='main-body middle-border' id='text-".$info['article_id']."'>".($info['article_breaks'] == "y" ? nl2br($article) : $article)."</td>\n";
Файл includes/jscript.js
В самом низу вставляем js код:
/*********************
* Ajax edit articles *
**********************/
var a_cach = new Array();
function edit_a(aid) {
if (a_cach[aid] != '') { edita_close(aid); }
if (!a_cach[aid] || a_cach[aid] == '') {
a_cach[aid] = $('#text-'+aid).html();
}
$.post('/includes/articles_edit.php', { id: aid, action: 'edit' }, function(data){
$('#text-'+aid).html(data);
});
return false;
};
function edita_close(aid) {
if (a_cach[aid] != '') {
$('#text-'+aid).html(a_cach[aid]);
}
a_cach[aid] = '';
return false;
};
function save_a(aid) {
var subject = $('#subject').val();
var cat = $('#cat').val();
var body = $('#body').val();
var body2 = $('#body2').val();
var draft = $('input[id=\'draft\']:checked').val();
var comments = $('input[id=\'comments\']:checked').val();
var ratings = $('input[id=\'ratings\']:checked').val();
if (subject == '' || body == '' || body2 == '') {
alert('Поля не должны быть пустыми!');
return false;
}
$.post('/includes/articles_edit.php', { id: aid, subject: subject, cat: cat, body: body, body2: body2, draft: draft, comments: comments, ratings: ratings, action: 'save' },
function(data){
$('#subject-'+aid).html(data.subject);
$('#text-'+aid).html(data.text);
a_cach[aid] = '';
}, 'json');
return false;
};
Закидываем папку includes в корневой каталог сайта.
Скачать:
20.06.2015, 18:43 -
Категория: Web-скрипты » PHP-Fusion