LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 17:56:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 3 [Все]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Несколько изображений одного товара в одном окне  (Прочитано 20151 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« : 02.11.2007, 11:31:40 »

Несколько раз поднимался вопрос - как сделать несколько изображений в описании товара, причем не убогим способом, как реализовано стандартно, но иначе. Возникла необходимость, потому выложу свою модификацию.
Основная часть хака взята с форума virtuemart.ru (к сожалению что то не работает, потому не могу привести автора)
Файл shop.product_details.php, находим строку с /** AVAILABILITY **/ и перед ней добавляем следующий код:
Код:
/* MORE IMAGES (Дополнительные изображения) */
$gavMore_Images = "";
$gavMore_Imagess = "";
 if( !empty($images->images) )
   {
    $gavMore_Images = "<hr /><div style=\"font-weight:bold;float:left;\">Дополнительные изображения&nbsp;</div> (нажмите, чтобы увеличить):<br />";
    $database->setQuery( "SELECT * FROM #__vm_product_files WHERE file_product_id='$product_id' AND file_is_image='1'" );
    $images = $database->loadObjectList();
    $i = 1;
    foreach( $images as $image )
     {
       $info = pathinfo( $image->file_name );
       $src = dirname($image->file_url) ."/resized/". basename($image->file_name, ".".$info["extension"])."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.".".$info["extension"];
       $alt = $image->file_title;
       $height = empty($image->file_image_thumb_height) ? PSHOP_IMG_HEIGHT : $image->file_image_thumb_height;
       $width = empty($image->file_image_thumb_width) ? PSHOP_IMG_WIDTH : $image->file_image_thumb_width;
       $src_full = str_replace( $mosConfig_absolute_path, $mosConfig_live_site, $image->file_name );
       if( strstr( $src, $mosConfig_live_site.$image->file_name))
       $src_full = str_replace( $mosConfig_live_site.$image->file_name, $mosConfig_live_site."/".$image->file_name, $src_full );
       $alt_full = $image->file_title;
       $height_full = $image->file_image_height+29;
       $width_full = $image->file_image_width+34;
      $border = 1;
      $titlewsp = str_replace(".", "", basename($image->file_name));
      $title = $image->file_title;
      $gavMore_Images .= "<a href=\"javascript:doPic('$src');\" style=\"cursor:hand;cursor:pointer;\"><img src=\"$src\" width=\"$width\" border=0/></a>";     
      ++$i;
     }//end foreach
   }
  /* END MORE IMAGES (Дополнительные изображения) */
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
   }
}
//  End -->
</script>
<?php
$gavMore_Imagess .= "<img name=\"mainpic\" src=\"$imageurl\" width=\"$width_full\"  border=\"0\">";

Далее здесь же находим блок /** NOW LET'S BEGIN AND FILL THE TEMPLATE **/ и добавляем две строки:
Код:
$template = str_replace( "{gavMore_Images}", $gavMore_Images, $template );
$template = str_replace( "{gavMore_Imagess}", $gavMore_Imagess, $template );
Теперь можем открыть файл flypage.php и оформить вывод наших двух заглушек, у себя сделал так:
Код:
<table border="0">
<tr>
<td>{gavMore_Imagess}</td>
</tr>
<tr>
<td>{gavMore_Images}</td>
</tr>
</table>

немного комментариев:
$gavMore_Images - выведет нам из полученного массива картинки дополнительных изображений (которые управляются через добавление файлов)
$gavMore_Imagess - непосредственно изображение товара


* Untitled-2.jpg (15.68 Кб, 400x647 - просмотрено 1497 раз.)
Записан
 
bulya123
Гость
« Ответ #1 : 14.11.2007, 16:34:12 »

 HuhА Вы не в курсе я вывести только 3 дополнительное изображение или только второе, т.е. конкретная задача в том чтобы в {$gavMore_Images2} вывести дополнительные изображения с первого по второе, а {$gavMore_Images3} вывести только 3.
Заранее спасибо. Grin
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #2 : 14.11.2007, 20:11:04 »

сразу не скажу, но если поковыряться то можно и так вывести
Записан
bulya123
Гость
« Ответ #3 : 15.11.2007, 10:48:55 »

Дайте плз хотябы идею, а то ничего не получается.
Записан
Skeeter
Гость
« Ответ #4 : 10.04.2008, 19:56:06 »

Подскажите, а как данную вещь изменить для Joomla 13 и ВМРЕ 13?
Очень нужно... не работает
Записан
ninJo
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 7



« Ответ #5 : 14.04.2008, 19:40:33 »

СУПЕР, то что надо

a это для какой джумлы?
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #6 : 14.04.2008, 19:45:33 »

a это для какой джумлы?
к движку хак отношения не имеет, версию компонента не помню, BMPE последняя на тот момент
Записан
-L-
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 38



« Ответ #7 : 02.06.2008, 21:53:09 »

а можешь выложить только ту часть кода которая отвечает за вывод маленькой картинки без ссылки на большую, а то я в php не силен
Записан
SolopoV
Давно я тут
****

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 319


зеленею...


« Ответ #8 : 07.08.2008, 20:41:55 »

Несколько раз поднимался вопрос - как сделать несколько изображений в описании товара, причем не убогим способом, как реализовано стандартно, но иначе. Возникла необходимость, потому выложу свою модификацию.
Основная часть хака взята с форума virtuemart.ru (к сожалению что то не работает, потому не могу привести автора)
Файл shop.product_details.php, находим строку с /** AVAILABILITY **/ и перед ней добавляем следующий код:
Код:
/* MORE IMAGES (Дополнительные изображения) */
$gavMore_Images = "";
$gavMore_Imagess = "";
 if( !empty($images->images) )
   {
    $gavMore_Images = "<hr /><div style=\"font-weight:bold;float:left;\">Дополнительные изображения&nbsp;</div> (нажмите, чтобы увеличить):<br />";
    $database->setQuery( "SELECT * FROM #__vm_product_files WHERE file_product_id='$product_id' AND file_is_image='1'" );
    $images = $database->loadObjectList();
    $i = 1;
    foreach( $images as $image )
     {
       $info = pathinfo( $image->file_name );
       $src = dirname($image->file_url) ."/resized/". basename($image->file_name, ".".$info["extension"])."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.".".$info["extension"];
       $alt = $image->file_title;
       $height = empty($image->file_image_thumb_height) ? PSHOP_IMG_HEIGHT : $image->file_image_thumb_height;
       $width = empty($image->file_image_thumb_width) ? PSHOP_IMG_WIDTH : $image->file_image_thumb_width;
       $src_full = str_replace( $mosConfig_absolute_path, $mosConfig_live_site, $image->file_name );
       if( strstr( $src, $mosConfig_live_site.$image->file_name))
       $src_full = str_replace( $mosConfig_live_site.$image->file_name, $mosConfig_live_site."/".$image->file_name, $src_full );
       $alt_full = $image->file_title;
       $height_full = $image->file_image_height+29;
       $width_full = $image->file_image_width+34;
      $border = 1;
      $titlewsp = str_replace(".", "", basename($image->file_name));
      $title = $image->file_title;
      $gavMore_Images .= "<a href=\"javascript:doPic('$src');\" style=\"cursor:hand;cursor:pointer;\"><img src=\"$src\" width=\"$width\" border=0/></a>";     
      ++$i;
     }//end foreach
   }
  /* END MORE IMAGES (Дополнительные изображения) */
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
   }
}
//  End -->
</script>
<?php
$gavMore_Imagess .= "<img name=\"mainpic\" src=\"$imageurl\" width=\"$width_full\"  border=\"0\">";

Далее здесь же находим блок /** NOW LET'S BEGIN AND FILL THE TEMPLATE **/ и добавляем две строки:
Код:
$template = str_replace( "{gavMore_Images}", $gavMore_Images, $template );
$template = str_replace( "{gavMore_Imagess}", $gavMore_Imagess, $template );
Теперь можем открыть файл flypage.php и оформить вывод наших двух заглушек, у себя сделал так:
Код:
<table border="0">
<tr>
<td>{gavMore_Imagess}</td>
</tr>
<tr>
<td>{gavMore_Images}</td>
</tr>
</table>

