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

CentOS: Docker iptables - закрываем внешние порты

Опубликовано в сб, 19/11/2022 - 21:02 |
Администрирование

Закрываем порты docker контейнеров  в iptables. 
Обновление правил при перезагрузке сервера.

  • Добавить комментарий
  • Читать дальше о CentOS: Docker iptables - закрываем внешние порты

Drupal 9 - отключить перезапись .htaccess при обновлении через composer

Опубликовано в пт, 23/09/2022 - 13:04 |
Drupal,
Drupal 9.x,
Drupal 8.x

В файле composer.json проекта в разделе "drupal-scaffold" можно исключать отдельные файлы.

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            },
            "file-mapping": {
                "[web-root]/.htaccess": false
            }
        },
  }

При обновлении они будут пропущены:

Scaffolding files for drupal/core:
  - Skip [web-root]/.htaccess: overridden in drupal/recommended-project  
  • Добавить комментарий
  • Читать дальше о Drupal 9 - отключить перезапись .htaccess при обновлении через composer

Скрыть справку и описание текстового формата на форме (элемент text_format)

Опубликовано в чт, 17/02/2022 - 00:53 |
Drupal,
Drupal 9.x

По умолчанию при выводе поля с типом text_format Друпал отображает справочную информацию об ограничения того или иного текстового формата. 

Но не всегда данная информация нужна для конечного пользвоателя. Приведу способ, которым можно скрыть её вывод. Вариант через css

.filter-wrapper{
  display:none
}

мы не рассматриваем всерьез ;-)

Для примера будем "препарировать" форму комментариев.

  • Добавить комментарий
  • Читать дальше о Скрыть справку и описание текстового формата на форме (элемент text_format)

Twig: как объединить строки

Опубликовано в ср, 16/02/2022 - 15:06 |
Drupal,
Drupal 9.x,
Drupal 8.x

Это должно работать нормально:

{{ 'http://' ~ app.request.host }}

чтобы добавить фильтр типа "trans" - в том же теге используйте

{{ ('http://' ~ app.request.host) | trans }}

Также можете использовать интерполяцию строк, для этого требуются строки с двойными кавычками:

{{ "http://#{app.request.host}" }}
  • Добавить комментарий
  • Читать дальше о Twig: как объединить строки

Centos 7 Установка SOLR

Опубликовано в вт, 26/10/2021 - 17:18 |
Администрирование

Для начала, нужно определиться, какую версию Solr вы хотите установить. Например, при использовании Drupal и модуля search_api_solr на странице модуля можно найти таблицу соответствия версий.

Для примера я буду устанавливать версию 7.7.

Сам архив solr для установки можно скачать с официального сайта.

  • Добавить комментарий
  • Читать дальше о Centos 7 Установка SOLR

Добавить к сущности базовое поле - entityDefinitionUpdateManager

Опубликовано в ср, 13/10/2021 - 18:08 |
Drupal,
Drupal 9.x

Начиная с Drupal 8.7.0 автоматические обновления схем сущностей и полей больше недоступны. Теперь, когда хранилище для данных или сущности нужно создать, обновить или удалить, необходимо прописать это явно, используя Update API и Entity Definition Update Manager.

  • Добавить комментарий
  • Читать дальше о Добавить к сущности базовое поле - entityDefinitionUpdateManager

Field Group - перемещение стандартных вкладок

Опубликовано в чт, 24/06/2021 - 18:51 |
Drupal,
Drupal 7.x

Для Друпал есть прекрасный модуль Field Group, который позволяет группировать поля не только при выводе сущностей, но и на форме редактирования.

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

Покажу пример, как можно эти вкладки переместить из стандартных вертикальных в любую группу, созданную через Field Group.

  • Добавить комментарий
  • Читать дальше о Field Group - перемещение стандартных вкладок

Ускоряем форму редактирования материалов (Metatag, Token)

Опубликовано в чт, 24/06/2021 - 13:39 |
Drupal,
Drupal 7.x

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

Далее будут приведены несколько способов, как решить данную проблему.

  • Добавить комментарий
  • Читать дальше о Ускоряем форму редактирования материалов (Metatag, Token)

Linux - Вывод директорий и файлов отсортированных по размеру

Опубликовано в вт, 20/04/2021 - 20:23 |
Администрирование

Вывод директорий и файлов отсортированных по размеру и приведенный к удобному виду (KB/MB/GB).

du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done
  • Добавить комментарий
  • Читать дальше о Linux - Вывод директорий и файлов отсортированных по размеру

Как зайти под root в phpmyadmin?

Опубликовано в вт, 20/04/2021 - 20:14 |
Администрирование

По умолчанию вход пользователя root запрещен.
Самым простым и безопасным решением будет создание нового пользователя и предоставление необходимых привилегий.

sudo mysql -u root -p (спросит пароль)
create user 'NEW_USER'@localhost identified by 'NEW_PASSWORD';
grant all privileges on *.* to 'NEW_USER'@localhost;
grant grant option on *.* to 'NEW_USER'@localhost;
flush privileges;
quit;
  • Добавить комментарий
  • Читать дальше о Как зайти под root в phpmyadmin?

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: найти сущность-родителя

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

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

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

 

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

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: изменение размера окна после отправки формы
  • 1
  • 2
  • 3
  • 4
  • ›
  • »

Frantsuzzz

Категория
  • Drupal (108)
    • Drupal 9.x (5)
    • Drupal 8.x (5)
    • Drupal 7.x (44)
    • Drupal 6.x (3)
  • CSS (3)
  • Javascript (3)
  • HTML (1)
  • Windows (3)
  • Разное (2)
Последние статьи
  • CentOS: Docker iptables - закрываем внешние порты
  • Drupal 9 - отключить перезапись .htaccess при обновлении через composer
  • Скрыть справку и описание текстового формата на форме (элемент text_format)
  • Twig: как объединить строки
  • Centos 7 Установка SOLR
Навигация
  • RSS
  • Поиск по тегам
  • Утилиты
Быстрый Хостинг Fozzy