Друпал умеет работать, не только с текстовыми страницами, но и с изображениями. Для этого вам нужно включить модуль Image. Модуль image позволяет прикреплять фотографии к нодам и выводить эти фотографии нужным нам размером. Причем в разных местах эти размеры могут отличаться. Так например в тизере ноды мы можем сделать маленькую фотографию, а в полной ноде уже большую.
В прошлых уроках мы создавали тип материала Сотрудник. Давайте откроем управление полями типа материала Сотрудник и добавим поле изображения.
Теперь в форме создания/редактирования сотрудника будет поле загрузки изображения:
Это изображение будет выводится на странице сотрудника, но в оригинальном размере и с лейблом поле Изображение. Чтобы настроить вывод, нужно перейти во вкладку вывод, в настройках типа материала Сотрудник.
Давайте переместим поле изображение наверх, уберем вывод названия поля и нажмем на шестеренку (настройки), чтобы выставить размер выводимого изображение. По умолчанию у нас уже есть размеры - пресеты: Large (480x480), Medium (220x220), Thumbnail (100x100). Давайте поставим для анонса Thumbnail, а для полной ноды Medium. Также в анонсе мы поставим, чтобы картинка была ссылкой на ноду сотрудника:
Теперь в списках анонсов сотрудники будут ссылкой на полную страницу сотрудника.
Также помимо уже готовых пресетов Large, Medium, Thumbnail можно создать и свои размеры для изображений. Давайте зайдем на страницу Настройка - Виды показа изображений
/admin/config/media/image-styles
Там вы увидите уже существующие пресеты и кнопку добавить новый:
Пусть он будет 150x150 пикселей и назовем его также, чтобы было проще ориентироваться. На странице редактирования пресета мы видим действия которые можно добавить:
Crop (обрезка) - просто обрезает фотографию без масштабирования.
Обесцвечивания - делает фотографию черно-белой.
Изменение размера - изменяет размер без сохранения пропорций.
Вращение - поворачивает фотографию на нужний угол.
Масштабирование - изменяет размер с сохранением пропорций.
Масштабирование и обрезка - изменяет размер с сохранением пропорций, а потом обрезает по большей стороне.
Можно выбирать несколько действий, например давайте сделаем Масштабирование 150x150, а потом сделаем фотографию черно-белой.
Масштабирование:
Должно получится вот так:
Теперь давайте вернемся на страницу управления отображения полей и поставим для анонса сотрудника вывод поля изображения через пресет 150x150.
Теперь анонс сотрудника будет выглядеть вот так:
Теперь вы знаете как загружать фотографии в друпале и как их выводить нужным вам образом. В следующих уроках мы разберем как сделать фотогалерею подобным способом.
Комментарии
Добавить комментарий
В настройках восьмерка мало
В настройках восьмерка мало чем отличается от семерки. Лучше про темизацию рассказали.
Еще не закончили работу над
Еще не закончили работу над 8кой, поэтому на ней рано делать сайты. Эти уроки я делаю потому что этот функционал уже точно не изменится.
Предлагаю перевести этот
Предлагаю перевести этот урок. В нем наглядно показано в чем отличие D8 от D7 при настройке полей.
Да в принципе ничего внешне
Да в принципе ничего внешне не поменялось, добавились вкладки и формы, а так принципы теже. Внутри друпал поменялся, но это уже скорее будет в разделе разработки модулей.
Здравствуйте!
Здравствуйте!
При загрузке изображения не происходит транслитерации названия картинки. Если у изображения название было на русском, то загружается так же с русскими буквами. Это ошибка в самом друпале или я что то не правильно настроил?
Я думаю нужен модуль
Я думаю нужен модуль transliteration, друпал из коробки не транслитерирует название файлов:
https://www.drupal.org/project/transliteration
Хотя вот здесь пишут, что эта функция уже в ядре друпала:
https://www.drupal.org/documentation/modules/transliteration
https://www.drupal.org/node/1842748
Наверно это пофиксят в ближайшее время.
Вот этот модуль можете попробовать, возможно он поможет:
https://www.drupal.org/project/filefield_paths
Друпал 8 из коробки
Друпал 8 из коробки транслитерирует все, кроме имен файлов.
https://www.drupal.org/project/filefield_paths - этот модуль тоже работает с ошибками.
Возможно исправят, но пока с именами изображений проблема.
Доброго времени суток. А как
Доброго времени суток. А как установить рамку вокруг изображения, что бы обтекающий его текст не прижимался к нему вплотную?
Для этого вам потребуется
Для этого вам потребуется добавить немного CSS:
А можно немного поточнее, где
А можно немного поточнее, где именно этот css. Как он называется? И еще один вопрос, это в дальнейшем будет каксаться всех материалов, или только какого то определенного? Извеняюсь что столько вопросов, 3 день только изучаю drupal, но сразу на реальном поекте.
Вам стоит посмотреть видео по
Вам стоит посмотреть видео по темизации, тогда вам станет все понятно:
http://drupalbook.ru/drupal/sozdaem-svoyu-drupal-temu-na-osnove-zen-theme
http://drupalbook.ru/drupal/temizaciya-drupal-urok-2-verstaem-glavnuyu-s...
Еще одна ошибка с
Еще одна ошибка с изображениями. При редактировании материала удаляю изображение которое было загружено ранее. Из материала удаляется, но в папке с файлами остается. И при удалении материала, изображение не удаляется из папки на сервере. Кто знает как это исправить?
Наверно никак, проще потом
Наверно никак, проще потом почистить файлы от мусора потом отдельно:
http://drupal.stackexchange.com/questions/47967/files-attached-to-nodes-are-never-deleted-from-server-even-after-theyre-removed
это какая-то ошибка или так
это какая-то ошибка или так было задумано?
В 7 все удаляется сразу, а в вот в 8 друпале не хочет.
Возможно они удаляются по
Возможно они удаляются по cron'у. Попробуйте запустить, думаю в 8ом друпале с этим должно быть тоже порядок.
пробую на чистом друпале.
пробую на чистом друпале. Загружаю картинку в материал, сохраняю. Затем открываю на редактирование, удаляю изображение, сохраняю материал. Картинка в папке с изображениями осталась.
Запускаю cron. Проверяю папку - картинка не удалилась.