немного комментариев:
$gavMore_Images - выведет нам из полученного массива картинки дополнительных изображений (которые управляются через добавление файлов)
$gavMore_Imagess - непосредственно изображение товара

Существует ли решение данного вопроса для VM версии 1.1.0 ??
Записан
laked
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #9 : 15.08.2008, 19:23:26 »

Спасибо огромное за мудрый скрипт, но у меня версия магазина : ВМРЕ 1.0.15b Стабильный  [Голодный воробей] (если это имеет вообще значение) и благодаря твоему скрипту получается следующее, всё работает, но при нажатии на дополнительное изображение, оно открывается в большом формате, тупо растянув маленькое изображение, и всё дико пикселит. Подскажи плиз в чем заминка, почему не подгружается большая картинка, а растягивается маленькая?
Записан
laked
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #10 : 15.08.2008, 20:09:39 »

разобралась сама поставила вместо $src_full, $src.. Только вот ещё одна заминка: когда листаешь привьюшки, пропадает gavMore_Imagess, и уже вернуть её нельзя, т.к. в привьюшках она отсутствует. Как её внести в списочек привьюшек, что бы как все просматривать и перелистывать?
Записан
Ole888
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 46


« Ответ #11 : 22.10.2008, 01:25:59 »

а не подскажете, как сделать, что если доп. изображений нету, то чтобы  выводилось, скажем, что картинок нет..
Записан
oleizey
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 22



« Ответ #12 : 13.11.2008, 17:20:49 »

Мучала долго, но все решила. Спасибо большое.
Но текст теперь сдвинулся вниз под все фотографии, а нужно чтобы он был справа.
Баловалась долго с colspan rowspan ничего не меняется.
Может подскажете в чем дело?  Sad
Записан
Alex Revo
Практически профи
*******

Репутация: +104/-0
Offline Offline

Пол: Мужской
Сообщений: 2004


« Ответ #13 : 19.11.2008, 14:35:14 »

В Опере переключение картинок не работает, только если убрать проверку браузера: if (ns3up || ie4up) { }
« Последнее редактирование: 19.11.2008, 14:42:30 от Alex Revo » Записан
Yyqq
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 8


« Ответ #14 : 24.01.2009, 16:05:27 »

Те кто долго мучились, но все решили, подскажите пожалуйста...
Может можно выложить уже исправленный код?
В последней версии VirtueMart не нашел в данном файле именно таких комментариев, пытался вставлял всё это куда то, но ничего так и не вышло хорошего Sad
Записан
oleizey
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 22



« Ответ #15 : 08.02.2009, 23:05:48 »

У меня Вирт 1.0.15. для новых видимо совсем иные изменения
Записан
Denis E
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #16 : 12.02.2009, 00:52:25 »

В Опере переключение картинок не работает, только если убрать проверку браузера: if (ns3up || ie4up) { }

Убираю проверку, перестает работать везде) кто знает как сделать чтоб в опере работало подскажите плииииз!
Записан
Alex Revo
Практически профи
*******

Репутация: +104/-0
Offline Offline

Пол: Мужской
Сообщений: 2004


« Ответ #17 : 12.02.2009, 09:31:26 »

Вот мой файл.

* shop.product_details.txt (20.64 Кб - загружено 1805 раз.)
Записан
Denis E
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #18 : 12.02.2009, 13:18:16 »

ну с вашим файлом они у меня открываются в новом окне(картинки)... вариант переключения конечно намного интереснее, вот бы только в опере работал  Angry
Записан
Alex Revo
Практически профи
*******

Репутация: +104/-0
Offline Offline

Пол: Мужской
Сообщений: 2004


« Ответ #19 : 12.02.2009, 13:24:40 »

Да, я забыл просто что там с просмотром.
Я делал так чтобы они менялись в ожном окне, но там возникла сложность с возвратом основной картинки, поэтому решил оставить так.
Записан
Denis E
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #20 : 12.02.2009, 13:31:08 »

а я основную картинку тоже в файлы прикрепил и отлично!


Не в тему:
может вы случайно знаете ещё ответ на этот вопрос http://joomlaforum.ru/index.php/topic,40768.new.html ))))
Записан
Denis E
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #21 : 12.02.2009, 23:51:19 »

Alex Revo а может вы знаете как хотябы сделать проверку браузера, и в случае если опера чтоб открывались в окошках а не переключались?
Записан
Alex Revo
Практически профи
*******

Репутация: +104/-0
Offline Offline

Пол: Мужской
Сообщений: 2004


« Ответ #22 : 13.02.2009, 09:52:44 »

Покажите свой текущий код
Записан
Denis E
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #23 : 14.02.2009, 23:44:14 »

НУ собстно вот он
Код:
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
/**
*
* @version $Id: shop.product_details.php 1188 2008-01-25 19:39:58Z soeren_nb $
* @package VirtueMart
* @subpackage html
* @copyright Copyright (C) 2004-2005 Soeren Eberhardt. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/
mm_showMyFileName( __FILE__ );

require_once(CLASSPATH . 'ps_product_files.php' );
require_once(CLASSPATH . 'ps_product.php' );
$ps_product = new ps_product;

require_once(CLASSPATH . 'ps_product_category.php' );
$ps_product_category = new ps_product_category;

require_once(CLASSPATH . 'ps_product_attribute.php' );
$ps_product_attribute = new ps_product_attribute;

require_once(CLASSPATH . 'ps_product_type.php' );
$ps_product_type = new ps_product_type;
require_once(CLASSPATH . 'ps_reviews.php' ); 

/* Flypage Parameter has old page syntax: shop.flypage
* so let's get the second part - flypage */
$flypage = mosGetParam($_REQUEST, "flypage", FLYPAGE);

$flypage = str_replace( 'shop.', '', $flypage);

$product_id = intval( mosgetparam($_REQUEST, "product_id", null) );
$product_sku = $db->getEscaped( mosgetparam($_REQUEST, "sku", '' ) );
$category_id = mosgetparam($_REQUEST, "category_id", null);
$manufacturer_id = mosgetparam($_REQUEST, "manufacturer_id", null);
$Itemid = $sess->getShopItemid();
$db_product = new ps_DB;

// Get the product info from the database
$q = "SELECT * FROM `#__{vm}_product` WHERE ";
if( !empty($product_id)) {
$q .= "`product_id`=$product_id";
}
elseif( !empty($product_sku )) {
$q .= "`product_sku`='$product_sku'";
}
else {
mosRedirect( $_SERVER['PHP_SELF']."?option=com_virtuemart&keyword=".urlencode($_SESSION['keyword'])."&category_id={$_SESSION['category_id']}&limitstart={$_SESSION['limitstart']}", $VM_LANG->_PHPSHOP_PRODUCT_NOT_FOUND );
}

