Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • cristall75 cristall75 6 постов
  • 1506DyDyKa 1506DyDyKa 2 поста
  • Animalrescueed Animalrescueed 35 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
DELETED

Опросник в Drupal 8⁠⁠

3 года назад

Устанавливаем модуль Poll:

composer require drupal/poll ; drush en poll -y

Переходим на страницу «Содержимое» → «Опросы»:

/admin/content/poll

Жмем кнопку «Add a poll» и добавляем новый опрос.

Пишем вопрос и варианты ответа. Меняем автора при необходимости. Проставляем все галки.

- Active — опрос включен, в нем можно проголосовать;

- Poll Duration — время, в течении которого опрос будет активен;

- Allow anonymous votes — незарегистрированные пользователи будут иметь возможность голосовать;

- Allow cancel votes — можно отменить свой выбор и проголосовать заново;

- Allow view results — можно увидеть результаты опроса и не голосовать при этом самому.

Сохраняем.


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

/poll/1

Но опросы же нужны не как отдельные страницы, а как часть контента других.

Поэтому удобнее создать параграф, в котором будет поле поле «Опрос».

Находите подраздел «Ссылка» и клацайте на «Другое…»

В подразделе «Материал» будет «Опрос»

В управлении отображением меняем формат вывода на «Готовая к выводу сущность»:

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


Получаем результат:

Я прикрепил опрос к полю параграфу типа материала «Новость».

Показать полностью 5
[моё] Разработка Программирование IT Программист Обучение Урок Опрос Drupal Backend Web Web-программирование Учеба Вебмастер Длиннопост
1
DELETED

Отложенная публикация в Drupal 8⁠⁠

3 года назад

Устанавливаем модуль Scheduler:

composer require drupal/scheduler ; drush en scheduler -y

В настройках типа материала ставим галку «Разрешить планировать публикацию для этого типа материалов».

При добавлении/редактировании материала, в сайдбаре появится поле времени отложенной публикации:

Опубликуем материал в следующем веке

Указываем время будущей публикации, сохраняем. Материал будет иметь статус «Неопубликованный» и сменит его на «Опубликованный» в указанную дату.


Новость будет опубликована в запланированное время только после запуска крона.

Запускать стандартный cron каждую минуту не потребуется. Модуль Scheduler предоставляет облегченную версию.


В настройках модуля Scheduler переходим во вкладку Lightweight cron:

/admin/config/content/scheduler/cron

Копируем первую или вторую строку:

wget -q -O /dev/null "https://tester.ru/scheduler/cron/eeweequeo7ko2auyeengo"

Добавляем эту команду в планировщик на вашем сервере:

Планировщик в ISP Manager

Запланированные задания в CPanel

Сохраняем, проверяем, используем!

Показать полностью 5
[моё] Разработка Программирование IT Программист Обучение Публикация Backend Web Web-программирование Урок Isp Учеба Drupal Длиннопост
2
DELETED

Настройка адаптивных стилей изображений в Drupal 8⁠⁠

3 года назад

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


Представим, что есть баннер, который занимает всю ширину экрана. Я задаю картинке стиль изображения, где она будет отмасштабирована по ширине до 1920 пикселей. И если для компьютеров и ноутбуков — это подходящий размер, то для мобильных устройств это слишком много.


В HTML есть тег picture, который подставляет нужное изображение в зависимости от ширины экрана.

В Drupal он реализован через модуль ядра — responsive image.


Включаем модуль Responsive image:

drush en responsive_image -y

В папке с вашей темой должен находиться файл с брейкпоинтами.

/themes/custom/themename/themename.breakpoints.yml

Я использую ширины: 480, 768, 980, 1180.

Следовательно, содержимое файла выглядит вот так:


themename.sp:
  label: smalltouch portrait
  mediaQuery: 'all and (min-width: 1px) and (max-width: 479px)'
  weight: 4
  multipliers:
    - 1x
themename.sl:
  label: smalltouch landscape
  mediaQuery: 'all and (min-width: 480px) and (max-width: 767px)'
  weight: 3
  multipliers:
    - 1x
themename.tp:
  label: tablet portrait
  mediaQuery: 'all and (min-width: 768px) and (max-width: 979px)'
  weight: 2
  multipliers:
    - 1x
themename.tl:
  label: tablet landscape
  mediaQuery: 'all and (min-width: 980px) and (max-width: 1179px)'
  weight: 1
  multipliers:
    - 1x
themename.desktop:
  label: desktop
  mediaQuery: 'all and (min-width: 1180px)'
  weight: 0
  multipliers:
    - 2x


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


Например: Для tablet portrait ширина в стиле изображения должна быть 979px, т.к. max-width для tablet portrait = 979px.

Буквой W я отмечаю, что стиль изображения отмасштабирован только по ширине / Width

Заходим на страницу «Адаптивные стили изображения» и добавляем новый:

/admin/config/media/responsive-image-style

В «Группа точек останова» — выбирайте свою тему.

