0 Пользователей и 1 Гость просматривают эту тему.
  • 464 Ответов
  • 77352 Просмотров
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Сравнения товара в VM 1.1.X
« : 10.02.2010, 18:46:07 »
Доброго всем времени суток.
Выкладываю новую модификацию для сравнения товара в VM 1.1.X и Joomla 1.5.x либо Joomla 1.0.x

Предистория здесь http://joomlaforum.ru/index.php/topic,8281.msg539066.html#msg539066
Это лишь только бета версия. Для начала жду замечания относительно работоспособности. Все пожелания будут рассмотренны позже. Также прошу учесть, что делал я это для ВАС, в первую очередь.
Проверено, вирусов нет ;)

Для того, что бы сравнение работало нужно товарам добавить "тип товара".
иначе не будет возможности сравнивать (чекбокс "сравнить" не будет даже отображаться).


Краткое описание:
Добавляет возможность сравнения товаров ОДНОГО типа;
Работает на AJAX;
Можно выбирать товары каких категорий сравнивать, а каких нет;
При отключении модуля отключается возможность сравнивать и чекбоксы не отображаются;
Заголовок модуля можно отображать лишь тогда, когда модуль не пустой;
Регулируемое количество товаров для сравнения;
и другие мелочи.

Версия для Joomla 1.0.x comparison(2.03.10).zip
Версия для Joomla 1.5.x ANSI кодировка, с ручной установкой по инструкции comparison.j15(9.03.10).zip
Версия для Joomla 1.5.x ANSI кодировка, с установкой копированием (простой вариант установки) comparison.j15.full.ANSI(9.03.10).zip
Версия для Joomla 1.5.x с ручной установкой по инструкции comparison.j15(1.03.10).zip
Версия для Joomla 1.5.x с установкой копированием (простой вариант установки) comparison.j15.full(1.03.10).zip
В "простом варианте" нет необходимости править код самому но возможно потерять старые правки, так как выполняется подмена файлов. Версия VM - 1.1.4. Будьте бдительны.

[вложение удалено Администратором]
еще ссылка
« Последнее редактирование: 17.06.2016, 11:01:12 от fsv »
*

ibrogim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #1 : 11.02.2010, 00:43:25 »
Спасибо автору! будем тестировать  *DRINK*
*

morph

  • Давно я тут
  • 923
  • 105 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #2 : 11.02.2010, 09:48:50 »
как понял в легаси.да и на 1.1.4 под 1.5.15 не встало без напильника воабще....в сессию не пишет .начнем копать )
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #3 : 11.02.2010, 10:11:11 »
возможно. на Joomla 1.5 не тестил. не на ней делалось. постараюсь посмотреть.
*

ibrogim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #4 : 11.02.2010, 10:55:32 »
Предлагаю уважаемому morph сделать свой механизм (для 1.5) бесплатным ...
*

morph

  • Давно я тут
  • 923
  • 105 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #5 : 11.02.2010, 17:53:40 »
и вроде еще на старой версии от tug основано.
Цитировать
unset($product);
            $db = new ps_DB;
            $query = "SELECT * FROM #__{vm}_product LEFT JOIN #__{vm}_product_product_type_xref USING (product_id) WHERE #__{vm}_product.product_id = '".$product_id."'";
            $db->SetQuery( $query );
            $db->loadObject($product);
в 1.1.4 несколько по другому...незачем в массив писать...


попробую еще шаблонизатор и настройки пристряпать )),да и галочкой считаю стоит отмечать,если отмечать то несколько и отправлять их разом в сравнение...а то что галочка,что кнопка - функционал один

Цитировать
Предлагаю уважаемому morph сделать свой механизм (для 1.5) бесплатным ...
под 1.5 и бесплатность не знаю...но все основные мои модификации и alex0802 будут в joostina

*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #6 : 11.02.2010, 18:15:04 »
по поводу версии не подскажу. давно начал переделывать, а потом забылось. потом снова начал и, возможно, уже на устаревшей версии.
а чекбоксом, как по мне, очень удобно пользоваться. сделано по примеру платного расширения от virtuemart-extensions.com

шаблонизатор делать было некогда, хотя это совсем не сложно. в плане настроек, чего не хватает?
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #7 : 12.02.2010, 18:56:10 »
Ведутся работы над расширением для Joomla 1.5.x
Пока достаточно успешно решаются проблемы. Но ещё не работает :) нужно время.
*

nestro

  • Новичок
  • 1
  • 0 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #8 : 13.02.2010, 03:04:15 »
не работает Joomla 1.0.15 virt 1.1.12 ни локально ни на хосте,ставил в точном соответствии с инструкцией
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #9 : 14.02.2010, 03:13:37 »
что именно не работает? не появляется чекбокс или после нажатия ничего не происходит?
ЗЫ отвечу через неделю, сейчас уезжаю.
*

morph

  • Давно я тут
  • 923
  • 105 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #10 : 14.02.2010, 07:21:46 »
сравнивать можно по нескольким типам.
пока без аякса и почих приблуд и только для списка товаров
основано на последней модификации от tug

1.1.4 вирт, жумла 1.5.15 нейтив.
пробуем

пока скачать здесь,а то upload переполнена ^-^
*

myreg12345

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #11 : 19.02.2010, 13:00:05 »
2 morph
Все работает! Спасибо большое! :)

А можно как-нибудь добавить кнопку "очистить все" (чтобы если были выбраны для сравнения товары нескольких типов, то можно было бы их одной кнопкой из модуля сравнения удалить...а не нажимать под каждым типом товара "очистить")
*

BelStudent

  • Новичок
  • 7
  • 0 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #12 : 19.02.2010, 17:44:16 »
Сделал всё как нужно. Но почему-то модуль показывает только "Текст" и ничего более, в чем может быть косяк? Если честно я пока вообще не понимаю как он должен работать. Как должно осуществляться сравнение и как выбирать товары для сравнения?
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #13 : 26.02.2010, 18:47:22 »
Здрасте всем. Сделал для Joomla 1.5.x. Тестировалось на Joomla 1.5.15 и VirtueMart 1.1.4
Ссылки в первом сообщении.

Для тех у кого ничего не работало: возможно вы не прописали тип товара. в этом случае и сравнивать нечего.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
« Последнее редактирование: 01.03.2010, 08:28:33 от terr »
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #15 : 01.03.2010, 00:00:10 »
2 terr: а можно поподробнее? что стоит и что устанавливалось? ну и пример можно, ато данная ссылки не пашет.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #16 : 01.03.2010, 08:27:16 »
ставил хак comprasion файл shop.browse.php ставлю старый файл родной все норм, ставлю закнутый, сравнение есть а вот стандартный выход на товар иои подробнее о товаревыводит ету сссылку, хотя если заходить через сравнение в товар то все норм

Код
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* This is the Main Product Listing File!
*
* @version $Id: shop.browse.php 1847 2009-07-11 13:15:14Z tkahl $
* @package VirtueMart
* @subpackage html
* @copyright Copyright (C) 2004-2009 soeren - 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__ );

// load important class files
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_files.php");
require_once (CLASSPATH."ps_reviews.php");
require_once (CLASSPATH."imageTools.class.php");
require_once (CLASSPATH."PEAR/Table.php");
require_once(CLASSPATH . 'ps_product_attribute.php' );
$ps_product_attribute = new ps_product_attribute;

$Itemid = $sess->getShopItemid();
$keyword1 = $vmInputFilter->safeSQL( urldecode(vmGet( $_REQUEST, 'keyword1', null )));
$keyword2 = $vmInputFilter->safeSQL( urldecode(vmGet( $_REQUEST, 'keyword2', null )));

$search_op= $vmInputFilter->safeSQL( vmGet( $_REQUEST, 'search_op', null ));
$search_limiter= $vmInputFilter->safeSQL( vmGet( $_REQUEST, 'search_limiter', null ));

if (empty($category_id)) $category_id = $search_category;

$default['category_flypage'] = FLYPAGE;