if( !$perm->check("admin,storeadmin") ) {
  $q .= " AND `product_publish`='Y'";
  if( CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {
    $q .= " AND `product_in_stock` > 0 ";
  }
}
$db_product->query( $q );

// Redirect back to Product Browse Page on Error
if( !$db_product->next_record() ) {
  $vmLogger->err( $VM_LANG->_PHPSHOP_PRODUCT_NOT_FOUND );
return;
}
if( empty($product_id)) {
$product_id = $db_product->f('product_id');
}
$product_parent_id = $db_product->f("product_parent_id");
if ($product_parent_id != 0) {
$dbp= new ps_DB;
$dbp->query("SELECT * FROM #__{vm}_product WHERE product_id='$product_parent_id'" );
$dbp->next_record();
}

// Let's have a look wether the product has images.
if( $product_parent_id != 0 ) {
  $db->query( "SELECT COUNT(file_id) AS images FROM #__{vm}_product_files WHERE file_product_id=$product_parent_id AND file_is_image=1" );
}
else {
  $db->query( "SELECT COUNT(file_id) AS images FROM #__{vm}_product_files WHERE file_product_id=$product_id AND file_is_image=1" );
}
$db->next_record();
$images = new stdClass();
$images->images = $db->f("images");

// Let's have a look wether the product has related products.
  $q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
  $q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
  $q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4";
  $db->query( $q );
/*// This shows randomly selected products from the products table
  // if you don't like to set up related products for each product
  $q = "SELECT product_sku FROM #__{vm}_product ";
  $q .= "WHERE product_publish='Y' AND product_id != $product_id ";
  $q .= "ORDER BY RAND() LIMIT 0, 4";
  $db->query( $q );*/
 
  $related_product_html = "";
  if( $db->num_rows() > 0 ) {
    $related_product_html .= "<hr/>\n";
    $related_product_html .= "<h3>".$VM_LANG->_PHPSHOP_RELATED_PRODUCTS_HEADING.":</h3>\n";
    $related_product_html .= "<table width=\"100%\" align=\"center\"><tr>\n";
    while( $db->next_record() ) {
      $related_product_html .= "<td valign=\"top\">".$ps_product->product_snapshot( $db->f('product_sku') )."</td>\n";
}
    $related_product_html .= "</tr></table>\n";
  }
 
/** GET THE PRODUCT NAME **/
  $product_name = shopMakeHtmlSafe( $db_product->f("product_name") );
  if( $db_product->f("product_publish") == "N" )
    $product_name .= " (".$VM_LANG->_CMN_UNPUBLISHED.")";
  $product_description = $db_product->f("product_desc"); 
  if( (str_replace("<br />", "" , $product_description)=='') && ($product_parent_id!=0) ) {
    $product_description = $dbp->f("product_desc"); // Use product_desc from Parent Product
  }
 
/** Get the CATEGORY NAVIGATION **/
  $navigation_pathway = "";
  $navigation_childlist = "";
  $pathway_appended = false;
  if (empty($category_id))  {
    $q = "SELECT category_id FROM #__{vm}_product_category_xref WHERE product_id = '$product_id' LIMIT 0,1";
    $db->query( $q );
    $db->next_record();
    if( !$db->f("category_id") ) {
      // The Product Has no category entry and must be a Child Product
      // So let's get the Parent Product
      $q = "SELECT product_id FROM #__{vm}_product WHERE product_id = '".$db_product->f("product_parent_id")."' LIMIT 0,1";
      $db->query( $q );
      $db->next_record();
     
      $q = "SELECT category_id FROM #__{vm}_product_category_xref WHERE product_id = '".$db->f("product_id")."' LIMIT 0,1";
      $db->query( $q );
      $db->next_record();
    }
    $_GET['category_id'] = $category_id = $db->f("category_id");
  }
  $navigation_pathway .= $ps_product_category->get_navigation_list($category_id);
  $navigation_pathway .= " ".$ps_product_category->pathway_separator()." ". $product_name;

  if ($ps_product_category->has_childs($category_id) ) {
    $navigation_childlist .= $ps_product_category->get_child_list($category_id);
  }
 
  /* Set Dynamic Pathway */
    $mainframe->appendPathWay( $navigation_pathway );
 
  /* Set Dynamic Page Title */
    $mainframe->setPageTitle( html_entity_decode( substr($product_name, 0, 60 ), ENT_QUOTES ));

  /* Prepend Product Short Description Meta Tag "description" */
    $mainframe->prependMetaTag( "description", strip_tags( $db_product->f("product_s_desc")) );


/** Show an "Edit PRODUCT"-Link ***/
  if ($perm->check("admin,storeadmin")) {
    $edit_link = "<a href=\"". sefRelToAbs($mosConfig_live_site."/index2.php?page=product.product_form&next_page=shop.product_details&product_id=$product_id&option=com_virtuemart&Itemid=$Itemid")."\">
      <img src=\"images/M_images/edit.png\" width=\"16\" height=\"16\" alt=\"". $VM_LANG->_PHPSHOP_PRODUCT_FORM_EDIT_PRODUCT ."\" border=\"0\" /></a>";
  }
  else {
    $edit_link = "";
  }
 
/** LINK TO MANUFACTURER POP-UP **/
  $manufacturer_id = $ps_product->get_manufacturer_id($product_id);
  $manufacturer_name = $ps_product->get_mf_name($product_id);
  $manufacturer_link = "";
  if( $manufacturer_id && !empty($manufacturer_name) ) {
    $link = "$mosConfig_live_site/index2.php?page=shop.manufacturer_page&amp;manufacturer_id=$manufacturer_id&amp;output=lite&amp;option=com_virtuemart&amp;Itemid=".$Itemid;
$text = '( '.$manufacturer_name.' )';
    $manufacturer_link .= vmPopupLink( $link, $text );

    // Avoid JavaScript on PDF Output                           
    if( @$_REQUEST['output'] == "pdf" )
      $manufacturer_link = "<a href=\"$link\" target=\"_blank\" title=\"$text\">$text</a>";
  }
/** PRODUCT PRICE **/
  if (_SHOW_PRICES == '1') { /** Change - Begin */
    if( $db_product->f("product_unit") && VM_PRICE_SHOW_PACKAGING_PRICELABEL)
      $product_price = "<strong>". $VM_LANG->_PHPSHOP_CART_PRICE_PER_UNIT.' ('.$db_product->f("product_unit")."):</strong>";
    else /** Change - End */
      $product_price = "<strong>". $VM_LANG->_PHPSHOP_CART_PRICE. ": </strong>";
    $product_price .= $ps_product->show_price( $product_id );
  }
  else
    $product_price = "";
 
/** Change Packaging - Begin */
/** PRODUCT PACKAGING **/
if (  $db_product->f("product_packaging") ) {
        $packaging = $db_product->f("product_packaging") & 0xFFFF;
        $box = ($db_product->f("product_packaging") >> 16) & 0xFFFF;
        $product_packaging = "";
        if ( $packaging ) {
            $product_packaging .= $VM_LANG->_PHPSHOP_PRODUCT_PACKAGING1.$packaging;
            if( $box ) $product_packaging .= "<br/>";
        }
        if ( $box )
            $product_packaging .= $VM_LANG->_PHPSHOP_PRODUCT_PACKAGING2.$box;
           
        $product_packaging = str_replace("{unit}",$db_product->f("product_unit")?$db_product->f("product_unit") : $VM_LANG->_PHPSHOP_PRODUCT_FORM_UNIT_DEFAULT,$product_packaging);
    }
    else
        $product_packaging = "";
/** Change Packaging - End */

/** PRODUCT IMAGE **/
  $product_image = "";
  $full_image = $db_product->f("product_full_image");
  $full_image = $product_parent_id!=0 && !$db_product->f("product_full_image") ?
  $dbp->f("product_full_image") : $db_product->f("product_full_image"); // Change
  $product_thumb_image = $product_parent_id!=0 && !$db_product->f("product_thumb_image") ?
  $dbp->f("product_thumb_image") : $db_product->f("product_thumb_image"); // Change

  /* Wrap the Image into an URL when applicable */
  if ( $db_product->f("product_url") ) {
    $product_image = "<a href=\"". $db_product->f("product_url")."\" title=\"".$product_name."\" target=\"_blank\">";
    $product_image .= $ps_product->image_tag($full_image, "alt=\"".$product_name."\"", 0);
    $product_image .= "</a>";
  }
  /* Show the Thumbnail with a Link to the full IMAGE */
  elseif( !$db_product->f("product_url") ) {
    if( empty($full_image ) ) {
      $product_image = "<img src=\"".IMAGEURL.NO_IMAGE."\" alt=\"".$product_name."\" border=\"0\" />";
    }
    else {
      // file_exists doesn't work on remote files,
      // so returns false on remote files
      // This should fix the "Long Page generation bug"
      if( file_exists( IMAGEPATH."product/$full_image" )) {
     
        /* Get image width and height */
        if( $image_info = @getimagesize(IMAGEPATH."product/$full_image") ) {
          $width = $image_info[0] + 20;
          $height = $image_info[1] + 20;
        }
      }
      else {
        $width = 640;
        $height= 480;
      }
      if( stristr( $full_image, "http" ) ) {
        $imageurl = $full_image;
      }
      else {
        $imageurl = IMAGEURL."product/$full_image";
      }
      /* Build the "See Bigger Image" Link */
      if( @$_REQUEST['output'] != "pdf" ) {
$link = $imageurl;
$text = $ps_product->image_tag($product_thumb_image, "alt=\"".$product_name."\"", 1)."<br/>".$VM_LANG->_PHPSHOP_FLYPAGE_ENLARGE_IMAGE;
// vmPopupLink can be found in: htmlTools.class.php
$product_image = vmPopupLink( $link, $text, $width, $height );
      }
      else {
        $product_image = "<a href=\"$imageurl\" target=\"_blank\">".$ps_product->image_tag($product_thumb_image, "alt=\"".$product_name."\"", 1)."</a>";
      }
    }
  }

  /* MORE IMAGES ??? */
    $more_images = "";
  if( !empty($images->images) ) {
    /* Build the JavaScript Link */
    $more_images = "<a href=\"$mosConfig_live_site/index.php?option=com_virtuemart&page=shop.view_images&flypage=".mosGetParam($_REQUEST, 'flypage')."&product_id=$product_id&category_id=$category_id&Itemid=$Itemid\">";
    $more_images .= "<img src=\"".IMAGEURL."ps_image/more_images.png\" width=\"16\" height=\"16\" border=\"0\" alt=\"".$VM_LANG->_PHPSHOP_MORE_IMAGES ." (".$images->images.")\" />";
    $more_images .= "<br />".$VM_LANG->_PHPSHOP_MORE_IMAGES." (".$images->images.")</a>";
  }
  /* Files? */
  $file_list = ps_product_files::get_file_list( $product_id );
  /* MORE IMAGES (?????????????? ???????????) */
$gavMore_Images = "";
$gavMore_Imagess = "";
 if( !empty($images->images) )
   {
    $gavMore_Images = "<br />";
    $database->setQuery( "SELECT * FROM #__vm_product_files WHERE file_product_id='$product_id' AND file_is_image='1'" );
    $images = $database->loadObjectList();
    $i = 1;
    foreach( $images as $image )
     {
       $info = pathinfo( $image->file_name );
       $src = dirname($image->file_url) ."/resized/". basename($image->file_name, ".".$info["extension"])."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.".".$info["extension"];
       $alt = $image->file_title;
       $height = empty($image->file_image_thumb_height) ? PSHOP_IMG_HEIGHT : $image->file_image_thumb_height;
       $width = empty($image->file_image_thumb_width) ? PSHOP_IMG_WIDTH : $image->file_image_thumb_width;
       $src = str_replace( $mosConfig_absolute_path, $mosConfig_live_site, $image->file_name );
       if( strstr( $src, $mosConfig_live_site.$image->file_name))
       $src_full = str_replace( $mosConfig_live_site.$image->file_name, $mosConfig_live_site."/".$image->file_name, $src_full );
       $alt_full = $image->file_title;
       $height_full = $image->file_image_height+29;
       $width_full = $image->file_image_width+34;
      $border = 1;
      $titlewsp = str_replace(".", "", basename($image->file_name));
      $title = $image->file_title;
      $gavMore_Images .= "<a href=\"javascript:doPic('$src');\" style=\"cursor:hand;cursor:pointer;padding:5px\"><img src=\"$src\" height=\"70px\" border=1/></a>";     
      ++$i;
     }//end foreach
   }
  /* END MORE IMAGES (?????????????? ???????????) */
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
   }
}
//  End -->
</script>
<?php
$gavMore_Imagess .= "<img name=\"mainpic\" src=\"$imageurl\" height=\"300px\"  border=\"0\">";
/** AVAILABILITY **/
  // This is the place where it shows:
  // Availability: 24h, In Stock: 5 etc.
  // You can make changes to this functionality in the file: classes/ps_product.php
  if( @$_REQUEST['output'] != "pdf" )
    $product_availability = $ps_product->get_availability($product_id);
   
