Как получить адрес фото из стандартного поля "photo"?

#1 29 июля 2021 в 19:47

Может кто сталкивался, как получить адрес фото, из стандартного поля «photo»? Для дальнейшей вставки этого адреса как ссылки на фото через «echo», скажем через виджет php. 

#2 29 июля 2021 в 21:41

как получить адрес фото, из стандартного поля «photo»?

Vladimir

Стандартного поля photo нет. Есть стандартное поле \system\fields\image.php

И в этом файле есть функция getFiles, которая из текста YAML далает массив со ссылками на файлы.

#3 29 июля 2021 в 21:49

Как раз Вам хотел писать 😀. Вы примерно 10 лет назад что-то про данное поле писали здесь. В сообщении #35

Да как раз сейчас смотрю на файл image.php, вижу функцию getFiles, вижу переменную $image_url, а вот как это вывести в виджете php, да или даже в шаблон default_item.tpl.php не знаю.

#4 29 июля 2021 в 23:10

 Vladimir

Не очень понятно, в каком контексте Вы эту картинку собираетесь выводить.

Если просто нужна картинка с сервера в виджете — зачем городить огород с php?

Просто выведите картинку виджетом HTML.

#5 29 июля 2021 в 23:13

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

#6 29 июля 2021 в 23:24

 Vladimir

Ну, виджет HTML

<img src=«путь_к_вашей_картинке.jpg»>

<a href=«путь_к_вашей_картинке.jpg» download>Скачать картинку</a>

#7 29 июля 2021 в 23:34

 Vladimir

Ну, виджет HTML

<img src=«путь_к_вашей_картинке.jpg»>

<a href=«путь_к_вашей_картинке.jpg» download>Скачать картинку</a>

Ris

Спасибо Кэп😆

путь_к_вашей_картинке.jpg путь как динамически получать если картинка добавлена контентом через поле image.php?

#9 30 июля 2021 в 10:31

github.com/instantsoft/icms2/blob/master/system/libs/html.helper.php#L259

Loadырь

А как это применить? 

Добавлено спустя 2 часа

Ну или подскажите пожалуйста, где искать? Только учусь.

Вот как я понимаю, что-бы внутри класса обратиться к функции, можно сделать так $peremennay = $this->nazvaniefunkcii('key');

А как обратиться к функции другого класса, другого компонента?

#10 30 июля 2021 в 10:38

А как это применить? 

Vladimir

Легко )).

  1. <a href="<?php echo html_image_src($item['photo'], 'big', true); ?>" download>Скачать картинку</a>

Скармливаете этой функции содержимое вашего поля photo ($item['photo'] или что у вас там доступно со всеми пресетами) и указываете какой пресет (big) из него выдать. Пресет должен существовать в поле photo.

Что-то кавычки в хтмл-сущности переводит

#11 30 июля 2021 в 10:47

А как это применить? 

Vladimir

Легко )).

  1. <a href="<?php echo html_image_src($item['photo'], 'big', true); ?>" download>Скачать картинку</a>

Скармливаете этой функции содержимое вашего поля photo ($item['photo'] или что у вас там доступно со всеми пресетами) и указываете какой пресет (big) из него выдать. Пресет должен существовать в поле photo.

Что-то кавычки в хтмл-сущности переводит

Loadырь

Урааа!!! Спасибо!!)

#12 30 июля 2021 в 10:55

А как обратиться к функции другого класса, другого компонента?

Vladimir

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

  1. $drugoy_class = new drugoyClass($param1);
  2. $param1 - если есть в классе.
  3. $drugoy_class->nekaya_functiya_drugogo_classa($param2);
  4. $param2 - если есть в функции.
#13 30 июля 2021 в 11:10

А как обратиться к функции другого класса, другого компонента?

Vladimir

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

  1. $drugoy_class = new drugoyClass($param1);
  2. $param1 - если есть в классе.
  3. $drugoy_class->nekaya_functiya_drugogo_classa($param2);
  4. $param2 - если есть в функции.
Loadырь

Спасибо!!! Надо будет попробовать.

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