close
new_releasesИнформация о покупке library_addПожелания по программе Шаблоны на заказ Информация о программе Конструктор лэндингов video_libraryКак сделать сайт на DLE priority_highПользовательское соглашение
Пожелания на будущее Информация о покупке save_altСкачать демо \ 13.3
» » Сохранение текста при добавлении новости с сайта.

Сохранение текста при добавлении новости с сайта.

Всем доброго.

На dle форуме тема, про то, как сохранить уже набранный текст в полях редактора FroalaEditor (WYSIWYG) на случай сбоя (свет, интернет, хз что ещё может быть), ну, дабы не набирать всё заново.

До сегодняшнего дня болталось всё это дело в закладках, пока не реализовалось.
Кстати, на деле оказалось всё просто.
Есть "localStorage".
Есть "Google".

И так, открываем наш файл добавления новости - "addnews.tpl" любым редактором и в самый низ добавляем код jаvascript...
<script>
// short\full\autosave
(function () {
    var short_story = entryform.elements.short_story;
    var full_story = entryform.elements.full_story;
    function supportsLocalStorage() { return typeof (Storage) !== 'undefined'; }
    if (!supportsLocalStorage()) {
        //short_story.value = 'Нет поддержки HTML5 localStorage';
        //full_story.value = 'Нет поддержки HTML5 localStorage';
    } else {
        try {
            setInterval(function () {
                localStorage.setItem('short_story_autosave', short_story.value);
                localStorage.setItem('full_story_autosave', full_story.value);
            }, 1000);
        } catch (e) {
            if (e == QUOTA_EXCEEDED_ERR) { alert('Превышена квота!'); }
        }
        if (localStorage.getItem('short_story_autosave')) { short_story.value = localStorage.getItem('short_story_autosave'); }
        if (localStorage.getItem('full_story_autosave')) { full_story.value = localStorage.getItem('full_story_autosave'); }
        document.querySelector('.clear_autosave').onclick = function () {
            short_story.value = '';
            full_story.value = '';
            localStorage.removeItem('short_story_autosave');
            localStorage.removeItem('full_story_autosave');
        };
    }
})();
</script>
Который записывает каждую секунду данные полей в память.
Далее добавляем нашей кнопке "сабмит" дополнительный класс - "clear_autosave", в моём случае..
<button class="ml-auto btn btn-raised btn-phone-block clear_autosave" type="submit" name="add">Добавить новость</button>
Что бы при добавлении новости поля очищались.
Вот собственно и всё. Пользуйтесь.
В программу естественно добавлю.

С уважением, Александр.