/* SHOW RATING */
  $product_rating = "";
  if (PSHOP_ALLOW_REVIEWS == '1') {
    $product_rating = "<span class=\"contentheading\">".$VM_LANG->_PHPSHOP_CUSTOMER_RATING.":</span><br />";
    $product_rating .= ps_reviews::allvotes( $product_id );
  }

/* ADD-TO-CART */
  $addtocart = "<div>
    <form action=\"". $mm_action_url."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart\">"
          .$ps_product_attribute->list_attribute($product_id)
          // added for the advanced attribute modification
          .$ps_product_attribute->list_advanced_attribute($product_id)
          // end added for advanced attribute modification
          .$ps_product_attribute->list_custom_attribute($product_id);
          // end added for custom attribute modification
if (USE_AS_CATALOGUE != '1'
&& $product_price != ""
&& !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )
&& $auth['show_prices']) {
$quantity = mosGetParam( $_REQUEST, 'quantity', 1 );
        $addtocart .= "
        <p><label for=\"quantity\" style=\"vertical-align: middle;\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>
            <input type=\"text\" class=\"inputbox\" size=\"4\" id=\"quantity\" name=\"quantity\" value=\"$quantity\" style=\"vertical-align: middle;\" />&nbsp;
            <input type=\"submit\" ";
        $addtocart .= "style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;\" ";
        $addtocart .= "value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
          </p>
      <input type=\"hidden\" name=\"flypage\" value=\"shop.$flypage\" />
      <input type=\"hidden\" name=\"page\" value=\"shop.cart\" />
      <input type=\"hidden\" name=\"manufacturer_id\" value=\"$manufacturer_id\" />
      <input type=\"hidden\" name=\"category_id\" value=\"$category_id\" />
      <input type=\"hidden\" name=\"func\" value=\"cartAdd\" />
      <input type=\"hidden\" name=\"option\" value=\"$option\" />
      <input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />";
}
    $addtocart .= "</form>
    </div>";

/* LIST ALL REVIEWS **/
  if (PSHOP_ALLOW_REVIEWS == '1') {
      /*** Show all reviews available ***/
      $product_reviews = ps_reviews::product_reviews( $product_id );
      /*** Show a form for writing a review ***/
      $product_reviewform = ps_reviews::reviewform( $product_id );
  }
  else {
    $product_reviews = $product_reviewform = "";
  }
/* LINK TO VENDOR-INFO POP-UP **/
  $vend_id = $ps_product->get_vendor_id($product_id); 
  $vend_name = $ps_product->get_vendorname($product_id);
 
  $link = "$mosConfig_live_site/index2.php?page=shop.infopage&amp;vendor_id=$vend_id&amp;output=lite&amp;option=com_virtuemart&amp;Itemid=".$Itemid;
  $text = $VM_LANG->_PHPSHOP_VENDOR_FORM_INFO_LBL;
  $vendor_link = vmPopupLink( $link, $text );
 
  // Avoid JavaScript on PDF Output
  if( @$_REQUEST['output'] == "pdf" )
    $vendor_link = "<a href=\"$link\" target=\"_blank\" title=\"$text\">$text</a>";
 
  if ($product_parent_id!=0 && !$ps_product_type->product_in_product_type($product_id)) {
  $product_type = $ps_product_type->list_product_type($product_parent_id);
  }
  else {
$product_type = $ps_product_type->list_product_type($product_id);
  }

/**
*   Read the template file into a String variable.
*   Then replace the placeholders with HTML formatted product details
*
* function read_file( $file, $defaultfile='') ***/
$template = read_file( PAGEPATH.'templates/product_details/'.basename($flypage).'.php', PAGEPATH.'templates/product_details/flypage.php');

/** NOW LET'S BEGIN AND FILL THE TEMPLATE **/
$template = str_replace( "{gavMore_Images}", $gavMore_Images, $template );
$template = str_replace( "{gavMore_Imagess}", $gavMore_Imagess, $template );
$template = str_replace( "{navigation_pathway}", $navigation_pathway, $template );
$template = str_replace( "{navigation_childlist}", $navigation_childlist, $template );
$template = str_replace( "{product_name}", $product_name, $template );
$template = str_replace( "{product_image}", $product_image, $template );
$template = str_replace( "{full_image}", $full_image, $template ); // to display the full image on flypage
$template = str_replace( "{more_images}", $more_images, $template );
$template = str_replace( "{file_list}", $file_list, $template );
$template = str_replace( "{edit_link}", $edit_link, $template );
$template = str_replace( "{manufacturer_link}", $manufacturer_link, $template );
$template = str_replace( "{product_price}", $product_price, $template );
$template = str_replace( "{product_s_desc}", $db_product->f("product_s_desc"), $template );
$template = str_replace( "{product_description}", $product_description, $template );
$template = str_replace( "{product_weight}", $db_product->f("product_weight"), $template );
$template = str_replace( "{product_sku}", $db_product->f("product_sku"), $template );
$template = str_replace( "{addtocart}", $addtocart, $template );
$template = str_replace( "{product_reviews}", $product_reviews, $template );
$template = str_replace( "{product_reviewform}", $product_reviewform, $template );
$template = str_replace( "{product_availability}", $product_availability, $template );
$template = str_replace( "{vendor_link}", $vendor_link, $template );
$template = str_replace( "{mosConfig_live_site}", $mosConfig_live_site, $template );
$template = str_replace( "{related_products}", $related_product_html, $template );
$template = str_replace( "{product_type}", $product_type, $template ); // Changed Product Type
$template = str_replace( "{product_packaging}", $product_packaging, $template ); // Changed Packaging
$template = str_replace( "{product_width}", $db_product->f("product_width"), $template ); // ??????
$template = str_replace( "{product_height}", $db_product->f("product_height"), $template ); // ??????
$template = str_replace( "{product_length}", $db_product->f("product_length"), $template ); // ?????

/*
  Really cool regular expression that let's you easily translate the flypage
  Usage:
   {vm_lang:_PHPSHOP__PHPSHOP_ACCOUNT_TITLE}
   will print the content of $VM_LANG->_PHPSHOP_ACCOUNT_TITLE
   from the current language
*/
$template = preg_replace("/{vm_lang:([^}]*)}/ie", "\$VM_LANG->\\1", $template);

/* Finish and Print out the Page */
echo $template;

?>
Записан
Alex Revo
Практически профи
*******

Репутация: +104/-0
Offline Offline

Пол: Мужской
Сообщений: 2004


« Ответ #24 : 16.02.2009, 11:21:21 »

Попробуй вставить скрипт в таком варианте:
Код:
<SCRIPT LANGUAGE="JavaScript">
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);
ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
}
</script>
Записан
bankir
Гость
« Ответ #25 : 18.02.2009, 18:14:14 »

Всем привет!
Все сделал так как описано в этом топике. Немного переделал под свои нужды. Все классно. Но!!!
Но качество большого изображения стало хуже. Это хорошо видно на картинках с изгибами, особенно в ИЕ (они как будто надорваны). Помогите решить эту проблему.
Записан
unchowam
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #26 : 23.02.2009, 15:25:50 »

Если я правильно понимаю то для joomla 1.5.9 и VM 1.13 ваш код нужно вставить в файл theme.php. Не подскажите как правильно это реализовать?Я не силен в РНР ,но мне кажется что в theme.php описывается class, и там есть уже две крутых  функции: function vmlistAdditionalImages и function vmMoreImagesLink , ваш код нужно добавить как новую функцию?Или функцию vmlistAdditionalImages преоброзовать как нибудь?Или я не прав?
Помогите разобраться разобраться с этим очень прошу?


* theme.txt (5.78 Кб - загружено 696 раз.)
Записан
kewlman
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 68


« Ответ #27 : 23.02.2009, 15:31:39 »

Нашел сам , кому понадобится пользуйтесь

http://forum.virtuemart.net/index.php?action=dlattach;topic=39569.0;attach=6843
просто заменить все файлы.
Записан
unchowam
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #28 : 23.02.2009, 15:43:15 »

Нашел сам , кому понадобится пользуйтесь

http://forum.virtuemart.net/index.php?action=dlattach;topic=39569.0;attach=6843
просто заменить все файлы.

Не подскажешь где можно посмотреть как все это работает?
Записан
unchowam
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #29 : 23.02.2009, 16:24:58 »

После просмотра сайта, и просмотра файлов темы так я и не понял в чем отличие  от темы default.Может я туплю?
Мне нужно вывести дополнительные изображения товара на одну страницу с основным  как описано в этой теме выше.
Может подскажешь как это сделать?
Записан
urodoff
Осваиваюсь на форуме
***

Репутация: +14/-0
Offline Offline

Пол: Мужской
Сообщений: 77


« Ответ #30 : 11.05.2009, 02:07:05 »

Люди помогите кто - то реализовывал данное в 1.1.3....
Записан
maxlili
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 12


Учение - мучение!!!! И всякое такое!


« Ответ #31 : 21.02.2010, 20:04:08 »

Окажите помощь  ! ! ! ! при загрузке дополнительных изображений через VirtueMart, возникает проблема просмотра увеличенного изображения в браузере, Angry Angry Angry Angry Angry  при чем показывается постоянно одна главная картинка
Записан
BMerlin
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 8


« Ответ #32 : 24.04.2010, 14:05:24 »

Срочно нужна реализация этого в VirtueMart 1.1.4. Кто сделал подобное,прошу вас поделиться решением вывода большой большой картники не всплывающем окне, а как в первом сообщении темы после нажатия на любую из маленьких дополнительных картинок внизу.
С уважением,
« Последнее редактирование: 24.04.2010, 15:13:23 от BMerlin » Записан
maxlili
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 12


Учение - мучение!!!! И всякое такое!


« Ответ #33 : 24.04.2010, 14:10:48 »

решение было найдено, просто надо переименовать картинки чтоб были на латинском и подходили для MySQL, то есть все картинки там прописываются и заносятся в базу, от туда и происходит загрузка Grin Wink
Записан
gDenisk
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 83



« Ответ #34 : 30.04.2010, 12:29:24 »

поддерживаю вопрос - как это реализовать на VM 1.1 ?
Записан
tomclancys
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 82



« Ответ #35 : 12.05.2010, 09:47:53 »

Тоже поддерживаю вопрос - как это реализовать на VM 1.1 ?
Записан
Ecspert
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Пол: Мужской
Сообщений: 446



« Ответ #36 : 12.05.2010, 14:32:23 »

есть скрипт flypage - http://demo.yagendoo.com/joomla/?view=virtuemart_themes
стоит 150$, кому надо беЗплатно - пишите в личку
Записан
LDP
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #37 : 22.08.2010, 14:00:08 »

Ecspert, Спасибо, получил скрипт, сегодня буду проверять.
Записан
Aviva
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 83



« Ответ #38 : 26.08.2010, 19:48:52 »

А кто-нибудь знает, как сделать скроллер? Чтобы под главным горизонтально прокручивались дополнительные изображения?
Записан
Eholov
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 58



« Ответ #39 : 27.01.2011, 14:49:06 »

Нужно было, чтоб на странице с детальной информацией о товаре были дополнительные фото этого товара и при нажатии на миниатюры этих фото их увеличенное изображение появлялось не в новом окне как лайтбокс и не в новом обычном окне с миниатюрами, а на той же странице вместо большого фото товара как тут http://www.sagegreenstyle.com/wall-art?page=shop.product_details&flypage=flypage_sgs.tpl&product_id=9&category_id=4