$db_browse = new ps_DB;
$dbp = new ps_DB;
// NEW: Include the query section from an external file
// If settings are loaded, extended Classes are allowed and the user_class/shop_browse_queries.php exisits...
if (!defined('VM_ALLOW_EXTENDED_CLASSES') && file_exists(dirname(__FILE__).'/../virtuemart.cfg.php')) include_once(dirname(__FILE__).'/../virtuemart.cfg.php');
if (defined('VM_ALLOW_EXTENDED_CLASSES') && defined('VM_THEMEPATH') && VM_ALLOW_EXTENDED_CLASSES && file_exists(VM_THEMEPATH.'user_class/shop_browse_queries.php')) {
// Load the theme-user_class shop_browse_queries.php
require_once( VM_THEMEPATH.'user_class/shop_browse_queries.php' );
} else {
require_once( PAGEPATH. "shop_browse_queries.php" );
}


$db_browse->query( $count );

$num_rows = $db_browse->f("num_rows");

if( $limitstart > 0 && $limit >= $num_rows) {

$list = str_replace( 'LIMIT '.$limitstart, 'LIMIT 0', $list );
}
if( $category_id ) {
/**
    * CATEGORY DESCRIPTION
    */
$db->query( "SELECT category_id, category_name FROM #__{vm}_category WHERE category_id='$category_id'");
$db->next_record();
$category_name = shopMakeHtmlSafe( $db->f('category_name') );

// Set Dynamic Page Title
$vm_mainframe->setPageTitle( $db->f("category_name") );

$desc =  $ps_product_category->get_description($category_id);
$desc = vmCommonHTML::ParseContentByPlugins( $desc );
// Prepend Product Short Description Meta Tag "description" when applicable
$mainframe->prependMetaTag( "description", substr(strip_tags($desc ), 0, 255) );

}
// when nothing has been found we tell this here and say goodbye
if ($num_rows == 0 && (!empty($keyword)||!empty($keyword1))) {
echo $VM_LANG->_('PHPSHOP_NO_SEARCH_RESULT');
}
elseif( $num_rows == 0 && empty($product_type_id) && !empty($child_list)) {
echo $VM_LANG->_('EMPTY_CATEGORY');
}

