Правильная и простая интеграция Яндекс Спеллер в DLE
ПафНутиЙ 26.07.2013 яндекс, проверка правописания, Спеллер, интеграция Блог 8012 30 комментариев
В этой статье вы научитесь подключать проверку правописания для форм добавления новостей и комментариев в DLE любой версии.
Это довольно просто и особенных навыков не потребуется, а результат превысит ожидания!
Многие спрашивали как подключить проверку так же как на dle-faq.ru и в сети появилось решение, но только для комментариев, я же даю вам готовое и настроенное решение и для новостей и для комментариев.
Подготовка
- Идём на сайт API Яндекс.Спеллер и качаем оттуда актуальную версию архива со скриптом.
- В папке текущего шаблона сайта создаём папку spell и не забываем положить туда файлики .htaccess и index.htm, взять которые можно например из папки css или bbcodes. ведь безопасность ещё никто не отменял.
- Заливаем во вновь созданную папку spell содержимое скачанного архива.
- Подготовка окончена.
Установка и настройка
Для эффективной работы проверки правописания через Яндекс Спеллер его нужно настроить, но делать этого не придётся - я дам готовый код, который используется на dle-faq.ru.
- Открываем main.tpl
И там, где обычно прописаны скрипты дописываем ещё немного кода:<!-- проверка правописания -->
<script src="{THEME}/spell/spell.js"></script>
<script>
var speller = new Speller({ url:"{THEME}/spell", lang:"ru", options:Speller.IGNORE_URLS + Speller.IGNORE_UPPERCASE + Speller.FIND_REPEAT + Speller.IGNORE_URLS + Speller.IGNORE_LATIN });
function spellCheckComms() {
var addComms = document.forms["dle-comments-form"];
speller.check([addComms.comments]);
}
function spellCheckNews() {
var addNewsFull = document.forms["entryform"];
speller.check([addNewsFull.title, addNewsFull.short_story, addNewsFull.full_story]);
}
</script>
<!-- /проверка правописания -->
Функция spellCheckComms отвечает за комментарии, а spellCheckNews - за новости, всё просто.
Через переменную speller скрипт настроен на пропуск url, капслока, ищет повторяющиеся ошибки и поверяет только русский язык, игнорируя латиницу. - Открываем addnews.tpl
Рядом с кнопкой, отвечающей за отправку новости пишем:<button type="button" onclick="spellCheckNews()">Проверить правописание</button>
- Открываем addcomments.tpl
Находим кнопку, отвечающую за отправку комментария и рядом пишем:<button type="button" onclick="spellCheckComms()">Проверить правописание</button>
- Всё!
Вы так же можете перенести скрипт в файл со всеми остальными скриптами, но это уже дело лично каждого.
Демонстрацию работы вы можете наблюдать непосредственно в форме добавления комментария