Для каждого брейкпоинта задаем заранее созданный стиль изображения.

А в «Резервный стиль изображения» задаем для десктопа. Именно поэтому, для брейкпоинта desktop стиль изображения можно не задавать.


Desktop Retina — стиль изображения для мониторов с двойным пикселем, который часто встречается у компьютеров компании Apple.


Как только для каждой ширины все будет задано — жмем кнопку сохранить и адаптивный стиль изображения будет создан.


Переходим в управление отображением сущности, которая выводит изображение:

Для того чтобы эта настройка появилась — нажмите на иконку шестеренки

В настройках выбираем созданный нами адаптивный стиль изображения → Сохраняем.

Если изображения не обновились — воспользуйтесь командой:

drush image-flush --all ; drush cr
Показать полностью 4
[моё] Разработка Программирование IT Программист Обучение Drupal Backend Flush Урок Web Web-программирование Cms Учеба Образование Длиннопост
1
0
DELETED

Создаем простой слайдер в Drupal 8⁠⁠

3 года назад

Устанавливаем и включаем модуль slick views:

composer require drupal/slick_views ; drush en slick_views -y ; drush en slick_ui -y

Композер сам найдет и установит дополнительные модули: slick, slick ui.


Заходим на страницу Отчет о состоянии:

/admin/reports/status

Slick требует установки библиотек.

В терминале заходим в папку libraries, что в корне сайта.

cd ~/user/site/libraries

Если ее нет, то создаем.

mkdir ~/user/site/libraries

Переходим на страницу каждой библиотеки, нажимаем кнопку Clone or download и копируем путь:

Находясь в папке libraries, клонируем библиотеки:

git clone https://github.com/dinbror/blazy.git ;
git clone https://github.com/kenwheeler/slick.git

Заходим на страницу настроек модуля Slick и делаем дубликат шаблона.

/admin/config/media/slick

Меняем название и машинное имя и сразу же сохраняем. Для простого слайдера стандартных настроек достаточно.


Создаем новое представление и меняем формат с Неформатированный список в Slick Carousel.

Нажимаем галку Vanilla Slick, меняем Optionset main на созданный ранее Slider и сохраняем.

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

Я вывожу статьи, две штуки в режиме отображения анонс.

Сохраняем представление.


Результат в теме Bartik

Вот и все. Если вам нужна карусель из нескольких столбцов или даже рядов, то вы можете самостоятельно в настройках Optionset поменять их количество.

Показать полностью 6
[моё] Разработка Программирование IT Программист Drupal Backend Web Web-программирование Carousel Софт Разработчики Frontend Слайдер Гифка Длиннопост
1
DELETED

Недавно просмотренные материалы / Drupal 8⁠⁠

3 года назад

Создадим обвязку новостей в которую будут попадать недавно просмотренные материалы пользователя.


Установим модуль Recently Read:

composer require drupal/recently_read ; drush en recently_read -y

Переходим в настройки модуля:

/admin/config/system/recently-read

Ставим галки на «Включить» и необходимые типы материалов:

Мне нужна только «Новость»

Во вкладке «Конфигурация» модуля меняем настройки:

Как именно будет удалена информация о недавно просмотренных материалов у пользователя?

- Time based — спустя указанное время;

- Count based — при просмотре нового материала — старый в конце сотрется;

- Никогда — не будет удалятся.

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

Content recently read

В «Наборы» укажем необходимый тип материала:

Далее, в критериях сортировки добавляем «Created» с категорией «Recently read» с порядком «По убыванию».

Добавим в контекстные фильтры ID без связи «Recently read» со следующими настройками:

- Когда значение фильтра не доступно → Передать значение по умолчанию → ID материала из URL;

- More → Исключить → Ставим галку.


Это нужно для того, чтобы в обвязке не выводился материал, на странице которого находится пользователь.

Мои настройки блока представления выглядят вот так:

Выведем блок с обвязкой.

Переходим в схему блоков:

/admin/structure/block

Размещаем новосозданный блок представления в любом удобном для вас регионе:

Если нужно — меняем настройки, указываем область видимости:

Мой блок будет выводиться на страницах «Новость»

Теперь посетим несколько новостей и взглянем на обвязку:

На скриншоте мало что понятно, но все работает — честное слово :)

Показать полностью 10
[моё] Разработка Программирование IT Программист Drupal Backend Web Web-программирование Разработчики Веб-разработка Просмотр Просмотренное Материал Статья Модуль Views Урок Длиннопост
2
DELETED

Несколько Views в одном блоке / Drupal 8⁠⁠

3 года назад

Устанавливаем модуль Snippet manager:

composer require drupal/snippet_manager

Включаем модуль Snippet manager:

drush en snippet_manager -y

Переходим в Структура → Сниппеты и добавляем новый:

/admin/structure/snippet/add

Переходим в вкладу Шаблоны и Добавляем переменную.

Из списка выбираем нужное представление.

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

