CMS Joomla. Пользователям Virtuemart 1.1.4!

FrodoMochoni
12 лет
0

Пишу просто впрок, из добрых побуждений.
Вопрос стоял следующим образом.
Дано: Joomla1.5, VirtueMart 1.1.4
Задача: При переносе сайта на хостинг, в категориях не выводилось изображение товара. На локале (денвер 2008) все выводиться. И что еще интереснее, в подробностях товара (flypage) эта же картинка отображается. Что делать?!
Не вдаваясь в подробности поиска...
Проблема заключалась в том, что по какой-то, мне до сих пор непонятной, причине в параметре src, тега img, формировался адрес типа:
xxx.dp.ua/components/com_virtuemart/show_image_in_imgtag.php?filename=resized%2F_________________4b434177703d9_165x165.png&newxsize=165&newysize=165&fileout=
который "воспринимался" Денвером, но не сервером хостера. В следствии чего, выводилась просто ссылка изображения и его alt

Эта же картинка выводиться во flypage, для товара, просто переменной $product_image, в то время как в browse это
ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' ) для меня непонятный ход разработчиков, объясните, кто знает!

Решение:
За формирование адреса параметра src, тега img (только для категорий browse_xx.php, но не для товара fly_page.php) отвечает файл administrator\components\com_virtuemart\html\shop.browse.php. Где-то в 340 строке есть такое:
if( $product_thumb_image ) {
if( substr( $product_thumb_image, 0, 4)!= "http" ) {
if(PSHOP_IMG_RESIZE_ENABLE == '1') {
$product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/show_image_in_imgtag.php?filename=".urlencode($product_thumb_image)."&newxsize=".PSHOP_IMG_WIDTH."&newysize=".PSHOP_IMG_HEIGHT."&fileout=";
}
elseif( !file_exists( IMAGEPATH."product/".$product_thumb_image )) {
$product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE;
}
}
}
Нас интересует эта строка. Ее меняем на:
if( $product_thumb_image ) {
if( substr( $product_thumb_image, 0, 4)!= "http" ) {
if(PSHOP_IMG_RESIZE_ENABLE == '1') {
$product_thumb_image = $mosConfig_live_site."/components/com_virtuemart/shop_image/product/".$product_thumb_image;
}
elseif( !file_exists( IMAGEPATH."product/".$product_thumb_image )) {
$product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE;
}
}
}

На выходе имеем стандартный адрес вида:
xxx.dp.ua/components/com_virtuemart/shop_image/product/resized/_________________4b434177703d9_165x165.png

Все! Спасибо за внимание!

Тема закрыта.