Решение нашел тут http://forum.virtuemart.net/index.php?topic=41796.0
ПереведуAzn
Качаем плагин Phatfusion  http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,4136/Itemid,35/

Включаем плагин в Расширения - Плагины. Смотрим, чтоб в VirtueMart было разрешено использование плагинов (Virtuemart - Настройка - Общие настройки - Разрешить использование мамботов / плагинов в описании товара и категории)

Редактируем файл administrator\components\com_virtuemart\html\shop.product_details.php
- Найти код
Код:
$product_image = $tpl->vmBuildFullImageLink( $productArray );

Код:
// Custom code for phatfusion slideshow
$path = 'components/com_virtuemart/shop_image/product/';
$db_k= new ps_DB();
$db_k->query( "SELECT * FROM `#__{vm}_product` WHERE `product_id`=".intval($product_id));
$full = $path . $db_k->f('product_full_image');
$thumb = $path . $db_k->f('product_thumb_image');
$db_jk = new ps_DB();
$more='';
$db_jk->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".intval($product_id). " AND `file_is_image`=1 AND `file_published`=1 ORDER BY file_id ASC");
while( $db_jk->next_record() ) {
$mfull = ltrim($db_jk->f('file_name'),'/');
$mthumb = ereg_replace('product','product/resized',ltrim($db_jk->f('file_name'),'/'));
$mext = '_'. $db_jk->f('file_image_thumb_height'). 'x'. $db_jk->f('file_image_thumb_width'). '.'.$db_jk->f('file_extension');
$ereg = '.'. $db_jk->f('file_extension');
$mthumb = ereg_replace($ereg, $mext, $mthumb);
$more .= ';'. $mfull . ',' . $mthumb;
}
$product_image = '{phatfusionslideshow '. $full .','. $thumb . $more .'}';
$product_image = vmCommonHTML::ParseContentByPlugins( $product_image );

выводится и большое и маленькие изображение в шаблоне товара кодом <?php echo $product_image ?>

Скажу сразу, что с VirtueMart 1.1.6 НЕ РАБОТАЕТ
Работает точно с 1.1.4 Но 1.1.4 не ставится на Joomla 1.5.22 а ставится на 1.5.20
« Последнее редактирование: 27.01.2011, 17:42:38 от Eholov » Записан
Werwolf
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 19


« Ответ #40 : 27.01.2011, 17:01:25 »

Скажу сразу, что с VirtueMart 1.1.6 НЕ РАБОТАЕТ
Работает точно с 1.1.4 Но 1.1.4 не ставится на Joomla 1.5.22 а ставится на 1.5.20
У меня Joomla 1.5.22 и VirtueMart 1.1.6 и все прекрасно работает. Спасибо, как раз то, что искал!
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #41 : 30.01.2011, 08:40:56 »

Eholov, очень интересная фишка, думаю пригодится, но вот вопрос возник.

Можно ли сделать так, чтобы всё работало как описано, но при нажатии на большое изображение в flypage открывалось в лайтбоксе, или без него, исходное изображение, или в этом случаи исходное изображение и должно быть именно такого размера как здесь?

Надеюсь я правильно объяснил Azn
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #42 : 30.01.2011, 15:40:47 »

(http://rutaobao.com/pages/item_detail.aspx?ItemId=7420558237&Nick=cocoywen#1) А кто нить знает как реализовать вот такое  отображение картинок на flypage? Чтоб при наведении на картинку справа появлялся увеличенный вариант просматриваемой части картинки... Пните хотя б в каком направлении думать, или может даже купить где?
« Последнее редактирование: 30.01.2011, 15:50:34 от koshsh » Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #43 : 31.01.2011, 07:10:00 »

Бороздя просторы инета нашел вот ЭТО и вот ЭТО, стоит это 13 баксов и £29 соответственно. Идея как я понял называется Image Magnification zoom. Может быть у кого-то уже есть такой flypage?
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #44 : 31.01.2011, 15:52:01 »

предлагаю скинуться на покупку флайпейджа, вношу 200WMR  drink
Записан
Governor
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #45 : 02.02.2011, 18:14:44 »

предлагаю скинуться на покупку флайпейджа, вношу 200WMR  drink
£29 это лицензия на 1 сайт, может кто из умеющих сварганит нам такое и ему дадим
+100 р. Яндекс
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #46 : 03.02.2011, 08:57:29 »

 Cheesy Поддерживаю Cheesy

£29 это лицензия на 1 сайт, может кто из умеющих сварганит нам такое и ему дадим
+100 р. Яндекс

 
Записан
adjuster
Завсегдатай
*****

Репутация: +52/-2
Offline Offline

Пол: Мужской
Сообщений: 788


« Ответ #47 : 03.02.2011, 16:14:47 »

(http://rutaobao.com/pages/item_detail.aspx?ItemId=7420558237&Nick=cocoywen#1) А кто нить знает как реализовать вот такое  отображение картинок на flypage? Чтоб при наведении на картинку справа появлялся увеличенный вариант просматриваемой части картинки... Пните хотя б в каком направлении думать, или может даже купить где?
Вот описание, как это сделать http://www.websovet.com/jquery-dlya-chajnikov-effekt-linzy-plagin-jqzoom
Записан
Вованище
Осваиваюсь на форуме
***

Репутация: +19/-0
Offline Offline

Пол: Мужской
Сообщений: 136


<target = blank>


« Ответ #48 : 03.02.2011, 17:08:17 »

Вот описание, как это сделать
Таких описаний в сети много, но не каждый сможет прикрутить это к VirtueMart.
Могу сделать, если предложения о вознаграждении в силе.
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #49 : 04.02.2011, 17:16:47 »

Таких описаний в сети много, но не каждый сможет прикрутить это к VirtueMart.
Могу сделать, если предложения о вознаграждении в силе.
Даю 200WMR за то чтоб прикрутил к моему флайпейджику, идет?  Smiley
Записан
Вованище
Осваиваюсь на форуме
***

Репутация: +19/-0
Offline Offline

Пол: Мужской
Сообщений: 136


<target = blank>


« Ответ #50 : 04.02.2011, 18:48:27 »

Даю 200WMR за то чтоб прикрутил к моему флайпейджику, идет?  Smiley
Идет.
Давай свой шаблон Вирта.
« Последнее редактирование: 04.02.2011, 21:05:47 от Вованище » Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #51 : 04.02.2011, 21:42:21 »

Качай здесь архив

(юзаю eny_fly_default.tpl)
« Последнее редактирование: 04.02.2011, 22:15:14 от koshsh » Записан
Вованище
Осваиваюсь на форуме
***

Репутация: +19/-0
Offline Offline

Пол: Мужской
Сообщений: 136


<target = blank>


« Ответ #52 : 04.02.2011, 22:34:18 »

Еще пара вопросов
Товары загружаешь через CSV  или админку?
Нужны ли доп. картинки?
К какому флайпейджу прикручивать?
« Последнее редактирование: 04.02.2011, 22:37:46 от Вованище » Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #53 : 05.02.2011, 06:27:51 »

Еще пара вопросов
Товары загружаешь через CSV  или админку?
Нужны ли доп. картинки?
К какому флайпейджу прикручивать?
Доп картинки конечно нужны, там как раз стоят внизу уменьшенные под большой.
Товары планирую через offlinevm импортировать, пока еще не использовал =)
Флайпейдж юзаю eny_fly_default.tpl

Слушай, а давай я тебе еще 200 WMR накину если на флайпедж выведешь кнопочку одну  Wink
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #54 : 06.02.2011, 12:21:34 »

Про быструю загрузку дополнительных картинок ЗДЕСЬ доходчиво расписано
Записан
Вованище
Осваиваюсь на форуме
***

Репутация: +19/-0
Offline Offline

Пол: Мужской
Сообщений: 136


<target = blank>


« Ответ #55 : 06.02.2011, 18:21:59 »

Цитировать
Про быструю загрузку дополнительных картинок ЗДЕСЬ доходчиво расписано
Цитировать
Так вот, что-бы сделать быструю загрузку дополнительных картинок нужно поправить всего два файла и потом загружать катринки по FTP  для каждого товара в отдельную папку.
ИМХО делать отдельные папки для каждого товара - геморно. Загружать через CSV удобней.
Записан
Governor
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 32


« Ответ #56 : 07.02.2011, 12:50:49 »

а мне поможешь тоже?
http://www.zdoor.ru/online.html?page=shop.product_details&flypage=garden_flypage.tpl&product_id=22&category_id=10

100 ядов
Записан
koshsh
Осваиваюсь на форуме
***

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 177



« Ответ #57 : 18.02.2011, 09:22:50 »

Спасибо бо-о-ольшое Вованище за то что помог сделать так как я хотел, воткнул на флайпейдж лупу к фоткам и подсказал как добавить дополнительные картинки товара  drink

вот что получилось (еще пока в разработке)
Записан
Eholov
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 58



« Ответ #58 : 11.03.2011, 08:06:55 »

(http://rutaobao.com/pages/item_detail.aspx?ItemId=7420558237&Nick=cocoywen#1) А кто нить знает как реализовать вот такое  отображение картинок на flypage? Чтоб при наведении на картинку справа появлялся увеличенный вариант просматриваемой части картинки... Пните хотя б в каком направлении думать, или может даже купить где?
Я прописывал размер большой картинки в стиле img в template.css шаблона сайта. На этом сайте http://waygps.com.ua пример работы. Только недостаток в том, что всем картинкам на сайте придется прописывать размеры. иначе они станут такого размера, как большое фото.
Записан
vtx
Давно я тут
****

Репутация: +16/-0
Offline Offline

Сообщений: 231



« Ответ #59 : 15.03.2011, 13:34:07 »

Кому надо смена картинок при наведении, можете взять код из прикрепленного файла.
Там 3 строчки кода + скрипт в теле.

* flypage_zoom_images.tpl.txt (12.33 Кб - загружено 779 раз.)
Записан
Mr. Brightside
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 47



« Ответ #60 : 15.04.2011, 19:18:56 »

Вы что, подурели?

1. http://demo.joomlaxtc.com/kraftwerks/ - идем сюда, смотрим как воркает.
2. Качаем варезный шаблон.
3. Берем кусок кода, который нужен (легко кастомизируемо, кроссбраузерно, чистый CSS)
Записан
vtx
Давно я тут
****

Репутация: +16/-0
Offline Offline

Сообщений: 231



« Ответ #61 : 18.04.2011, 10:13:45 »

Вы что, подурели?

1. http://demo.joomlaxtc.com/kraftwerks/ - идем сюда, смотрим как воркает.
2. Качаем варезный шаблон.
3. Берем кусок кода, который нужен (легко кастомизируемо, кроссбраузерно, чистый CSS)
уже прилепил флайпэйдж из этой темы)))
Записан
Geks
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 40



