Гость
Обновленые темы Популярные темы Активные пользователи Новые пользователи Лента новостей
Shadows Addon 0.8 [09.06.2019]
Xemordio 3536 |  11 |  61
Бармен 43 |  7 |  0
Infe[R]nos 38 |  5 |  1
StraNNik 25 |  1 |  0
Waldemar 12 |  0 |  2
NL-Vincenz 12 |  0 |  3
aslava406 [16.06.2019]
nata1981vlad2012 [15.06.2019]
lpawlov [15.06.2019]
ford [15.06.2019]
musenckoa [13.06.2019]
Vidokter [10.06.2019]

  • Страница 1 из 1
  • 1
Форум » Web-Раздел » Скрипты для uCoz » Черновик при добавлении материала как на WordPress для uCoz (by Apocalypse)
Черновик при добавлении материала как на WordPress для uCoz
Xemordio Offline Дата: Понедельник, 04.02.2019, 12:36 | Сообщение # 1
Администратор
Звание: Маршал [?]
Сообщений: 3536
Создание черновиков при добавлении материала как на WordPress для uCoz by Apocalypse


Сегодня утром я подумал - а почему бы не запилить новый скрипт. В качестве идеи уже давно в голове вертелась мыслишка сделать черновики - постоянное сохранение записи по мере того, как человек оформляет её. Данная штука очень полезна и прекрасно работает на WordPress. Это подстрахует вас, если вы случайно закроете вкладку, у вас выключат свет или начнётся ещё какая-то дичь, что обломает ваше время, которое вы потратили

Плюсы:
- Миниатюрный код
- Очень простая установка
- Стабильная работа

Минусы:
- Не умеет работать с визуальным редактором добавления материалов (Может оно и к лучшему)

Установка:
1#: Управление дизайном - Каталог файлов - Форма добавления/редактирования материала - В самый низ вставьте:

Код
<?if($PAGE_ID$ == 'add')?>
<script>
$(function() {
apointerval = setInterval(function() {
apomakebackupinter(); // Запускаем интервал сохранения в черновики. 30000 - 30 секунд
}, 30000);
$('.manTdBrief a[data-uemode="3"], .manTdText a[data-uemode="3"]').click(); // Включаем режим HTML кодов. Остальные не поддерживаются
$('#addEntForm').attr('onsubmit', 'apomakebackup();return false;'); // Подменяем функцию добавления материалов
});

function apomakebackup() {
$('#ispen').removeAttr('checked'); // Перед добавлением материала на сайт открываем материал для всех
clearInterval(apointerval); // И останавливаем интервал сохранения в черновик
_uPostForm($('#addEntForm'), {
success: function(a) {
if($(a).text().indexOf('успешно изменен') != -1 || $(a).text().indexOf('успешно добавлен') != -1) {
_uWnd.alert('Материал успешно добавлен. <a href="/load/' + $(a).text().split('/load/')[1].split('"')[0] + '">ПОСМОТРЕТЬ</a>', '', {w: 300, h: 50, tm: 20000});
// Выводим на 20 сек. окно с уведомлением о том, что материал добавлен и даём ссылку на его просмотр
// Можете сделать автоматическое перенаправление на материал сразу после его добавления. Замените строчку _uWnd.alert... на location.replace('/load/' + $(a).text().split('/load/')[1].split('"')[0]);
};
}
});
};

function apomakebackupinter() {
$('#ispen').attr('checked', 'checked'); // Перед добавлением в черновик закрываем материал от пользователей
_uPostForm($('#addEntForm'), {
success: function(a) {
if($(a).text().indexOf('успешно добавлен') != -1) {
$('input[name="a"]').val('14').before('<input type="hidden" name="id" value="' + $(a).text().split('/load/')[1].split('"')[0].split('-')[3] + '">');
_uWnd.alert('Черновик создан', '', {w: 200, h: 50});
// Материал добавлен. Невидим для пользователей
} else if($(a).text().indexOf('успешно изменен') != -1) {
_uWnd.alert('Черновик сохранён', '', {w: 200, h: 50});
// Материал отредактирован. Невидим для пользователей
};
}
});
}

// imapo.ru (c) 2017
</script>
<?endif?>

Вкратце о механизме скрипта: при первом запросе скрипт добавляет материал на сайт и делает его невидимым для остальных пользователей. При следующих запросах мы уже редактируем этот самый материал, сохраняя изменения каждые 30 секунд. После добавления материала сохраняем то, что не успело сохраниться в черновик и открываем материал для всех на сайте.

[greenb]Источник: imapo.ru[/greenb]
Дата регистрации: 22.07.2017
Форум » Web-Раздел » Скрипты для uCoz » Черновик при добавлении материала как на WordPress для uCoz (by Apocalypse)
  • Страница 1 из 1
  • 1
Поиск: