Для тих, хто не спить!
Знижка -15%
Ми використовуємо cookie-файли
Для оптимізації роботи нашого сайту ми використовуємо cookie-файли. Продовжуючи використовувати сайт, Ви погоджуєтеся з використанням cookie-файлів.
Новий дизайн
Панель керування
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307 Гаряча лінія
  • +38 (044) 392-74-33 Київ
  • +38 (057) 728-39-00 Харків
  • +38 (056) 794-38-31 Дніпро
  • +38 (032) 229-58-93 Львів
  • +38 (048) 738-57-70 Одеса
  • +38(093) 170-15-42  Life
  • +38 (067) 400-88-44 Київстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7 (499) 348-28-61 Москва

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

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

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