elseif( $num_rows == 1 && ( !empty($keyword) || !empty($keyword1) ) ) {
// If just one product has been found, we directly show the details page of it
$db_browse->query( $list );
$db_browse->next_record();
$flypage = $db_browse->sf("category_flypage")? $db_browse->sf("category_flypage") : FLYPAGE;

$url_parameters = "page=shop.product_details&amp;flypage=$flypage&amp;product_id=" . $db_browse->f("product_id"). "&amp;category_id=" . $db_browse->f("category_id");
vmRedirect( $sess->url($url_parameters, true, false ) );
}
else {
// NOW START THE PRODUCT LIST
$tpl = vmTemplate::getInstance();

if( $category_id ) {
/**
   * CATEGORY DESCRIPTION
   */
$browsepage_lbl = $category_name;
$tpl->set( 'browsepage_lbl', $browsepage_lbl );

$tpl->set( 'desc', $desc );

$category_childs = $ps_product_category->get_child_list($category_id);
$tpl->set( 'categories', $category_childs );
$navigation_childlist = $tpl->fetch( 'common/categoryChildlist.tpl.php');
$tpl->set( 'navigation_childlist', $navigation_childlist );

// Set up the CMS pathway
$category_list = array_reverse( $ps_product_category->get_navigation_list($category_id) );
$pathway = $ps_product_category->getPathway( $category_list );
$vm_mainframe->vmAppendPathway( $pathway );

$tpl->set( 'category_id', $category_id );
$tpl->set( 'category_name', $category_name );

$browsepage_header = $tpl->fetch( 'browse/includes/browse_header_category.tpl.php' );

}
elseif( $manufacturer_id) {
$db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
$db->next_record();
$mainframe->setPageTitle( $db->f("mf_name") );

$browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
$tpl->set( 'browsepage_lbl', $browsepage_lbl );
$browsepage_lbltext = $db->f("mf_desc");
$tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
$browsepage_header = $tpl->fetch( 'browse/includes/browse_header_manufacturer.tpl.php' );
}
elseif( $keyword ) {
$mainframe->setPageTitle( $VM_LANG->_('PHPSHOP_SEARCH_TITLE',false) );
$browsepage_lbl = $VM_LANG->_('PHPSHOP_SEARCH_TITLE').': '.shopMakeHtmlSafe( $keyword );
$tpl->set( 'browsepage_lbl', $browsepage_lbl );

$browsepage_header = $tpl->fetch( 'browse/includes/browse_header_keyword.tpl.php' );
}
else {
$mainframe->setPageTitle( $VM_LANG->_('PHPSHOP_BROWSE_LBL',false) );#
$browsepage_lbl = $VM_LANG->_('PHPSHOP_BROWSE_LBL');
$tpl->set( 'browsepage_lbl', $browsepage_lbl );

$browsepage_header = $tpl->fetch( 'browse/includes/browse_header_all.tpl.php' );
}
$tpl->set( 'browsepage_header', $browsepage_header );

if (!empty($product_type_id) && @$_REQUEST['output'] != "pdf") {
$tpl->set( 'ps_product_type', $ps_product_type);
$tpl->set( 'product_type_id', $product_type_id);
$parameter_form = $tpl->fetch( 'browse/includes/browse_searchparameter_form.tpl.php' );
}
else {
$parameter_form = '';
}
$tpl->set( 'parameter_form', $parameter_form );

// Decide whether to show the limit box
$show_limitbox = ( $num_rows > 5 && @$_REQUEST['output'] != "pdf" );
$tpl->set( 'show_limitbox', $show_limitbox );

// Decide whether to show the top navigation
$show_top_navigation = ( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit );
$tpl->set( 'show_top_navigation', $show_top_navigation );

// Prepare Page Navigation
require_once( CLASSPATH . 'pageNavigation.class.php' );
$pagenav = new vmPageNav( $num_rows, $limitstart, $limit );
$tpl->set( 'pagenav', $pagenav );

$search_string = '';
if ( $num_rows > 1 && @$_REQUEST['output'] != "pdf") {
if ( $num_rows > 5 ) { // simplified logic
$search_string = $mm_action_url."index.php?option=com_virtuemart&amp;Itemid=$Itemid&amp;category_id=$category_id&amp;page=$modulename.browse";
$search_string .= empty($manufacturer_id)? '' : "&amp;manufacturer_id=$manufacturer_id";
$search_string .= empty($keyword)? '' : '&amp;keyword='.urlencode( $keyword );
if (!empty($keyword1)) {
$search_string.="&amp;keyword1=".urlencode($keyword1);
$search_string.="&amp;search_category=".urlencode($search_category);
$search_string.="&amp;search_limiter=$search_limiter";
if (!empty($keyword2)) {
$search_string.="&amp;keyword2=".urlencode($keyword2);
$search_string.="&amp;search_op=".urlencode($search_op);
}
}

if (!empty($product_type_id)){
foreach($_REQUEST as $key => $value){
if (substr($key, 0,13) == "product_type_"){
$val = vmGet($_REQUEST, $key );
if( is_array( $val )) {
foreach( $val as $var ) {
$search_string .="&".$key."[]=".urlencode($var);
}
} else {
$search_string .="&".$key."=".urlencode($val);
}
}
}
}

}

$tpl->set( 'VM_BROWSE_ORDERBY_FIELDS', $VM_BROWSE_ORDERBY_FIELDS);

   if ($DescOrderBy == "DESC") {
       $icon = "sort_desc.png";
       $selected = Array( "selected=\"selected\"", "" );
  $asc_desc = Array( "DESC", "ASC" );
}
else {
  $icon = "sort_asc.png";
       $selected = Array( "", "selected=\"selected\"" );
       $asc_desc = Array( "ASC", "DESC" );
   }
$tpl->set( 'orderby', $orderby );
$tpl->set( 'icon', $icon );
$tpl->set( 'selected', $selected );
$tpl->set( 'asc_desc', $asc_desc );
$tpl->set( 'category_id', $category_id );
$tpl->set( 'manufacturer_id', $manufacturer_id );
$tpl->set( 'keyword', urlencode( $keyword ) );
$tpl->set( 'keyword1', urlencode( $keyword1 ) );
$tpl->set( 'keyword2', urlencode( $keyword2 ) );
$tpl->set( 'Itemid', $Itemid );

if( $show_top_navigation ) {
$tpl->set( 'search_string', $search_string );
}

$orderby_form = $tpl->fetch( 'browse/includes/browse_orderbyform.tpl.php' );
$tpl->set( 'orderby_form', $orderby_form );
    }
    else {
     $tpl->set( 'orderby_form', '' );
    }

$db_browse->query( $list );
$db_browse->next_record();

$products_per_row = (!empty($category_id))? $db_browse->f("products_per_row") : PRODUCTS_PER_ROW;

if( $products_per_row < 1 ) {
$products_per_row = 1;
}
$buttons_header = '';
/**
*   Start caching all product details for a later loop
*
**/
if(@$_REQUEST['output'] != "pdf") {

// Show the PDF, Email and Print buttons
$tpl->set('option', $option);
$tpl->set('category_id', $category_id );
$tpl->set('product_id', $product_id );
$buttons_header = $tpl->fetch( 'common/buttons.tpl.php' );

$templatefile = (!empty($category_id))? $db_browse->f("category_browsepage") : CATEGORY_TEMPLATE;
if( $templatefile == 'managed' ) {
// automatically select the browse template with the best match for the number of products per row
$templatefile = file_exists(VM_THEMEPATH.'templates/browse/browse_'.$products_per_row.'.php' )
? 'browse_'.$products_per_row
: 'browse_5';
} elseif( !file_exists(VM_THEMEPATH.'templates/browse/'.$templatefile.'.php')) {
$templatefile = 'browse_5';
}
}
else {
$templatefile = "browse_lite_pdf";
}

$tpl->set( 'buttons_header', $buttons_header );

$tpl->set('products_per_row', $products_per_row );
$tpl->set('templatefile', $templatefile );

$db_browse->reset();

$products = array();
$counter = 0;
/*** Start printing out all products (in that category) ***/
while ($db_browse->next_record()) {

// If it is item get parent:
$product_parent_id = $db_browse->f("product_parent_id");
if ($product_parent_id != 0) {
$dbp->query("SELECT product_full_image,product_thumb_image,product_name,product_s_desc FROM #__{vm}_product WHERE product_id='$product_parent_id'" );
$dbp->next_record();
}

// Set the flypage for this product based on the category.
// If no flypage is set then use the default as set in virtuemart.cfg.php
$flypage = $db_browse->sf("category_flypage");

if (empty($flypage)) {
            $flypage = FLYPAGE;
        }
        $url_parameters = "page=shop.product_details&amp;flypage=$flypage&amp;product_id=" . $db_browse->f("product_id"). "&amp;category_id=" . $db_browse->f("category_id");
        if( $manufacturer_id ) {
         $url_parameters .= "&amp;manufacturer_id=" . $manufacturer_id;
        }
        if( $keyword != '') {
         $url_parameters .= "&amp;keyword=".urlencode($keyword);
        }
        $url = $sess->url( $url_parameters .'?'. $mm_action_url );

        // Price: xx.xx EUR
if (_SHOW_PRICES == '1' && $auth['show_prices']) {
$product_price = $ps_product->show_price( $db_browse->f("product_id") );
}
else {
$product_price = "";
}
// @var array $product_price_raw The raw unformatted Product Price in Float Format
$product_price_raw = $ps_product->get_adjusted_attribute_price($db_browse->f('product_id'));

// i is the index for the array holding all products, we need to show. to allow sorting by discounted price,
// we need to use the price as first part of the index name!
$i = $product_price_raw['product_price'] . '_' . ++$counter;

        if( $db_browse->f("product_thumb_image") ) {
            $product_thumb_image = $db_browse->f("product_thumb_image");
}
else {
if( $product_parent_id != 0 ) {
$product_thumb_image = $dbp->f("product_thumb_image"); // Use product_thumb_image from Parent Product
}
else {
$product_thumb_image = 0;
}
}
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)."&amp;newxsize=".PSHOP_IMG_WIDTH."&amp;newysize=".PSHOP_IMG_HEIGHT."&amp;fileout=";
}
elseif( !file_exists( IMAGEPATH."product/".$product_thumb_image )) {
                    $product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE;
                }
}
}
else {
$product_thumb_image = VM_THEMEURL.'images/'.NO_IMAGE;
}

