Статьи

Кастомизация autocomplete виджета

В taxonomy term reference поле есть виджет autocomplete, который использует Autocomplete jQuery UI и показывает имена уже существующих терминов при вводе желаемого имени термина. Но в некоторых случаях требуется выводить не только имя термина, но и некоторые другие данные о термине таксономии (к примеру, количество нод связанных с термином или описание термина). Подобный расширенный вывод автокомплита можно наблюдать на сайте stackexchange.com при добавлении тегов к новому вопросу.

Google Docs Viewer для просмотра документов

Для просмотра документов (pdf, docx, xlsx, pptx) на страницах сайта можно использовать embedded Google Docs Viewer. Для Drupal 7 есть модуль Embedded Google Docs Viewer, который добавляет форматтер для полей типа file. Для работы модуля обязательным условием является публичная(public) система хранения файлов. После установки модуль позволяет просматривать файлы документов на страницах материалов, к которому приаттачено поле с файлом.

Темизация модального Ctools окна

В предыдущей статье я рассматривал как сделать всплывающее модальное окно с задержкой. В качестве модального окна использовалось Ctools Modal API. Триггером для вызова модального окна служит ссылка, которая имеет класс .ctools-use-modal. Для добавления настроек для модального окна нужно ссылке добавить дополнительный класс .ctools-modal-my-simple-modal-style, где my-simple-modal-style - имя объекта, который нужно добавить в Drupal.settings.

Всплывающее модальное окно с задержкой

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

Изменение стандартной темы для jQuery UI

Библиотека jQuery UI как известно входит в ядро Drupal 7. Но стандартные элементы, создаваемые с помощью этой библиотеки (Dialog, Tabs, Slider, Datepicker), зачастую не сочетаются с дизайном сайта. Для темизации этих элементов не стоит спешить и переопределять стили, описанные в файлах ядра. Проще воспользоваться графическим интерфейсом ThemeRoller для создания своей темы для jQuery UI.

jq-ui1.png

Перевод drupal и модулей на русский (локализация)

В этой статье рассмотрим, как произвести перевод сайта на drupal и его модулей на русский язык. Сразу после установки язык по-умолчанию сайта английский. Чтобы сделать локализацию сайта, самый простой и удобный способ (на мой взгляд) - это модуль Localization update. Этот модуль позволит произвести первоначальный перевод интерфейса drupal, а также будет впоследствии переводить установленные модули и периодически делать обновления перевода по мере добавления новых переведенных строк.

Автоматическая генерация алиасов для динамических страниц views

При создании алиасов урлов с помощью модуля Pathauto можно заменить системные пути для нод и для пользователей на человекопонятные урлы. Для нод по-умолчанию создаются алиасы content/[node:title], а для юзеров - users/[user:name]. Но если добавить вьюсом страницы-вкладки, принимающие в качестве аргумента айдишники нод или юзеров, то алиасы к ним применены не будут. И в результате на сайте образуются страницы с урлами типа /user/%uid/articles(/user/%uid/photos) или /node/%nid/poll. Чтобы данную ситуацию исправить и создавать алиасы и этим страницам при создании новых материалов или пользователей, можно воспользоваться модулем Rules либо сделать это с помощью модуля Sub-pathauto. Но данную задачу можно решить и написанием небольшого кастомного модуля.

Адаптивное меню с помощью модуля Responsive Menus

С развитием планшетов и смартфонов все более актуальной становится адаптивная верстка и в частности - адаптивное меню. При этом нужно либо специально при верстке меню учитывать разные расширения экранов, либо воспользоваться модулями, которые занимаются темизацией меню с использованием css и jquery ( к примеру Superfish или Nice Menus).

Кнопка "Купить в один клик" - Drupal Commerce

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

Добавление библиотеки (library) в Drupal 8

В Drupal 7 для добавления библиотеки нужно было в модуле имплементировать hook_library() и в нем описать все css и js файлы, подключаемые библиотекой. В Drupal 8 библиотеки подключаются с помощью *.libraries.yml файлов, которые должны располагаться в корневой директории модуля или темы. Также в ядре самого друпала имеется набор библиотек и располагаются они в /core/core.libraries.yml.