Страница 1 из 1

Относительные пути к картинкам

СообщениеДобавлено: 01 окт 2011, 17:36
лфдучу
Проблема такая- при публикации постов в блог, в ленту на feedburner не уходят картинки. Сколько смог сам поразбирался-не уходят потому, что при публикации постов у картинок выставляются относительные пути типа <img src="/files/4613/1747/3316/2011-10-01-downhill8.jpg" alt="2011-10-01-downhill8.jpg" width="800" height="533">
Картинка вставлена модулем Текст (Add image)

Как сделать пути абсолютными? И чтобы они постоянно так делались?

Re: Относительные пути к картинкам

СообщениеДобавлено: 18 окт 2011, 17:45
лфдучу
Ап. Проблема осталась нерешенной

Re: Относительные пути к картинкам

СообщениеДобавлено: 18 окт 2011, 23:53
Демонтажник
Для одного какого-то сайта можно жестко привязать ссылку на сайт к относительному пути.
Например, можно сделать так:
взять файл КОРЕНЬСАЙТА/concrete/blocks/image/controller.php
скопировать его в КОРЕНЬСАЙТА/blocks/image/

Открыть файл и произвести следующие изменения
на 76 строке добавить какую нибудь переменную с ссылкой на сайт, например $abslink="http://www.concrete5russia.ru"

77 строчку :
Код: Выделить всё
$img = "<img border=\"0\" class=\"ccm-image-block\" alt=\"{$this->altText}\" src=\"{$relPath}\" {$sizeStr} ";

изменить на
Код: Выделить всё
$img = "<img border=\"0\" class=\"ccm-image-block\" alt=\"{$this->altText}\" src=\"$abspath{$relPath}\" {$sizeStr} ";


91 и 92 строки
Код: Выделить всё
            $img .= " onmouseover=\"this.src = '{$relPathHover}'\" ";
            $img .= " onmouseout=\"this.src = '{$relPath}'\" ";

изменить так:
Код: Выделить всё
            $img .= " onmouseover=\"this.src = '$abspath{$relPathHover}'\" ";
            $img .= " onmouseout=\"this.src = '$abspath{$relPath}'\" ";



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

Re: Относительные пути к картинкам

СообщениеДобавлено: 19 окт 2011, 03:30
xstarter
Демонтажник писал(а):Открыть файл и произвести следующие изменения
на 76 строке добавить какую нибудь переменную с ссылкой на сайт, например $abslink="http://www.concrete5russia.ru"

А в вырезках из кода у вас используется переменная $abspath

Можно, кстати, константу BASE_URL использовать, там как раз нужное значение:

Код: Выделить всё
$img = "<img border=\"0\" class=\"ccm-image-block\" alt=\"{$this->altText}\" src=\"".BASE_URL."{$relPath}\" {$sizeStr} ";

Re: Относительные пути к картинкам

СообщениеДобавлено: 20 окт 2011, 11:28
лфдучу
А как сделать чтобы не тольо на картинки? Оказывается на все остальные загружаемые файлы (нанпример pdf ) выставляются относитеьные пути

Re: Относительные пути к картинкам

СообщениеДобавлено: 20 окт 2011, 11:29
лфдучу
И кстати, картинки я добавляю просто в блок "Текст" (как и все остальное)

Re: Относительные пути к картинкам

СообщениеДобавлено: 20 окт 2011, 23:38
Демонтажник
Если через модуль ТЕКСТ это всё добавлять, то тут уже копаться надо в ядре скрипта tinymce - concrete5 тут уже ни при чем, такие ссылки не cms формирует, а плагин tinymce, который вроде бы advlink назвыается:) Если картинок и файлов вы добавляете не особо много, то можно ведь в tinymce редакторе нажать кнопочку HTML и там уже вручную добавить нужную ссылку, чтобы путь стал абсолютным.

Re: Относительные пути к картинкам

СообщениеДобавлено: 21 окт 2011, 11:10
лфдучу
Нашел этот плагин..
Как же посмотреть что именно отвечает в нем за вставку ссылок? МОжет какой плагин для браузера?

Re: Относительные пути к картинкам

СообщениеДобавлено: 22 окт 2011, 21:35
Count_Raven
Демонтажник писал(а):Если через модуль ТЕКСТ это всё добавлять, то тут уже копаться надо в ядре скрипта tinymce - concrete5 тут уже ни при чем, такие ссылки не cms формирует, а плагин tinymce, который вроде бы advlink назвыается:) Если картинок и файлов вы добавляете не особо много, то можно ведь в tinymce редакторе нажать кнопочку HTML и там уже вручную добавить нужную ссылку, чтобы путь стал абсолютным.


Не надо говорить некорректные вещи. Вы и правы и не правы одновременно.
В контроллере блока Content (Текст или как там на русском его называют) есть два метода обработки перед сохранением данных в базу. Он преобразует fID (File ID) в путь и при редактировании и при сохранении весь текст проходит через регулярные выражения, которые и вешают правильный путь к картинке.

Для топик-стартера: - Ничего не буду говорить. Вопрос надо исследовать. Предложенное решение лично меня никак не устраивает. А решение есть, просто нужно изучить вопрос более подробно и перегрузить парочку контроллеров.

Re: Относительные пути к картинкам

СообщениеДобавлено: 22 окт 2011, 21:53
Count_Raven
Еще потроллю =)
Вот так без обработки в TinyMCE в Concrete5 выглядит тег изображения:
<img src="{CCM:FID_10}" alt="georgesvh-CWI5yHWWmAA-hd.jpg" width="1742" height="1080" />

SRC заметили?

Re: Относительные пути к картинкам

СообщениеДобавлено: 22 окт 2011, 21:58
Count_Raven
Сразу расскажу почему так.

Нужно это все для версионирования. Можно изменить файл, заменить изображение другим и т.д., но это будет один файл, просто другой версии, так и со страницами тоже происходит. Т.е. ID у файла останется один при любых изменениях, просто сменится версия и файл автоматически на всем сайте заменится на новый, а если бы там был путь к конкретной картинке на сервере, то версионирование не получится.

Re: Относительные пути к картинкам

СообщениеДобавлено: 23 окт 2011, 12:22
лфдучу
Ну сейчас втсавляется такой путь (когда делаю "добавить картинку" в редакторе модуля Текст) <img src="/index.php/download_file/view_inline/543/
В ленте РСС, которую отдает "список страниц"( у меня стоит disqus_blog_index) он отображается так:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

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

Может это проблема фидбурнера? Или исходную ленту concrete5 надо настроить?

Re: Относительные пути к картинкам

СообщениеДобавлено: 24 окт 2011, 15:54
Count_Raven
Да понятно все. Завтра попробую сделать парсер, чтобы исправить сложившуюся для FeedBurner ситуацию.

Re: Относительные пути к картинкам

СообщениеДобавлено: 22 янв 2012, 01:28
лфдучу
То ли только у меня проблемы с feedburner? Даже поиском ничего не ищется.