Коллеги, добрый день. Предлагаю в следующих версиях продукта дополнять проверку на существование картинки (анонсной или детальной, любой в принципе) в шаблонах, где присутствует вывод картинок (список товаров, список новостей, корзина, детальная новость - не важно), функцией
file_existsСейчас примерный алгоритм вывода изображения следующий (считайте псевдокодом):
if(!empty($arItem["PREVIEW_PICTURE"]["SRC"] ))
выводим img c src = $arItem["PREVIEW_PICTURE"]["SRC"];
else
выводим img c src = "путь_к_no_photo.png";
|
ну или другие варианты. К слову, где-то вообще наличие пути из базы не проверяется и тег img сразу выводится.
Считаю эту проверку в стандартных версиях продукта неполной.
Предлагаю дальше делать так:
if(!empty($arItem["PREVIEW_PICTURE"]["SRC"] && file_exists($_SERVER['DOCUMENT_ROOT'].$arItem["PREVIEW_PICTURE"]["SRC"] ))
выводим img c src = $arItem["PREVIEW_PICTURE"]["SRC"];
else
выводим img c src = "путь_к_no_photo.png"; |
Проблема в том, что часто наличие картинки в таблице файлов вовсе не означает, что она существует в файловой системе сайта (переносили сайт, потерли папку, удалили изображения). Я думаю это полезная проверка. Заказчики часто обращают на это внимание, и приходится дополнять этой проверкой стандартные шаблоны.
1. Насколько я знаю, nginx не везде стоит как веб-сервер.
2. Врятли в nginx можно указать путь к обрезанной по нужным размерам картинке. Нельзя же использовать одну и ту же картинку для всех случаев.
3. Раз в коде эта проверка стоит, значит там ее тоже нужно дополнить
Так а зачем такую проверку делать в стандартных компонентах, они тоже не будут знать, где у Вас какие картинки.