Drupal

Категория:
Опубликовано:

Делаем вертикальные вкладки с описанием

Vertical Tabs with description

Начиная с седьмой версии, в ядре Drupal есть поддержка т.н. "Вертикальных Вкладок" (или "Вертикальных Табов", "Vertical Tabs", как угодно).

Их создание и использование весьма тривиальны, как и весь FAPI 7-ки, и это не может не радовать.

Но, если посмотреть на табы полученные программно и на те, что нам предоставляет ядро (на страницах настройки типов материала или самих материалов и т.п.) - можно увидеть несколько модернизированный их вывод. А именно - у них есть своего-рода субтайтл, или краткое описание, в котором содержится перечень настроек из вкладки.

В этом посте посмотрим как это реализовано, и как мы можем использовать это в своих проектах.

Категория:
Опубликовано:

Список разрешений (access arguments) - Drupal7

Drupal Access Control

У Drupal весьма не плохая система контроля доступа (Access Control). Это тот самый интерфейс, по выдаче разрешений пользователям :))

Часто, при создании модулей нужно эти разрешения контролировать, но "под рукой" их никогда нет...

Ниже приведу список популярных разрешений, а так же способ их добычи.

Категория:
Опубликовано:

На заметку - Мультиязычный сайт на Drupal

Небольшой помощник в создании мультиязычных сайтов.

Модули, мануалы, рецепты (будет обновляться).

Категория:
Опубликовано:

Как изменить язык Drupal-сайта динамически

Language Switcher

Случается, что нужно явно указать текущий язык сайта.

Я столкнулся с таким при динамической подгрузке форм (AJAX'ом, в модальное окно) - вызывая стандартный drupal_get_form(), форма загружалась на стандартном языке.

Категория:
Опубликовано:

Поле с форматтером от другого материала

Extra field drupal

Например, стоит задача вывести поле из одного типа материала в другом.

Получим все настройки форматтера поля из первого материала и выведем его в качестве экстра-поля во втором.

К примеру, будем выводить поле field_page_image из материала page в материале article. Назовем его "extra_field_image".

Категория:
Опубликовано:

Свой темплейт с возможностью переопределения

temlate

Часто приходится создавать свои шаблоны для тех или иных целей.

Например, создавая свой дисплей материала (View Mode), нужно определить для него стандартный шаблон. Но при этом должна быть возможность его переопределения из темы.

Вот как это можно сделать.

Категория:
Опубликовано:

Индексация кастомных значений в Search API

Search API Index

Search API - известный, удобный и полезный инструмент для сайта на Drupal.

"Из коробки" - он работает со всеми полями сущностей, будь то ноды или самописный product-entity.

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

Добавляем в индекс собственные поля сущностей с помощью Search API.

Категория:
Опубликовано:

Делаем AJAX-кнопку с HTML-значением

Drupal HTML AJAX Button

Form API у Drupal - прекрасен. Любая форма собирается "на УРА".

Но, все же есть недостатки...

По умолчанию, для всех кнопок, Drupal использует HTML-элемент input, а он, не поддерживает вставку HTML-содержимого в значение. Это очень удобная фича для создания красочных кнопок, например с иконками. Ею можно пользоваться с помощью HTML-элемента button.

Есть несколько финтов ушами (о них тоже расскажу) с помощью которых можно соорудить кнопку (button) из FAPI. Но они исключают важную, на мой взгляд, особенность - они не работают с AJAX'ом.

Далее приведу рецепт победы над этим недугом.

Категория:
Опубликовано:

Переводимые строки в JS файлах - аналог t()

Drupal Переводимые строки в JS

Есть у Drupal замечательная функция - t(), с помощью которой можно легко выводить переводимые строки.

Все это замечательно работает, но только если мы работаем с серверной частью - в PHP.

Но! Drupal не зря "лучшая" платформа. Конечно же есть инструменты для вывода переводимого текста и из javascript-файлов.

Категория:
Опубликовано:

Вывести только первое изображение в тизере

По умолчанию, Drupal выводит все изображения в полях с множественными значениями.

Ниже рассмотрим как программно вывести только 1-е изображение.

Страницы