// Get the full image path, or URL if set, or the no_image
if( $db_browse->f("product_full_image") ) {
$product_full_image = $db_browse->f("product_full_image");
} elseif( $product_parent_id != 0 ) {
$product_full_image = $dbp->f("product_full_image"); // Use product_full_image from Parent Product
}
else {
$product_full_image = VM_THEMEURL . 'images/' . NO_IMAGE;

// Get the size information for the no_image
if( file_exists( VM_THEMEPATH . 'images/' . NO_IMAGE ) ) {
$full_image_info = getimagesize( VM_THEMEPATH . 'images/' . NO_IMAGE );
$full_image_width = $full_image_info[0]+40;
$full_image_height = $full_image_info[1]+40;
}
}

// Get image size information and add the full URL
if( substr( $product_full_image, 0, 4)!= 'http' ) {
// This is a local image
if( file_exists( IMAGEPATH . 'product/' . $product_full_image ) ) {
$full_image_info = getimagesize( IMAGEPATH . 'product/' . $product_full_image );
$full_image_width = $full_image_info[0]+40;
$full_image_height = $full_image_info[1]+40;
}

$product_full_image = IMAGEURL . 'product/' . $product_full_image;
} elseif( !isset( $full_image_width ) || !isset( $full_image_height ) ) {
// This is a URL image
$full_image_info = @getimagesize( $product_full_image );
$full_image_width = $full_image_info[0]+40;
$full_image_height = $full_image_info[1]+40;
}

