Пишу просто впрок, из добрых побуждений.Вопрос стоял следующим образом.
Дано: Joomla1.5, VirtueMart 1.1.4
Задача: При переносе сайта на хостинг, в категориях не выводилось изображение товара. На локале (денвер 2008) все выводиться. И что еще интереснее, в подробностях товара (flypage) эта же картинка отображается. Что делать?!
Не вдаваясь в подробности поиска...Проблема заключалась в том, что по какой-то, мне до сих пор непонятной, причине в параметре src, тега img, формировался адрес типа:
http://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;
}
}
}
На выходе имеем стандартный адрес вида:
Все! Спасибо за внимание!