« Ответ #62 : 13.08.2011, 03:04:54 »

После переноса сайта на хостинг пропали мини картинки товаров, что может быть?
ссылка на сайт
Записан
vtx
Давно я тут
****

Репутация: +16/-0
Offline Offline

Сообщений: 231



« Ответ #63 : 15.08.2011, 11:09:31 »

ссылка на рабочую картинку
Код:
/components/com_virtuemart/shop_image/product/resized/_______________D_4e417643c211f_140x200.jpg
ссылка на остальные
Код:
"/components/com_virtuemart/shop_image/product/resized/_185x140.jpg4e4176863b80a_185x140.jpg"
а должна быть
Код:
/components/com_virtuemart/shop_image/product/resized/.jpg4e4176863b80a_185x140.jpg

часть скрипта, формирующая путь
Код:
if($type(images) == 'string' && !this.options.thumbnails){
var imageList = [];
$$('.'+images).each(function(el){
imageList.push(el.src);
el.injectInside(this.imagesHolder);
},this);
this.images = imageList;

}else if($type(images) == 'string' && this.options.thumbnails){
var imageList = [];
var srcList = [];
this.thumbnails = $$('.'+images);
this.thumbnails.each(function(el,i){
srcList.push(el.href);
imageList.push(el.getElement('img'));
el.href = 'javascript:;';
el.addEvent('click',function(){
this.stop();
this.play(i);
}.bind(this,el,i));
},this);
this.images = srcList;
this.thumbnailImages = imageList;
« Последнее редактирование: 15.08.2011, 11:39:51 от vtx » Записан
vtx
Давно я тут
****

Репутация: +16/-0
Offline Offline

Сообщений: 231



« Ответ #64 : 15.08.2011, 11:48:01 »

Я бы картинки заливал через csv, а не стандартными методами. плюс выключл динамическое изменение и создание картинок, и наконец-то избавился от русских букв в названии.
зы. красивый метод вывода доп изображений. думаю многим понравился бы.
Записан
Geks
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 40



« Ответ #65 : 20.08.2011, 20:46:37 »

Я бы картинки заливал через csv, а не стандартными методами. плюс выключл динамическое изменение и создание картинок, и наконец-то избавился от русских букв в названии.
зы. красивый метод вывода доп изображений. думаю многим понравился бы.
Спасибо тебе огромное! Благодаря тебе разобрался. Ошибка заключалась в том, что файлы надо было приводить к виду primer.jpg а не как у меня было!
Записан
wolf34
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 123


« Ответ #66 : 22.08.2011, 18:47:22 »

Кто то настраивал сей плагин?
Spoton Imaging

Источник:
http://extensions.joomla.org/extensions/photos-a-images/images/16474?qh=YToxNjp7aTowO3M6MTA6InZpcnR1ZW1hcnQiO2k6MTtzOjEyOiJ2aXJ0dWVtYXJ0J3MiO2k6MjtzOjExOiIndmlydHVlbWFydCI7aTozO3M6NjoiaW1hZ2VzIjtpOjQ7czo1OiJpbWFnZSI7aTo1O3M6NjoiaW1hZ2UnIjtpOjY7czo3OiJpbWFnaW5nIjtpOjc7czo4OiInaW1hZ2UnLCI7aTo4O3M6NjoiJ2ltYWdlIjtpOjk7czo3OiJpbWFnZSdzIjtpOjEwO3M6NzoiaW1hZ2VzJyI7aToxMTtzOjU6ImltYWdzIjtpOjEyO3M6NjoiaW1hZ2VkIjtpOjEzO3M6ODoiJ2ltYWdlcyciO2k6MTQ7czo3OiInaW1hZ2UnIjtpOjE1O3M6OToiaW1hZ2luZydzIjt9

Не сильно силен в английском. Там есть руководство по изменению файлов виртуамарта.
Записан
wolf34
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 123


« Ответ #67 : 26.08.2011, 21:44:13 »

Кому надо смена картинок при наведении, можете взять код из прикрепленного файла.
Там 3 строчки кода + скрипт в теле.
Подскажите куда именно вставить?
Записан
vtx
Давно я тут
****

Репутация: +16/-0
Offline Offline

Сообщений: 231



« Ответ #68 : 29.08.2011, 14:08:08 »

Подскажите куда именно вставить?
Это файл flypage...............
Записан
mio-mio
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 8



« Ответ #69 : 19.10.2011, 17:32:40 »

Помогите разобраться!
Я все сделала как написано: добавила код в shop.product_details.php и
все остальное тоже прописала и настроила... но оно не работает в IE!
Часть картинок(значительная) пропадает вообще т.е. описание открывается,
а вместо изображения - пустое место, хотя в Firefox все отлично загружается и отображается - подскажите, где проблема?

P.S. очень надо!
Записан
mio-mio
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 8



« Ответ #70 : 20.10.2011, 18:53:51 »

все... проблему решила сама, теперь отображается правильно  Smiley
если картинка одна, то она открывается в описании (сразу большая) и все.
если есть дополнительные картинки, то под большой картинкой будет подпись "Дополнительные изображения:"
и их thumbs + добавила thumb для основного изображения (чтобы можно было к нему вернуться).

если кому интересно, вот код:

shop.product_details.php
Код:

 /* MORE IMAGES (Дополнительные изображения) */
$more_images = "";
 if( !empty($images->images) )
   {
    $more_images = "<hr /><div style=\"font-weight:bold;float:left;\">Дополнительные изображения&nbsp;</div> (нажмите, чтобы увеличить):<br />";
    $more_images .= "<a href=\"javascript:doPic('$imageurl');\" style=\"cursor:hand;cursor:pointer;\">".$ps_product->image_tag($product_thumb_image, "alt=\"".$product_name."\"", 1)."</a>";
    $database->setQuery( "SELECT * FROM #__vm_product_files WHERE file_product_id='$product_id' AND file_is_image='1'" );
    $images = $database->loadObjectList();
    $i = 1;
    foreach( $images as $image )
     {
       $info = pathinfo( $image->file_name );
       $src = dirname($image->file_url)."/resized/". basename($image->file_name, ".".$info["extension"])."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.".".$info["extension"];
       $alt = $image->file_title;
       $height = empty($image->file_image_thumb_height)? PSHOP_IMG_HEIGHT : $image->file_image_thumb_height;
       $width = empty($image->file_image_thumb_width)? PSHOP_IMG_WIDTH : $image->file_image_thumb_width;
       $src = str_replace( $mosConfig_absolute_path, $mosConfig_live_site, $image->file_name );
       if( strstr( $src, $mosConfig_live_site.$image->file_name))
       $src = str_replace( $mosConfig_live_site.$image->file_name, $mosConfig_live_site."/".$image->file_name, $src );
       $alt_full = $image->file_title;
       $height_full = $image->file_image_height+29;
       $width_full = $image->file_image_width+34;
      $border = 1;
      $titlewsp = str_replace(".", "", basename($image->file_name));
      $title = $image->file_title;
      $more_images .= "<a href=\"javascript:doPic('$src');\" style=\"cursor:hand;cursor:pointer;\"><img src=\"$src\" width=\"$width\" border=0/></a>";     
      ++$i;
     }//end foreach
   }

  /* END MORE IMAGES (Дополнительные изображения) */
?>

<SCRIPT LANGUAGE="JavaScript">
function doPic(imgName) {
document.mainpic.src = imgName;
}
</script>

замена для full_image
Код:
$template = str_replace( "{full_image}", "<img src=\"".IMAGEURL."product/$full_image\" width=\"".$width_full."\" name=\"mainpic\" height=\"".$height_full."\" border=\"0\"/>", $template );

выглядит примерно так:
Записан
DK-Scorp
Давно я тут
****

Репутация: +4/-0
Offline Offline

Пол: Мужской
Сообщений: 310


Всегда готов! К чему только....? ХЗ.....


« Ответ #71 : 23.11.2011, 12:09:17 »

mio-mio, а куда вставлять замену для full_image. Это для какой ветки VM? Меня интересует решение для 1.1.x Последнюю строку не нашел :-( (замену для full_image). Можете выложить Ваши исправленные файлы?
Записан
newjey
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 259


« Ответ #72 : 30.11.2011, 19:41:15 »

Кому надо смена картинок при наведении, можете взять код из прикрепленного файла.
Там 3 строчки кода + скрипт в теле.
Напишите пожалуйста код скрипта и код для изменения во флайпейдже, а то не понятно что там и где.
Записан
newjey
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 259


« Ответ #73 : 30.11.2011, 20:23:21 »

Несколько раз поднимался вопрос - как сделать несколько изображений в описании товара, причем не убогим способом, как реализовано стандартно, но иначе. Возникла необходимость, потому выложу свою модификацию.
Основная часть хака взята с форума VirtueMart.ru (к сожалению что то не работает, потому не могу привести автора)
Файл shop.product_details.php, находим строку с /** AVAILABILITY **/ и перед ней добавляем следующий код:
Код:
/* MORE IMAGES (Дополнительные изображения) */
$gavMore_Images = "";
$gavMore_Imagess = "";
 if( !empty($images->images) )
   {
    $gavMore_Images = "<hr /><div style=\"font-weight:bold;float:left;\">Дополнительные изображения&nbsp;</div> (нажмите, чтобы увеличить):<br />";
    $database->setQuery( "SELECT * FROM #__vm_product_files WHERE file_product_id='$product_id' AND file_is_image='1'" );
    $images = $database->loadObjectList();
    $i = 1;
    foreach( $images as $image )
     {
       $info = pathinfo( $image->file_name );
       $src = dirname($image->file_url)."/resized/". basename($image->file_name, ".".$info["extension"])."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.".".$info["extension"];
       $alt = $image->file_title;
       $height = empty($image->file_image_thumb_height)? PSHOP_IMG_HEIGHT : $image->file_image_thumb_height;
       $width = empty($image->file_image_thumb_width)? PSHOP_IMG_WIDTH : $image->file_image_thumb_width;
       $src_full = str_replace( $mosConfig_absolute_path, $mosConfig_live_site, $image->file_name );
       if( strstr( $src, $mosConfig_live_site.$image->file_name))
       $src_full = str_replace( $mosConfig_live_site.$image->file_name, $mosConfig_live_site."/".$image->file_name, $src_full );
       $alt_full = $image->file_title;
       $height_full = $image->file_image_height+29;
       $width_full = $image->file_image_width+34;
      $border = 1;
      $titlewsp = str_replace(".", "", basename($image->file_name));
      $title = $image->file_title;
      $gavMore_Images .= "<a href=\"javascript:doPic('$src');\" style=\"cursor:hand;cursor:pointer;\"><img src=\"$src\" width=\"$width\" border=0/></a>";     
      ++$i;
     }//end foreach
   }
  /* END MORE IMAGES (Дополнительные изображения) */
?>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
   }
}
//  End -->
</script>
<?php
$gavMore_Imagess .= "<img name=\"mainpic\" src=\"$imageurl\" width=\"$width_full\"  border=\"0\">";

