Перейти к основному содержанию
Главная Frantsuzzz
  • Блог
  • Демо
  • Утилиты
    • Онлайн генератор таймера v.2.0

Managed file multiple: элемент formAPI для загрузки нескольких изображений

Опубликовано в пт, 01/12/2017 - 07:46 |
Drupal,
Drupal 7.x

Сделал модуль, который добавляет новый элемент formAPI для загрузки нескольких изображений. 
По сути, это переработанный привычный всем виджет file_manager. 
Перенесен практически весь функционал (ajax, валидация) + добавлен параметр '#file_max_files', который ограничивает количество загружаемых файлов.

 

  • Добавить комментарий
  • Читать дальше о Managed file multiple: элемент formAPI для загрузки нескольких изображений

Webform: Drag and drop загрузка файлов путем перетаскивания

Опубликовано в чт, 19/11/2020 - 22:06 |
Drupal,
Drupal 7.x

Для загрузки файлов путем перетаскивания для drupal 7 есть отличный модуль file_resup. Из коробки он работает с полями сущностей. А вот компонент вебформы file обделен данной возможностью.

Но мы это исправим и научим наши вебформы Drag-and-drop загрузке файлов.

Для базового функционала нам потребуется  установленный модуль file_resup и один хук HOOK_form_webform_client_form_alter

  • Добавить комментарий
  • Читать дальше о Webform: Drag and drop загрузка файлов путем перетаскивания

Search API: Переиндексация элементов

Опубликовано в вт, 02/10/2018 - 02:45 |
Drupal,
Drupal 7.x

Search API позволяет переиндексировать элементы в двух режимах - немедленная индексация и отложенная индексация. При запуске отложенной индексации элементы только отмечаются как устаревшие, сам индекс при этом не изменяется. Только при очередном запуске крона устаревшие элементы будут (пачками) переиндексироваться. За размер пачки отвечает параметр "Cron batch size" в настройках импорта.

  • Добавить комментарий
  • Читать дальше о Search API: Переиндексация элементов

Paragraphs: найти сущность-родителя

Опубликовано в чт, 26/07/2018 - 03:35 |
Drupal,
Drupal 7.x

Update 26.07.2018: Нашел решение:
$paragraphs_item->hostEntityType();
$paragraphs_item->hostEntity();

 

Имея в своем распоряжении сущность 'paragraphs_item' (модуль Paragraphs) понадобилось узнать сущность родителя. Готового варианта не нашел, пришлось придумать свой...

  • Добавить комментарий
  • Читать дальше о Paragraphs: найти сущность-родителя

Node clone: Переместить ссылку в табы

Опубликовано в вс, 04/06/2017 - 20:33 |
Drupal,
Drupal 7.x

По умолчанию модуль Node clone добавляет свою ссылку в разделе действий (MENU_LOCAL_ACTION). Что бы перенести их в раздел вкладок (tabs) нужно добавить в свой модуль небольшой hook...

  • Добавить комментарий
  • Читать дальше о Node clone: Переместить ссылку в табы

Модуль Geofield Yandex Maps - создание своего пресета для оформления метки, hint и clusterIcon

Опубликовано в вс, 04/06/2017 - 20:32 |
Drupal,
Drupal 7.x,
CSS,
Javascript

Уже не раз использовал в проектах модуль Geofield Yandex Maps для вывода различных гео-объектов на Яндекс.Картах. И лично для меня основной проблемой всегда было воображение дизайнеров))) ​Ну да ладно, статья все таки не о них, а про Яндекс.Карты версии 2.1. 

Оформить всплывающее окно с информацией об объекте (baloon) - самое простое. Тут можно справиться простым css.

В статье приведу пример своего пресета, который помог мне темизировать другие элементы:

  1. Метка - иконка объекта
  2. Hint - Подсказка с краткой информацией об объекте (стандартное поведение - при наведении курсора на объект)
  3. ClusterIcon - Иконка кластера. Заменяем своей иконкой и/или меняем 

 

  • Добавить комментарий
  • Читать дальше о Модуль Geofield Yandex Maps - создание своего пресета для оформления метки, hint и clusterIcon

Views: Программно изменить значение по умолчанию у exposed filters

Опубликовано в сб, 03/06/2017 - 02:38 |
Drupal,
Drupal 7.x
/**
 * Меняем значение фильтра (exposed filters) по умолчанию
 * @param $view
 *
 */