$files = ps_product_files::getFilesForProduct( $db_browse->f('product_id') );
$products[$i]['files'] = $files['files'];
$products[$i]['images'] = $files['images'];

$product_name = $db_browse->f("product_name");
if( $db_browse->f("product_publish") == "N" ) {
$product_name .= " (". $VM_LANG->_('CMN_UNPUBLISHED',false).")";
}

if( empty($product_name) && $product_parent_id!=0 ) {
$product_name = $dbp->f("product_name"); // Use product_name from Parent Product
}
$product_s_desc = $db_browse->f("product_s_desc");
if( empty($product_s_desc) && $product_parent_id!=0 ) {
$product_s_desc = $dbp->f("product_s_desc"); // Use product_s_desc from Parent Product
}
$product_details = $VM_LANG->_('PHPSHOP_FLYPAGE_LBL');

if (PSHOP_ALLOW_REVIEWS == '1' && @$_REQUEST['output'] != "pdf") {
// Average customer rating: xxxxx
       // Total votes: x
$product_rating = ps_reviews::allvotes( $db_browse->f("product_id") );
}
else {
$product_rating = "";
}

// Add-to-Cart Button
if (USE_AS_CATALOGUE != '1' && $product_price != ""
&& $tpl->get_cfg( 'showAddtocartButtonOnProductList' )
&& !stristr( $product_price, $VM_LANG->_('PHPSHOP_PRODUCT_CALL') )
&& !ps_product::product_has_attributes( $db_browse->f('product_id'), true )) {

$tpl->set( 'i', $i );
$tpl->set( 'product_id', $db_browse->f('product_id') );
$tpl->set( 'product_in_stock', $db_browse->f('product_in_stock') );
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
$products[$i]['form_addtocart'] = $tpl->fetch( 'browse/includes/addtocart_form.tpl.php' );
$products[$i]['has_addtocart'] = true;
}
else {
$products[$i]['form_addtocart'] = '';
$products[$i]['has_addtocart'] = false;
}

// Add-to-Comparison Button
$dbt = new ps_DB;
$q = "SELECT product_type_id FROM #__{vm}_product_product_type_xref WHERE product_id = '".$db_browse->f("product_id")."'";
$dbt->SetQuery($q);
$product_type_id = $dbt->loadResult();
if( !empty($product_type_id) ) {
if( is_array($_SESSION['compare'][$product_type_id]) && in_array($db_browse->f("product_id"), $_SESSION['compare'][$product_type_id]) ) {
$products[$i]['form_addtocartcomparison'] = $VM_LANG->_('COMPARISON_COMPARE_ADD');
}
else {
$tpl->set( 'product_id', $db_browse->f('product_id') );
$products[$i]['form_addtocartcomparison'] = $tpl->fetch( 'browse/includes/addtocartcomparison_form.tpl.php' );
$products[$i]['has_addtocartcomparison'] = true;

}
}
else {
$products[$i]['form_addtocartcomparison'] = '';
$products[$i]['has_addtocartcomparison'] = false;
}