Далее здесь же находим блок /** NOW LET'S BEGIN AND FILL THE TEMPLATE **/ и добавляем две строки:
Код:
$template = str_replace( "{gavMore_Images}", $gavMore_Images, $template );
$template = str_replace( "{gavMore_Imagess}", $gavMore_Imagess, $template );
Теперь можем открыть файл flypage.php и оформить вывод наших двух заглушек, у себя сделал так:
Код:
<table border="0">
<tr>
<td>{gavMore_Imagess}</td>
</tr>
<tr>
<td>{gavMore_Images}</td>
</tr>
</table>

немного комментариев:
$gavMore_Images - выведет нам из полученного массива картинки дополнительных изображений (которые управляются через добавление файлов)
$gavMore_Imagess - непосредственно изображение товара

Подскажите пожалуйста как реализовать на VirtueMart 1.1.4 вывод доп изображений так что б при нажатии на дополнительное изображение оно не открывалось в новом окне,а заменяло большое изображение в карточке товара?
Спасибо.
Записан
zoloto
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #74 : 05.12.2011, 17:43:43 »

У меня Joomla 1.5.22 и VirtueMart 1.1.6 и все прекрасно работает. Спасибо, как раз то, что искал!

Joomla 1.5.25 + вирт 1.1.8 работает отлично.
Спасибо!
Записан
newjey
Давно я тут
****

Репутация: +2/-0
Offline Offline

Сообщений: 259


« Ответ #75 : 05.12.2011, 22:22:36 »

Кто-то разобрался как организовать под VirtueMart 1.1.4?
Записан
karnagos
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 10



« Ответ #76 : 16.02.2012, 16:16:49 »

Кто-то разобрался как организовать под VirtueMart 1.1.4?
Присоединяюсь.
Записан
Страниц: 1 2 3 [Все]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet