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

voodoo doll

  • Осваиваюсь на форуме
  • 13
  • 4 / 0
Не кидайтесь в меня камнями - темку http://joomlaforum.ru/index.php/topic,8627.msg373467.html#msg373467 прочла...
Ситуация такая. VirtueMart 1.1.2. Необходимо в подробном описании товара в блоке "Сопутствующие товары" вывести товар по 2 штуки в строке (всего 4 по умолчанию). Как это реализовать? В вышеупомянутой теме что-то подобное есть... Но...
В shop.product_details.php имею следующее:

// 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_products = '';
if( $db->num_rows() > 0 ) {
   $tpl->set( 'ps_product', $ps_product );
   $tpl->set( 'products', $db );
   $related_products = $tpl->fetch( '/common/relatedProducts.tpl.php' );
}




и есть файл relatedProducts.tpl:

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

<hr/>

<h3><?php echo $VM_LANG->_('PHPSHOP_RELATED_PRODUCTS_HEADING') ?></h3>
 
<table width="100%" align="center">
   <tr>
    <?php
    while( $products->next_record() ) { ?>
         <td valign="top">
            <?php echo $ps_product->product_snapshot( $products->f('product_sku') ) ?>
         </td>
   <?php
    }
   ?>
    </tr>
</table>


Люди добрые, что где поменять надо? Мозг взорван...  :'(
*

peHa

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
voodoo doll,
1) в shop.product_details.php ничего не меняй. У тебя уже установлен лимит в 4 сопутствующих товара.
Код
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4";

2) полностью меняй код relatedProducts.tpl на следующий:
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

$product_per_row = 2;
$next_record = True;

$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\">\n";
  while( $next_record ) {
    $related_product_html .= "<tr>";
    for( $i = 0; $i < $product_per_row; $i++) {
        $next_record = $db->next_record();
        if ($next_record == false) {
          break;
        }
      $related_product_html .= "<td valign=\"top\">".$ps_product->product_snapshot( $db->f('product_sku') )."</td>\n";
    }
    $related_product_html .= "</tr>";
  }
  $related_product_html .= "</table>\n";
}

Сам на себе не проверял, поэтому сохрани копию relatedProducts.tpl.
Взято отсюда: http://joomlaforum.ru/index.php/topic,8627.0.html

Для версии 1.1.3 надо сделать 2 вещи:

1. В administrator\components\com_VirtueMart\html\shop.product_details.php
Код
// 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";
в последней строке "4" меняем на нужное число.

2. В components\com_VirtueMart\themes\default\templates\common\relatedProducts.tpl.php 
вместо
Код
<table width="100%" align="center">
<tr>
    <?php
    while( $products->next_record() ) {
               
            ?>
             <if($i%4==0) $related_products ="<tr>\n\n";>
      <td valign="top">
      <?php echo $ps_product->product_snapshot( $products->f('product_sku') ) ?>
      </td>             
      <?php
             $i++;
             if($i%4==0&&$i>0)$related_products ="<tr>\n\n";
    }     
?>
    </tr>
</table>

ставим это
Код
<table width="100%" align="center">  
  <tr> 
  <?php   
  $relatedproductcount = 0;   
  while( $products->next_record() ) {   
  if ($relatedproductcount == 2){ // SET this value to desired max items per row 
  ?>   
  </tr><tr> 
      <td valign="top"> 
     <?php echo $ps_product->product_snapshot( $products->f('product_sku') ); 
     $relatedproductcount = 1; 
     } else {?> 
     <td valign="top"> 
     <?php echo $ps_product->product_snapshot( $products->f('product_sku') ); 
     $relatedproductcount++; } ?> 
     </td> 
     <?php  } ?> 
  </tr> 
 </table>

У меня работает.
*

coralclubint

  • Новичок
  • 7
  • 0 / 0
А можно ли сделать такое же только без VirtueMart?
Т.е. есть статьи и хотелось бы выводить что-то вроде: "Также будет интересно почитать..."
*

baloon

  • Захожу иногда
  • 369
  • 13 / 0
Вид сопутствующих товаров можно редактировать здесь - components\com_virtuemart\themes\default\templates\common\productsnapshot.tpl.php
Я, например, сделал название товара ссылкой.

Оооо... baloon, Дружище, огромное спасибо! Уже неделю ломаю мозг, где настроить эти отступы: <div style="height:77px; float:left; width: 100%;line-height:14px;"> и т.п.
Одним словом - Спасибо!
*

motor1

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
а может кто знает как сделать вывод сопутствующий товар в таблице ?
например
   фтрма          артикул          описание      наличие   цена   купить
Малайзия          CH-S 18         табуретка       5         890    -0+ купить

Сопутствующий товар
     фтрма          артикул                    описание               наличие   цена     купить
Малайзия              25                       спрей по уходу           100        50     -0+ купить

вот пример с картинкой

вот так сейчас



а нужно так

« Последнее редактирование: 21.10.2011, 18:58:37 от motor1 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужно вывести случайные товары на главную Joomla

Автор manowar

Ответов: 3
Просмотров: 4670
Последний ответ 13.12.2016, 12:41:12
от vitaliypoli
Описание категории опустить под товары

Автор angelo4ek-001

Ответов: 5
Просмотров: 1840
Последний ответ 12.11.2015, 01:53:39
от fsv
Вывод производителя не как ссылка

Автор StivinKing

Ответов: 1
Просмотров: 1257
Последний ответ 12.11.2014, 03:34:56
от evgen777
Вывод модуля везде, кроме определенных категорий

Автор katjuha6

Ответов: 18
Просмотров: 3875
Последний ответ 13.01.2014, 15:24:40
от Fedor Vlasenko
Убрать Недавно просмотренные товары

Автор newjey

Ответов: 48
Просмотров: 33575
Последний ответ 02.12.2013, 17:27:56
от Goofa