Модуль "Версия для слабовидящих" (Drupal 7)

Аватар пользователя itcrowd72

Всем привет!

Кто разрабатывал сайты для государственных, муниципальных, образовательных учреждений знает, что у сайта должна быть обязательно "версия для слабовидящих". Хочу предложить своё решение этого вопроса.

Думая над логикой модуля, чтобы всё не усложнять я пришел к следующему решению: проще всего сделать "версию для слабовидящих" отдельной темой оформления и переключать темы "на лету". Необходимо установить и подготовить тему оформления, которая будет "для слабовидящих". В admin/appearance/settings выбрать эту тему.

Модуль используется только для создания блоков переключения на тему для слабовидящих и обратно. Сама панель с кнопками теперь находится в теме оформления и выглядит вот так:

panel's screenshot

Модуль после включения создаёт 2 уже готовых блока: "версия для слабовидящих"

block1

и "обычная версия".

block2

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

С помощью CSS можно изменить изображения на кнопках в блоках.

Что делать, если модуль не работает?

Топ 3 проблем:
1) Не выбрана тема в admin/appearance/settings
2) Библиотека jQuery подключаемая из каталога с темой. Если вам нужна другая версия, отличная от той, что идет в ядре, используйте модуль jquery_update, а не подключайте самостоятельно!
3) Проверьте все подключаемые в теме JS-файлы. Народные "умельцы" любят подключать различные JS-файлы, которые часто написаны не по стандартам кодирования Drupal и приводят к ошибке работы других модулей (хотя сами работают).

Скачать модуль можно с официальной страницы проекта
Скачать тему можно с официальной страницы проекта

Поучаствовать в разработке модуля можно на GitHub
Поучаствовать в разработке темы можно на GitHub

Внести пожертвование на развитие модуля можно тут

Ключевые слова:
Тип материала:
Версия Drupal:
22 Спасибо

Комментарии

Аватар пользователя itcrowd72
itcrowd72 1 год назад

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

0 Спасибо
Аватар пользователя sergeybelya
sergeybelya 1 год назад

And unlike other theme switching modules, ThemeKey should play well with internal and external page caches, like Boost or Varnish, even for anonymous users. - это со страницы модуля на орге - не соответствует действительности?

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 1 год назад

Я не выкатил еще сюда новую версию. Я отвязал модуль от ThemeKey.

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 1 год назад

UPD 12.10.2016

0 Спасибо
Аватар пользователя keha3912
keha3912 1 год назад

я обошелся без спецмодулей. все решил ThemeKey+Text Resize+Redirect+Adaptive Theme (на базе которой я сделал аскетичную тему). Блок создал по обычному пути.
вот, к примеру вот это удовлетворило муниципалитет

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 1 год назад

У моих клиентов такое не прокатывает. В постановлении правительства ЯНАО прописано, что помимо изменения размера текста, необходимо еще изменение кернинга, фона, изменение отображения изображений (цветные, чернобелые, нет). В идеале еще чтение текста "экранным диктором", но я его не делал, потому что даже на kremlin.ru этого нет.

0 Спасибо
Аватар пользователя lipinart
lipinart 12 месяцев назад

Подпишусь, пока просматриваю готовые решения. У вашего модуля еще один недостаток - не возможно переключится обратно, при этом перекрывается и тема админки...

На мой взгляд два пути развития событий:
1. Создать упрощенную субтему, вывести кнопку, которая будет передавать текущее состояние в hook_custom_theme(), предложенный Алексеем.
2. В большинстве случаев достаточно подменить сагрегированный css-файлик при неизменной разметке. Но тут нужно подтягивать сессии.

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 12 месяцев назад

Чтобы переключиться обратно нужно нажать на кнопку "обычная версия". Она находится в блоке "Normal version" под настройками. Не забудьте добавить этот блок в тему для слабовидящих (предполагаю, что вы этого не сделали).

Тема админки, да, перекрывается. Но не вижу в этом проблемы, т.к. версия для слабовидящих создается преимущественно для анонимных пользователей

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 месяца назад

В новой версии этот баг (с перекрытием темы админки) решился сам собой, т.к. был очень переработан и оптимизирован код

0 Спасибо
Аватар пользователя Van'Denis
Van'Denis 9 месяцев назад

Привет
а) Может есть визуальный пример использования этого модуля?
б) Есть ли к нему переводы на другие языки?

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 9 месяцев назад

Привет!

После установки модуля становятся доступны 2 блока. Один для включения версии для слабовидящих:

(здесь кнопка стилизована под конкретный сайт)

И второй блок для управления и отключения версии для слабовидящих:

Поддержки мультиязычности пока нет, я её прикручу в следующей версии. Модуль пишу в свободное время, а его очень мало.
ЗЫ, можешь помочь с разработкой, буду только "за")

