Навигация
Навигация по подшивке
Подключение Яндекс спеллера к сайту созданному на drupal
Сделал всё гораздо проще и, по-моему эффективнее:
Работает в любой версии друпала!!!
Пошагово:
1. Скачиваем архив с этой страницы: http://api.yandex.ru/speller/doc/dg/tasks/how-to-spellcheck-web.xml (spell-1.0.zip) или смотрите последнюю версию
2. Распаковываем в корень сайта, в папку "speller"
3. Создаём блок (/admin/build/block/add - 6 или /admin/structure/block/add - 7)
Описание блока: * - Проверить правописание
Заголовок блока: ‹none› - мне нужны только кнопки
Текст блока:
для 6:
<script type="text/javascript" src="/speller/spell.js"></script>
<script type="text/javascript">
var speller = new Speller({ url:"/speller", lang:"ru", options: Speller.IGNORE_LATIN + Speller.IGNORE_URLS });
function spellCheck() {
var form = document.forms["node-form"];
speller.check([ form.page_title, form.title, form["edit-menu-link-title"], form.body ]);
}
</script>
<button name="cmdSpell" type="button" onclick="spellCheck()">Проверить правописание</button> <button name="cmdOptions" type="button" onclick="speller.optionsDialog()">Параметры...</button>
для 7:
<script type="text/javascript" src="/speller/spell.js"></script>
<script type="text/javascript">
var speller = new Speller({ url:"/speller", lang:"ru", options: Speller.IGNORE_LATIN + Speller.IGNORE_URLS });
function spellCheck() {
var form = document.forms[0];
speller.check([ form.page_title, form.title, form["edit-body-und-0-value"], form["edit-menu-link-title"] ]);
}
</script>
<button name="cmdSpell" type="button" onclick="spellCheck()">Проверить правописание</button> <button name="cmdOptions" type="button" onclick="speller.optionsDialog()">Параметры...</button>
Показывать блок на определенных страницах: На перечисленных страницах
node/add/*
node/*/edit
Показать блок определенным ролям: administrator, redaktor и т.п.
4. Ну и вывести блок в области - содержимое - под редактируемой нодой (документом).
В 7-ке в id формы добавляется название типа материала (page-node-edit), а так как я использую тему seven для редактирования и администрирования, то форма на этой странице только одна, поэтому это отлично работает - var form = document.forms[0];
А всё это из-за того что я быстро не справился, чтобы сделать кнопку в своём любимом редакторе ckeditor.
Плюсы:
1. Проверяет несколько полей для ввода текста
2. Не зависит от версии drupal
3. Не зависит от используемого редактора
Минусы:
1. Нет кнопки в редакторе
Да и ещё обязательно, перед проверкой не забываем нажать на ссылку - Поменять на простой текстовый редактор - чтобы отключить редактор и проверить именно поле body.