$products[$i]['product_flypage'] = $url;
$products[$i]['product_thumb_image'] = $product_thumb_image;
$products[$i]['product_full_image'] = $product_full_image;
$products[$i]['full_image_width'] = $full_image_width;
$products[$i]['full_image_height'] = $full_image_height;

// Unset these for the next product
unset($full_image_width);
unset($full_image_height);

$products[$i]['product_name'] = shopMakeHtmlSafe( $product_name );
$products[$i]['product_s_desc'] = $product_s_desc;
$products[$i]['product_details'] = $product_details;
$products[$i]['product_rating'] = $product_rating;
$products[$i]['product_price'] = $product_price;
$products[$i]['product_price_raw'] = $product_price_raw;
$products[$i]['product_sku'] = $db_browse->f("product_sku");
$products[$i]['product_weight'] = $db_browse->f("product_weight");
$products[$i]['product_weight_uom'] = $db_browse->f("product_weight_uom");
$products[$i]['product_length'] = $db_browse->f("product_length");
$products[$i]['product_width'] = $db_browse->f("product_width");
$products[$i]['product_height'] = $db_browse->f("product_height");
$products[$i]['product_lwh_uom'] = $db_browse->f("product_lwh_uom");
$products[$i]['product_in_stock'] = $db_browse->f("product_in_stock");
$products[$i]['product_available_date'] = $VM_LANG->convert( vmFormatDate($db_browse->f("product_available_date"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['product_availability'] = $db_browse->f("product_availability");
$products[$i]['cdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("cdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['mdate'] = $VM_LANG->convert( vmFormatDate($db_browse->f("mdate"), $VM_LANG->_('DATE_FORMAT_LC') ));
$products[$i]['product_url'] = $db_browse->f("product_url");

} // END OF while loop

// Need to re-order here, because the browse query doesn't fetch discounts
if( $orderby == 'product_price' ) {
if ($DescOrderBy == "DESC") {
// using krsort when the Array must be sorted reverse (Descending Order)
krsort($products, SORT_NUMERIC);
} else {
// using ksort when the Array must be sorted in ascending order
ksort($products, SORT_NUMERIC);
}
}
$tpl->set( 'products', $products );
$tpl->set( 'search_string', $search_string );

if ( $num_rows > 1 ) {
$browsepage_footer = $tpl->fetch( 'browse/includes/browse_pagenav.tpl.php' );
$tpl->set( 'browsepage_footer', $browsepage_footer );
} else {
$tpl->set( 'browsepage_footer', '' );
}


$recent_products = $ps_product->recentProducts(null,$tpl->get_cfg('showRecent', 5));
$tpl->set('recent_products',$recent_products);

$tpl->set('ps_product',$ps_product);

echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) );
}
?>


http://kuler.tehnoural.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=289&Itemid=56

папробуй сам протестить
и еще
Цитировать
Товары типа «Кулеры», добавленные для сравнения
Подбор товара по типу «Кулеры»
Ето памойму лишние, как убрать ссылку, а "Товары типа «Кулеры», добавленные для сравнения" видимо в языковом файле паменять можно, но как выставить насередину))))
« Последнее редактирование: 01.03.2010, 09:14:50 от terr »
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #17 : 01.03.2010, 11:23:06 »
посмотрел. это не моя версия сравнения. пробуй файлы указанные в первом сообщении. только потбери под свою версию Joomla.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #18 : 01.03.2010, 13:21:54 »
Модуль отображается вот так

Цитировать
Shows products, that customer add to comparison. Если модуль отключен то не будут отображатся чекбоксы возле товара для добавления сравнения (после перезагрузки браузера)

ето что за кодировка такая не в ansi не в utf8 не пашет нормально бд у меня cp1251

Вобщем такая же беда и с вашим хаком
ссылку выводит неправельную
+ кодировка непанятная у файла

Вобщем с кодировкоми лажа какаято, скажите файл где прописыны все текстовые имена на русском попробую кодировку изменить

