Поле содержимого как ссылка на изображение

Главные вкладки

Аватар пользователя i_byte i_byte 22 декабря 2019 в 18:27

Возможно ли в Drupal 7 создать в типе материала текстовое поле как ссылку на изображение? Встроенными средствами или с помощью стороннего модуля. Поиск меня привел только к модулю image_url_formatter, но это не совсем то, что мне надо, так как он хоть и позволяет вставить ссылку при создании нового материала, но закачивает изображение в /files.
А мне необходимо текстовое поле принимающее при создании/редактировании ссылку, а при просмотре отображающее картинку. Без закачки изображения на сервер.

Лучший ответ

Комментарии

Аватар пользователя bumble bumble 22 декабря 2019 в 19:06

Зачем поле, предназначенное для загрузки изображений, должно иметь возможность "не загружать" изображения?

Аватар пользователя bumble bumble 22 декабря 2019 в 22:07

.. необходимо текстовое поле принимающее при создании/редактировании ссылку, а при просмотре отображающее картинку ..

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

Аватар пользователя i_byte i_byte 23 декабря 2019 в 16:56

bumble wrote:

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

Да, именно, так я и написал выше.
Аватар пользователя bumble bumble 22 декабря 2019 в 22:08

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

Аватар пользователя i_byte i_byte 23 декабря 2019 в 17:07

gun_dose wrote:
Можно даже тупо в шаблоне сделать это.

Позволю задать себе глупый вопрос: а как это сделать тупо в шаблоне?

Аватар пользователя i_byte i_byte 23 декабря 2019 в 17:06

bumble wrote:
Да, можно и поля. Обычные, текстовые. Просто на выход нужен форматтер, заворачивающий значения в img.

А можно ссылоку на, что такое этот самый форматтер?

Аватар пользователя i_byte i_byte 23 декабря 2019 в 18:34

bumble wrote:
https://api.drupal.org/api/drupal/modules%21field%21field.api.php/functi...

Спасибо. Так это, получается, код писать надо. А у меня вопрос был: встроенными средствами либо существующим сторонним модулем. Получается, такая тривиальная задача, и только с помощью кода?

Аватар пользователя bumble bumble 23 декабря 2019 в 18:43

Вот всегда у меня чуть "поддымливается", когда кто-то пишет что-то вроде "такая тривиальная задача, и нет решения готового".

Ну, не такая она и тривиальная, раз нет решения, либо ненужная никому.

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

Ответ - да, задачи решаются только с помощью кода, даже в случае наличия стороннего модуля или встроенных средств.

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

Аватар пользователя i_byte i_byte 23 декабря 2019 в 19:45

bumble wrote:
Вот всегда у меня чуть "поддымливается", когда кто-то пишет что-то вроде "такая тривиальная задача, и нет решения готового".

Так это, такое может почти любой визуальный редактор, тот же самый CKEditor. Это обычное дело для создания HTML-контента. Ну, не может Drupal, значит не может. Я же просто спросил.
Ну, а модули, конечно, искал. И про написал в самом начале, но именно такого как необходимо - не нашел. Вот и решил спросить у знающих людей.

Аватар пользователя i_byte i_byte 23 декабря 2019 в 21:33

ivnish wrote:
В смысле друпал не может? Вам минимум 3 варианта решения вашей задачи предложили

Не может из коробки. Без программирования. Одними только встроенными средствами.

Аватар пользователя ivnish ivnish 23 декабря 2019 в 21:37
1

Ну дак у вас задача довольно специфичная. Dash 1

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

Внизу Pixelbroks предложил контрибные модули с помощью которых тоже можно решить вашу задачу

Аватар пользователя i_byte i_byte 23 декабря 2019 в 16:55

ivnish wrote:
Зачем тогда поле? Можно в CKEditor вставлять ссылки

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

Аватар пользователя VasyOK VasyOK 23 декабря 2019 в 0:52

Вьюха.
Контекстный фильтр NID. Знчение по умолчанию ID материала.

Поля:
1) Изображение (скрыто). Урл форматтер-ом путь к картинке сделайте.
2) Текстовое поле. В нем галочка "выводить в виде ссылки". И токен поля изображения туда. Можно "переписать резултаты" в настройках поля - тогда болеезамореченый код ссылки можно сгенерить. Можно поле "Пользователский текст" использовать.

Вьюху в блок. Либо через viewfield.

Аватар пользователя i_byte i_byte 23 декабря 2019 в 17:02

VasyOK wrote:
Вот только что прочитал. "Без закачки изображения на сервер" - не совсем понятно.

Что же тут непонятного? Изображения большие и толстые, а место на сервере дорогое. Надо отображать по ссылке на внешний источник, которую вставлять в обязательное текстовое поле при создании материала.

Аватар пользователя VasyOK VasyOK 23 декабря 2019 в 17:31

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

Аватар пользователя i_byte i_byte 23 декабря 2019 в 18:35

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

Это, получается, код писать надо? Вопрос у меня был изначально: встроенными средствами либо существующим модулем. Получается, нельзя?

Аватар пользователя VasyOK VasyOK 23 декабря 2019 в 18:52
1

Это получается нужно делать представление (view, вьюху) и в нем указывать поля и аргументы.
views - основной модуль Друпала.

Аватар пользователя i_byte i_byte 23 декабря 2019 в 17:00

Pixelbroks wrote:
Используйте токены для вывода изображений. Не натягивайте сову на глобус.

А можно ссылочку что это такое и с чем его едят?