function MYMODULE_views_pre_build(&$view) {
  if ($view->name == 'ИМЯ_ПРЕДСТАВЛЕНИЯ') {
    $display = $view->current_display;
    $filter_field = 'ИМЯ_ПОЛЯ_ФИЛЬТРА'; //Например, 'field_region_value'
    $new_value = НОВОЕ_ЗНАЧЕНИЕ;

    if (isset($view->display[$display]->handler->handlers['filter'][$filter_field])) {
      $view->display[$display]->handler->handlers['filter'][$filter_field]->value = array(
        $new_value => $new_value,
      );
    }
  }
}
  • Добавить комментарий
  • Читать дальше о Views: Программно изменить значение по умолчанию у exposed filters

Double field: подключить CKEditor к текстовой области (textarea)

Опубликовано в пт, 19/05/2017 - 16:08 |
Drupal,
Drupal 7.x

Те, кто использует модуль Double field могли заметить, что в текстовой области отсутствует редактор. Бывают случаи, когда для удобства наполнения он просто необходим. 
По умолчанию CKEditor используется только в элементах «Фильтрованный текст» (пользователь выбирает текстовый формат). Для обычных textarea он не работает, т.к. нет дополнительного поля с текстовым форматом. Можно прикрепить CKEditor к виджету Double field вручную с помощью пользовательского PHP/JS сниппета, но мы не сможем контролировать его через профили CKEditor.

  • Добавить комментарий
  • Читать дальше о Double field: подключить CKEditor к текстовой области (textarea)

Entity Translation и XML sitemap: вывод только переведенных материалов

Опубликовано в сб, 29/04/2017 - 00:01 |
Drupal,
Drupal 7.x

Есть система региональных поддоменов, основанных на Entity Translation. Для перевода доступны только НЕКОТОРЫЕ типы материалов. Часть остается непереведенными, т.е. на поддоменах недоступна. Необходимо генерировать карту сайта для каждого поддомена. После включения модуля XML sitemap internationalization в админке (admin/config/search/xmlsitemap) можно создавать карты сайта для различных поддоменов (различных языков). Но непереведенные материалы по умолчанию имеют язык UND (LANGUAGE_NONE) и попадают в карту сайта для поддоменов. А нам нужно их исключить из регионов и оставить только в основном языке.

  • Добавить комментарий
  • Читать дальше о Entity Translation и XML sitemap: вывод только переведенных материалов

Colorbox Node + Webform: изменение размера окна после отправки формы

Опубликовано в пт, 10/02/2017 - 14:33 |
Drupal,
Drupal 7.x

Colorbox Node - очень популярный модуль для открытия контента во всплывающем окне. Он очень удобен для вывода вебформ. Размер окна автоматически подстравивается под размер контента. Но вот заметил одну неприятную штуку - когда мы отправляем неправильно запоненную форму, Друпал нам возвращает сообщение об ошибке и высота контента увеличивается. Но вот размер popup остается прежним из-за чего появляется вертикальный скролл. Собственно, проблема:

  • Добавить комментарий
  • Читать дальше о Colorbox Node + Webform: изменение размера окна после отправки формы

Drupal Commerce: Вариант с предоплатой заказа 50%

Опубликовано в чт, 09/02/2017 - 14:11 |
Drupal,
Drupal 7.x

Задача: разрешить пользователю во время оформления заказа выбрать вариант предоплаты (50% от стоимости заказа). Например, при продаже билетов на мероприятие. Остальная оплата будет осуществляться на месте самого мероприятия...

  • Добавить комментарий
  • Читать дальше о Drupal Commerce: Вариант с предоплатой заказа 50%

Drupal Commerce: учим rules работать с полем Price у заказа

Опубликовано в сб, 19/11/2016 - 21:57 |
Drupal,
Drupal 7.x

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

  • Добавить комментарий
  • Читать дальше о Drupal Commerce: учим rules работать с полем Price у заказа

Drupal Commerce - добавим связь commerce_product и display_product

Опубликовано в чт, 03/11/2016 - 05:10 |
Drupal,
Drupal 7.x

Из коробки drupal commerce поддерживает связь между commerce_product и display_product только с одной стороны: cо стороны ноды (display_product). Многим этого достаточно, но бывают варианты, когда требуется при работе с продуктом получить доступ к данным из ноды. Есть один очень хороший способ наладить такую связь без больших затрат. Основан он на возможности объявлять у сущностей свои свойства. Кстати, он реализован в модуле commerce_search_api, поэтому если у Вас установлен и включен данный модуль, то дальше можно не читать.

  • Добавить комментарий
  • Читать дальше о Drupal Commerce - добавим связь commerce_product и display_product

EAVfield - составное поле для хранения атрибутов товара

Опубликовано в чт, 07/04/2016 - 21:20 |
Drupal,
Drupal 7.x