Аналогичным образом добавляем туда еще представления, и не только.

Переходим на страницу Схема блоков:

/admin/structure/block

И размещаем наш блок сниппета.

Смотрим результат.

Это самый простой и удобный способ выводить в одном месте не только представления, но и блоки, меню, формы и так далее.


Страница модуля: https://www.drupal.org/project/snippet_manager

Автор: https://www.drupal.org/u/chi

Почему не стоит создавать новый регион и размещать туда 2 блока с Views?


Такое будет очень неудобно поддерживать. Если потребуется переместить представления чуть выше или ниже того места, где они находятся, то придется двигать не блок в схеме блоков, а регион в настройках темы.


Да и выделять отдельный регион для одного блока кажется не самым лучшим решением.

Почему не стоит создавать отдельный тип блока и выводить представления через модуль Views Reference?


Блок, размещенный таким способом будет являться контент блоком, а это значит, что если создать его у себя на локалке/техническом сервере, его не получится перенести без БД, т.к. такой блок не попадет в конфиги.

Почему не стоит создавать отдельный тип блока и выводить представления через модуль Twig Tweak?


Аналогично пункту выше — такой блок не перенести без БД.

Исключение: если делать блок через Block Plugin.

Также твиг можно использовать в блоках Snippet Manager, которые в конфиги попадают.

Показать полностью 6
[моё] Разработка Программирование IT Drupal Backend Программист Web Web-программирование Менеджер View Views Reference Блокировка Длиннопост
1
0
DELETED

Экспорт контента в Drupal 8⁠⁠

3 года назад

Экспортировать контент будем через представление в CSV файл.


Устанавливаем модуль Views data export:

composer require drupal/views_data_export ; drush en views_data_export -y

Создаем представление для экспорта:

/admin/structure/views/add

Пишем название, машинное имя и выбираем что экспортировать:

Содержимое или Термины таксономии.


Пропускаем создание страницы/блока и жмем кнопку Сохранить и редактировать.


Нажимаем кнопку добавить и выбираем «Экспорт данных»

Теперь необходимо:

- В настройках формата указать расширение файла — советую использовать CSV;

- Добавить поля — одно поле соответствует одному столбцу. Где метка поля — заголовок столбца;

- Настроить критерии фильтрации/сортировки — тип материала, словарь таксономии и так далее;

- Указать путь — URL по которому будет скачиваться файл;

- Доступ — поменять «Право доступа» на «Роль → Администратор» чтобы только вы могли выгружать данные;

- Поменять количество элементов для отображения на «Отображать все элементы»;

- Поменять машинное имя блока представления.


Для экспорта поля с изображением используйте средство форматирования «URL к изображению». После, скачайте изображения вручную через FTP.

Мой пример: Экспорт статей блога.

Вот и все. Остается только перейти по указанному вами пути и скачать файл.

В моем примере я в адресной строке введу следующее:

mysite.com/export_articles
Показать полностью 2
[моё] Разработка Программирование IT Программист Drupal Backend Экспорт Контент Софт Views Web Web-программирование Data
2
DELETED

Ручная обрезка картинок в Drupal 8⁠⁠

3 года назад

Зачем?

- Вам необходимо загрузить фотографию на сайт;

- Эта фотография должна быть квадратной, либо иметь другие четко заданные соотношения сторон;

- Стиль изображения обрезает фотографии в неподходящих местах.

Масштабирование и обрезка (300x300)

Установка Image Widget Crop

Ставим модуль через композер:

composer require drupal/image_widget_crop

Включаем через drush:

drush en image_widget_crop -y

Настройка Crop

Заходим на страницу списка типов обрезки:

/admin/config/media/crop

И добавляем новый тип:

Страница добавления нового crop type

- Aspect Ratio — в каких пропорциях пользователь будет обрезать изображение.

- Мягкий предел — если пользователь обрежет изображение меньше указанной ширины/высоты — сайт выдаст предупреждение.

- Жесткий предел — не позволяет пользователю обрезать изображение меньше указанной ширины/высоты.


Настройка стиля изображения

Добавляем в стиль изображения наш Crop type:

Manual crop должен быть первым. И только потом масштабирование и обрезка.

Настройка управления отображения формы

Заходим в настройки управления отображения формы сущности, которая выводит изображение. У меня это тип материала «Статья».

Для того чтобы появились эти настройки — поменяйте виджет с «Изображение» на «ImageWidget crop»

И в настройках поля выбираем Crop Type.

Не забудьте указать этот стиль изображения в управлении отображением.


Тестирование

Заходим в редактирование ноды/блока/термина таксономии:

Дальше все просто.

И указываем область обрезки изображения самостоятельно.


Результат

Если изображение плохого качества — проверьте «Жесткий лимит» в настройках Crop Type.

Показать полностью 6
[моё] Разработка Программирование IT Программист Images Drupal Обучение Crop Обрезка Урок Backend Web Web-программирование Учеба Образование Софт Free Software Длиннопост
1
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии