Д

ДобрыйПарень

0
Репутация
0
Рейтинг
#1 Сменить вывод картинки по ссылке убрать /upload/ 26 января 2025 в 11:19
 ДобрыйПарень, Спасибо, Бот. А то все заждались уже. Три года проэкт стоял.
pupsik

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

#2 Сменить вывод картинки по ссылке убрать /upload/ 25 января 2025 в 23:16

РЕШЕНО!

Открываем файл /system/libs/html.helper.php и меняем функцию html_image_src на функцию ниже

  1. /**
  2.  * Возвращает путь к файлу изображения
  3.  * @param array|yaml $image Все размеры заданного изображения
  4.  * @param string $size_preset Название пресета
  5.  * @param bool $is_add_host Возвращать путь относительно директории хранения или полный путь
  6.  * @param bool $is_relative Возвращать относительный путь или всегда с полным url
  7.  * @return boolean|string
  8.  */
  9. function html_image_src($image, $size_preset = 'small', $is_add_host = false, $is_relative = true) {
  10.  
  11. $config = cmsConfig::getInstance();
  12.  
  13. if (!is_array($image)) {
  14. $image = cmsModel::yamlToArray($image);
  15. }
  16.  
  17. if (!$image) {
  18. return false;
  19. }
  20.  
  21. $keys = array_keys($image);
  22. if ($keys[0] === 0) {
  23. $image = $image[0];
  24. }
  25.  
  26. if (isset($image[$size_preset])) {
  27. $src = $image[$size_preset];
  28. } else {
  29. return false;
  30. }
  31.  
  32. // Проверка на наличие внешней ссылки и удаление префикса /upload/
  33. $is_external = preg_match('/^(https?:\/\/|www\.)/', $src);
  34. if ($is_external) {
  35. // Если ссылка внешняя, удаляем /upload/
  36. $src = preg_replace('/^\/upload\//', '', $src);
  37. return html($src, false);
  38. }
  39.  
  40. // Если необходимо добавить хост
  41. if ($is_add_host && strpos($src, $config->upload_host) === false) {
  42. if ($is_relative) {
  43. $src = $config->upload_host . '/' . $src;
  44. } else {
  45. $src = $config->upload_host_abs . '/' . $src;
  46. }
  47. }
  48.  
  49. return html($src, false);
  50. }
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.