Про модель EAV (Entity–attribute–value) можно подробно почитать в Википедии. Не буду на этом останавливаться. Если вкратце, то это вертикальная модель (таблицы с небольшим количеством столбцов). На данный момент для Друпал 7 есть несколько модулей, которые позволяют применить такой подход на практике.  Например, Field collection, Multifield, Double field. Единственное, что мне не нравится в них, это сложность интеграции с SearchApi + FacetApi.

  • Добавить комментарий
  • Читать дальше о EAVfield - составное поле для хранения атрибутов товара

Друпал 8: Использование LESS в своей теме

Опубликовано в вт, 08/03/2016 - 19:12 |
Drupal,
Drupal 8.x

На данный момент (08.03.2016г) модуль Less CSS Preprocessor  не портирован на Друпал 8. Статья для тех, кто уже сейчас хочет поюзать Less на восьмерке...

  • Добавить комментарий
  • Читать дальше о Друпал 8: Использование LESS в своей теме

Друпал 8: Routing, links, permissions, tabs или "Hello YML"

Опубликовано в вт, 09/02/2016 - 23:12 |
Drupal,
Drupal 8.x

Приятно наблюдать как статьи по Друпал 8 постепенно наполняют русскоязычный сегмент сети... Ну что ж, пора и мне вносить свой вклад в это дело. Первые шаги конечно даются нелегко, но на то они и первые. Придется много читать, пробовать, ошибаться и снова искать ответы в сети. Я пошел по известному маршруту - Hello World, дамы и господа!

  • 2 комментария
  • Добавить комментарий
  • Читать дальше о Друпал 8: Routing, links, permissions, tabs или "Hello YML"

Migrate: Импорт материалов. Как же ты все-таки работаешь?

Опубликовано в чт, 28/01/2016 - 23:21 |
Drupal,
Drupal 7.x

В данной статье будет теория про механизм, который использует модуль migrate при импорте материалов в Друпал из различных источников. Причина написания данной статьи очень проста - я был удивлён... :-)

Думаю, многие, как и я, в своей практике используют довольно стандартный алгоритм при импорте:

  • Добавить комментарий
  • Читать дальше о Migrate: Импорт материалов. Как же ты все-таки работаешь?

Модуль Geofield Yandex Maps Block - вывод Яндекс карты в блоке

Опубликовано в пт, 25/09/2015 - 23:32 |
Drupal,
Drupal 7.x

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

  • 1 комментарий
  • Добавить комментарий
  • Читать дальше о Модуль Geofield Yandex Maps Block - вывод Яндекс карты в блоке

Migrate: импорт товаров с автоматическим созданием многоуровневого каталога

Опубликовано в пт, 18/09/2015 - 11:19 |
Drupal,
Drupal 7.x

Очередной "финт ушами".

Есть файл для импорта товаров (нод), в котором категория товара указана в виде списка названий категорий и подкатегорий. Например:

 

Пример файла для импорта

Для миграции таких терминов из коробки можно использовать следующую конструкцию (миграция данных в multi-value поля):

  • Добавить комментарий
  • Читать дальше о Migrate: импорт товаров с автоматическим созданием многоуровневого каталога

Migrate: Импорт из Excel

Опубликовано в чт, 17/09/2015 - 17:05 |
Drupal,
Drupal 7.x

Снова возвращаемся к migrate. Довольно удобный фреймворк для импорта данных в Друпал.
Один из распространенных форматов источника для импорта - CSV. Поддерживается migrate из коробки. Описание и примеры работы с классом MigrateSourceCSV можно найти на d.org.
Есть один большой недостаток при импорте из CSV - подготовка файла для импорта:

  • 4 комментария
  • Добавить комментарий
  • Читать дальше о Migrate: Импорт из Excel
  • 1
  • 2
  • 3
  • ›
  • »
http://www.золотойкубок.com.ua
http://www.слотокинг.com.ua

Frantsuzzz

Категория

  • Drupal (92)
    • Drupal 6.x (3)
    • Drupal 7.x (42)
    • Drupal 8.x (2)
  • CSS (3)
  • Javascript (3)
  • HTML (1)
  • SEO (1)
  • Windows (3)
  • Партнерки (1)
  • Разное (2)

Последние статьи

  • Webform: Drag and drop загрузка файлов путем перетаскивания
  • Search API: Переиндексация элементов
  • Paragraphs: найти сущность-родителя
  • Managed file multiple: элемент formAPI для загрузки нескольких изображений
  • Node clone: Переместить ссылку в табы

Раздел Друпал 8

Навигация

  • RSS
  • Поиск по тегам
  • Утилиты
Быстрый Хостинг Fozzy