joomla кстати 1,5,14 virt 1.1.3

------------------

А ето так Joomla 1.0.15 ругается на модуль
Цитировать
Загрузка module - загрузка неудачна
ОШИБКА: В установочном пакете невозможно найти XML-файл установки Joomla.
для обоих версий использовал только их версии модуля сравнения
« Последнее редактирование: 01.03.2010, 13:57:06 от terr »
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #19 : 01.03.2010, 16:22:22 »
Немного подправил модуль, надеюсь проблему с кодировкой решит. Для Joomla 1.0.15 тоже исправил.
А проблема с сылкой скорей всего из-за различий версий VM. я выложил файлы для 1.1.4, а у тебя 1.1.3. Пробуй установочную версию с инструкцией (там где нужно самому править код) comparison.j15(1.03.10).zip. Это должно помочь. Жду результатов ;)
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #20 : 01.03.2010, 17:17:37 »
оке я ето как протрезвею протестю))) а то чот напился))
исходники все на теже фалообменниках?
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #21 : 01.03.2010, 17:48:59 »
исходники уже на форуме
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #22 : 01.03.2010, 21:18:44 »
вот давай не торопится comparison.j15(1.03.10) ето для воблы 1,0, ххх
прокоментируй ссылкикометируй что де а то путаница)

я даж папьяни вижу)))
в реад ме напиши какая версия Joomla марта, а то все одинаковы запутется народ)))
« Последнее редактирование: 01.03.2010, 21:23:53 от terr »
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #23 : 01.03.2010, 22:43:11 »
в самом первом сообщении написано какой архив для какой версии и что в себе содержит. как дополнение .j15 означает, что это доя Joomla 1.5 (чтоб проще было). Следовательно comparison.j15(1.03.10) - это для Joomla 1.5. Тебе на какую версию именно сейчас нужно?
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #24 : 02.03.2010, 17:04:18 »
версия  1,0,х не инсталируецо модуль))))
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #25 : 03.03.2010, 13:28:11 »
для 1.0.х подправил. как обстоят дела с кодировкой для 1.5.х??
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #26 : 03.03.2010, 17:36:22 »
c кодировкой то теперь все норм))) ав вот что делать с сылкой на товар
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #27 : 03.03.2010, 17:37:45 »
ща папробую перезалить  стандартное расширение патом твое ио отпишу результат

Ну все перекодировал все файлы по интсрукции все пашет, чувак ты гений мне б мозги такие))))

1,0,15 лдоомла буду папожа тестить))))
« Последнее редактирование: 03.03.2010, 18:12:47 от terr »
*

Bear

  • Захожу иногда
  • 67
  • 11 / 0
Re: Сравнения товара в VM 1.1.X
« Ответ #28 : 03.03.2010, 22:07:21 »
спасибо. жду дальнейшие отзывы и, возможно, пожелания.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Сравнения товара в VM 1.1.X
« Ответ #29 : 04.03.2010, 07:14:07 »
1,0,15 добавляем функции шоп, он мне почемут написал имя функции уже существует но приетом список функций пуст
У тебя какая версия viruemarte на joomla  1.0.15  а то вот у маева вирта нету такого пути components\com_virtuemart\themes\default\templates\
« Последнее редактирование: 04.03.2010, 12:07:22 от terr »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 21264
Последний ответ 13.06.2013, 01:04:46
от richman
[Решено] цена товара в базе в долларах а на сайте в рублях V1.0.15 V1.1.3

Автор rnr

Ответов: 33
Просмотров: 24027
Последний ответ 18.10.2012, 07:58:25
от festLethal
[Решено] Габариты и Вес товара во flypage V1.1.3

Автор dvtimofei

Ответов: 51
Просмотров: 18165
Последний ответ 21.08.2012, 14:25:08
от VsVoland
Автоматический расчет цена в зависимости от веса товара

Автор yura1off

Ответов: 0
Просмотров: 1475
Последний ответ 06.12.2011, 10:30:34
от yura1off
вывод одного товара стоит 15 запросов

Автор ptipti

Ответов: 4
Просмотров: 5275
Последний ответ 04.10.2011, 11:19:28
от MihailL