0 Спасибо
Аватар пользователя Van'Denis
Van'Denis 9 месяцев назад

Класс! Кажется это то, что мне нужно. По поводу помочь - пиши в лс. Может получится чем помочь :)

0 Спасибо
Аватар пользователя tehfoxen
tehfoxen 4 месяца назад

Спасибо за модуль! Хорошо бы еще реализация для мультисайтовости.

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 3 месяца назад

Друзья-товарищи! Рад сообщить, что я не забросил модуль. По многочисленной обратной связи я решил переделать вид блока в виде панели сверху сайта (как у законодателей моды kremlin.ru). При этом пока что все недостатки модуля остаются: отдельная тема оформления и необходимость отключить кэширование. Их исправлять будем позже.

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 месяца назад

UPDATE 04.08.2017

0 Спасибо
Аватар пользователя tehfoxen
tehfoxen 2 месяца назад

Подскажите, возникли проблемы на новой версии модуля. После перехода на другие страницы все настройки слетают те например, выставили шрифт и фон, но по клику на другую страницу отражается уже основной шаблон те нужно снова выставлять настройки. что может быть не так?

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 месяца назад

Кэширование включено? Если да, то придется выключить
Настройки запоминаются в cookies. Запись cookies на диск разрешена?

0 Спасибо
Аватар пользователя tehfoxen
tehfoxen 2 месяца назад

кэширование выключено в том то и дело) с предыдущим модулем таких проблем не было((

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 месяца назад

Пишите в личку адрес сайта

0 Спасибо
Аватар пользователя pr0g
pr0g 2 месяца назад

По поводу переключения темы "на лету", может посмотреть как это реализовано в модуле switchtheme.

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 месяца назад

Исправил issue по поводу переключения темы при включенном кэшировании! Кто пользуется модулем и кэшированием - проверяйте.

0 Спасибо
Аватар пользователя qbigbass
qbigbass 3 недели назад

Поставил модуль, разместил блоки по темам. Кеширование отключил. При переключении с обычной версии на версию для слабовидящих ничего не происходит, страница просто перезагружается. Куки разрешены. Попробовал поставить установленную тему (версия для слабовидящих) по умолчанию, работает, но при переходе по разделам настройки слетают. Пробовал на разных браузерах, переключения не работают. Библиотека jquery.cookie которая указана в модуле она автоматически подключается на сайте?

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 3 недели назад

Здравствуйте. Версию точно последнюю поставили? Новая версия не требует отключения кэширования. Ошибки в консоли браузера есть? Дайте ссылку на сайт сюда или мне в личку

0 Спасибо
Аватар пользователя qbigbass
qbigbass 3 недели назад

Ошибок в консоли браузера нет, разве что картинок некоторых нет

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 3 недели назад

Других нет. Она и последняя

0 Спасибо
Аватар пользователя keha3912
keha3912 6 дней назад

та же проблема - при переключении с обычной версии на версию для слабовидящих ничего не происходит, страница просто перезагружается

0 Спасибо
Аватар пользователя keha3912
keha3912 6 дней назад

Отключил сжатие javascript - теперь при нажатии на блок анонимного пользователя происходит переадресация на одну из страниц сайта. Под админом нет изменений. Очень странное поведение модуля...

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 6 дней назад

Здравствуйте! Раздел в шапке "Что делать, если модуль не работает?" читали?

0 Спасибо
Аватар пользователя keha3912
keha3912 6 дней назад

да, читал
стоит обычный модуль jquery_update
пытался менять версию jquery для темы используемым модулем - не помогло

0 Спасибо
Аватар пользователя keha3912
keha3912 3 дня назад

просьба выложить модуль на drupal.org и сделать проверку модулем настроек в admin/appearance/settings)

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 3 дня назад

На орге скоро будет. И проверку, видимо, придётся сделать, т.к. многие не очень внимательно читают readme. Спасибо за обратную связь!

0 Спасибо
Аватар пользователя keha3912
keha3912 2 дня назад

Дело в том, что очень трудно понять смысл плашки Special theme с выбором Special theme. Масло масленное :)
По идее надо ее назвать "The theme for the visually impaired" (Тема для слабовидящих), а в ней уже выбор темы Special theme

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 дня назад

Да надо перевод добавить с описанием. Если есть акк на GitHub, сделайте issue

0 Спасибо
Аватар пользователя keha3912
keha3912 2 дня назад

нахомячил

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 2 дня назад

Вижу, спасибо

0 Спасибо
Аватар пользователя itcrowd72
itcrowd72 16 часов назад

Пост был обновлен. Модуль и тема размещены на drupal.org. Просьба всем, кто пользуется, удалить старые версии и скачать модуль и тему с орга. Это нужно для дальнейшего обновления и статистики.

0 Спасибо