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

kaprikorn

  • Осваиваюсь на форуме
  • 39
  • 4 / 0
  • www.cleverscript.ru
Здравствуйте, столкнулся с проблемой в VirtueMart 2.0.2, не могу найти как вывести кнопку "Добавить в корзину" у товара в списке категории, т.е чтобы пользователь не заходя на страницу товара (productdetails), мог добавить товар в корзину.

В более ранних версиях с этим проблем небыло,  а в 2.0.2 , не могу найти опцию в настройках где это включить. Ну и вообще просмотрев код шаблона "category" не увидел там подключения этой кнопки\формы.
Неужели в этой версии VirtueMart, убрали такую возможность?
Подскажите как решить этот вопрос, спасибо!
*

kaprikorn

  • Осваиваюсь на форуме
  • 39
  • 4 / 0
  • www.cleverscript.ru
Так и не нашел прямой способ как это сделать из админки, пришлось внедрять код

Это добавить в файл категории:

Код
<?php
<div class="addtocart-area">
  <form id="product-f-<?php echo $product->virtuemart_product_id; ?>" method="post" class="product-f js-recalculate" action="index.php">
    <div class="addtocart-bar">
      <?php // Display the quantity box END ?>
      <span class="addtocart-button">
        <input type="submit" name="addtocart"  class="add-to-cart" value="В корзину"/>
      </span>
 
      </div>
      <?php // Display the add to cart button END  ?>
      <input type="hidden"  name="quantity[]" value="1" />
      <input type="hidden" class="pname" value="<?php echo $product->product_name ?>" />
      <input type="hidden" name="option" value="com_virtuemart" />
      <input type="hidden" name="view" value="cart" />
      <input type="hidden" name="task" value="addJS"/>
      <input type="hidden" name="nosef" value="1"/>
      <input type="hidden" name="lang" value="ru"/>
      <input type="hidden" name="format" value="json"/>
      <noscript><input type="hidden" name="task" value="add" /></noscript>
      <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
      <?php /** @todo Handle the manufacturer view */ ?>
      <input type="hidden" name="virtuemart_manufacturer_id" value="<?php echo $product->virtuemart_manufacturer_id ?>" />
      <input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
    </form>
</div>
?>

Это в шаблон:

Код
jQuery.noConflict();
 
  jQuery(document).ready(function($) {
 
    jQuery(".product-f").each(function(index,value){
 
      jQuery(this).submit(function(e){
        e.preventDefault();
        var m_id = jQuery(this).attr('id');
 
        var m_method = jQuery(this).attr('method');
        var m_action = jQuery(this).attr('action');
        var m_data = jQuery(this).serialize();
 
        jQuery.ajax({
          method: m_method,
          url: m_action,
          data: m_data,
          dataType: 'json',
          success: function(result){
            //console.log(result);
          }
        });
      });
 
    });
 
  });

Подробнее описал здесь: http://cleverscript.ru/cms/joomla/64-virtuemart-add-to-cart-bottom-from-category.html
*

Polosat

  • Захожу иногда
  • 202
  • 7 / 0
  • Мечты - это то, из чего сделано будущее
интересное решение, а не подскажите где править само всплывающее окно (при кнопке купить), не найду в каком место оно лежит.
*

sasha8888

  • Осваиваюсь на форуме
  • 46
  • 4 / 0
интересное решение, а не подскажите где править само всплывающее окно (при кнопке купить), не найду в каком место оно лежит.

что именно интересует по нему? оно в JS скриптах генерируется в двух файлах components/com_virtuemart/assets/js/facebox.js и components/com_virtuemart/assets/js/vmprices.js

P.S. начиная с последних версий почти полностью лежит оно здесь - components/com_virtuemart/views/cart/tmpl/padded.php
« Последнее редактирование: 18.08.2014, 01:58:12 от sasha8888 »
*

felix.dz

  • Новичок
  • 1
  • 0 / 0
Так и не нашел прямой способ как это сделать из админки, пришлось внедрять код
...
Спасибо за код.
Я вставил только в категорию чуть исправленный
Код: php
<div class="addtocart-area">

<form method="post" class="product js-recalculate" action="<?php echo JRoute::_ ('index.php'); ?>">

<?php // Display the add to cart button ?>

<span class="addtocart-button">
<?php echo shopFunctionsF::getAddToCartButton ($product->orderable); ?>
</span>

<div class="clear"></div>

<?php // Display the add to cart button END  ?>
<input type="hidden"  name="quantity[]" value="1" />
<input type="hidden" class="pname" value="<?php echo $product->product_name ?>"/>
<input type="hidden" name="option" value="com_virtuemart"/>
<input type="hidden" name="view" value="cart"/>
<noscript><input type="hidden" name="task" value="add"/></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>"/>
</form>

<div class="clear"></div>
</div>

и в шаблоне не дописывал про jQuery.
Вроде бы всё работает. VM2.0.12b
*

mogutov666

  • Осваиваюсь на форуме
  • 29
  • 2 / 3
разобрался
« Последнее редактирование: 23.10.2012, 21:18:15 от mogutov666 »
*

Cerhio

  • Захожу иногда
  • 109
  • 2 / 0
Решение с оф. форума VirtueMart. Добавляется в файл вида категории

Код
<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
<?php // Product custom_fields
if (!empty($this->product->customfieldsCart)) {  ?>
<div class="product-fields">
<?php foreach ($this->product->customfieldsCart as $field)
{ ?><div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field_type ?>">
<span class="product-fields-title" ><b><?php echo  JText::_($field->custom_title)?></b></span>
<?php echo JHTML::tooltip($field->custom_tip,  JText::_($field->custom_title), 'tooltip.png'); ?>
<span class="product-field-display"><?php echo $field->display ?></span>

<span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
</div><br/ >
<?php
}
?>
</div>
<?php }
/* Product custom Childs
  * to display a simple link use $field->virtuemart_product_id as link to child product_id
  * custom_value is relation value to child
  */

if (!empty($this->product->customsChilds)) {  ?>
<div class="product-fields">
<?php foreach ($this->product->customsChilds as $field) {  ?>
<div style="display:inline-block;" class="product-field product-field-type-<?php echo $field->field->field_type ?>">
<span class="product-fields-title" ><b><?php echo JText::_($field->field->custom_title)?></b></span>
<span class="product-field-desc"><?php echo JText::_($field->field->custom_value)?></span>
<span class="product-field-display"><?php echo $field->display ?></span>

</div><br/ >
<?php
} ?>
</div>
<?php } ?>

<div class="addtocart-bar">

<?php // Display the quantity box ?>
<!-- <label for="quantity<?php echo $this->product->virtuemart_product_id;?>" class="quantity_box"><?php echo JText::_('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
<span class="quantity-box">
<input type="text" class="quantity-input" name="quantity[]" value="1" />
</span>
<span class="quantity-controls">
<input type="button" class="quantity-controls quantity-plus" />
<input type="button" class="quantity-controls quantity-minus" />
</span>
<?php // Display the quantity box END ?>

<?php // Add the button
$button_lbl = JText::_('COM_VIRTUEMART_CART_ADD_TO');
$button_cls = ''; //$button_cls = 'addtocart_button';
if (VmConfig::get('check_stock') == '1' && !$this->product->product_in_stock) {
$button_lbl = JText::_('COM_VIRTUEMART_CART_NOTIFY');
$button_cls = 'notify-button';
} ?>

<?php // Display the add to cart button ?>
<span class="addtocart-button">
<input type="submit" name="addtocart"  class="addtocart-button" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
</span>

<div class="clear"></div>
</div>

<?php // Display the add to cart button END ?>
<input type="hidden" class="pname" value="<?php echo $product->product_name ?>">
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
<?php /** @todo Handle the manufacturer view */ ?>
<input type="hidden" name="virtuemart_manufacturer_id" value="<?php echo $product->virtuemart_manufacturer_id ?>" />
<input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
</form>

*

Usman48

  • Захожу иногда
  • 177
  • 7 / 0
Рение с офф. форума работает нормально, только не подписаны у меня кнопки + и - как их подписать?
http://www.hobbyscrap.ru/index.php/component/virtuemart/bumaga-dlya-skrapa
*

NeonEx

  • Новичок
  • 4
  • 2 / 0
Рение с офф. форума работает нормально, только не подписаны у меня кнопки + и - как их подписать?
http://www.hobbyscrap.ru/index.php/component/virtuemart/bumaga-dlya-skrapa

Для решения проблемы использовал код:
Код
<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
<div class="addtocart-bar">

<?php // Display the quantity box ?>
<!-- <label for="quantity<?php echo $product->virtuemart_product_id;?>" class="quantity_box"><?php echo JText::_('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
<span class="quantity-box">
<input  type="text" class="quantity-input" name="quantity[]" value="1" />
</span>
<span class="quantity-controls">
<input type="button" class="quantity-controls quantity-plus" />
<input type="button" class="quantity-controls quantity-minus" />
</span>
<?php // Display the quantity box END ?>

<?php // Add the button
$button_lbl = JText::_('COM_VIRTUEMART_CART_ADD_TO');
$button_cls = ''; //$button_cls = 'addtocart_button';
if (VmConfig::get('check_stock') == '1' && !$product->product_in_stock) {
$button_lbl = JText::_('COM_VIRTUEMART_CART_NOTIFY');
$button_cls = 'notify-button';
} ?>

<?php // Display the add to cart button ?>
<span class="addtocart-button">
<input type="submit" name="addtocart"  class="addtocart-button" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
</span>

<div class="clear"></div>
</div>

<?php // Display the add to cart button END ?>
<input type="hidden" class="pname" value="<?php echo $product->product_name ?>">
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>" />
<?php /** @todo Handle the manufacturer view */ ?>
<input type="hidden" name="virtuemart_manufacturer_id" value="<?php echo $product->virtuemart_manufacturer_id ?>" />
<input type="hidden" name="virtuemart_category_id[]" value="<?php echo $product->virtuemart_category_id ?>" />
</form>

которым поделился drewnya в посте
для добавления названия в виде "+" и "-" присвоил кнопкам имя (то что добавил - выделил красным)
Цитировать
<input type="button" class="quantity-controls quantity-plus" value="+" />
<input type="button" class="quantity-controls quantity-minus" value="-" />

- работает.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Подскажите в какой папочке лежит файл в который необходимо вносить правку.

+Если у меня идёт ещё отделенный дизайн для категории то где он в шаблоне лежит?!
Смотрю....
*

NeonEx

  • Новичок
  • 4
  • 2 / 0
Подскажите в какой папочке лежит файл в который необходимо вносить правку.

+Если у меня идёт ещё отделенный дизайн для категории то где он в шаблоне лежит?!

Я правил файл в папке шаблона /templates/мой шаблон/html/com_virtuemart/category/default.php
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Подскажите куда именно вставить ваше решение?!
Привожу файл вывода категории:
Код
<?php
/**
*
* Show the products in a category
*
* @package VirtueMart
* @subpackage
* @author RolandD
* @author Max Milbers
* @todo add pagination
* @link http://www.virtuemart.net
* @copyright Copyright (c) 2004 - 2010 VirtueMart Team. 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.
* @version $Id: default.php 5120 2011-12-18 18:29:26Z electrocity $
*/

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
JHTML::_( 'behavior.modal' );
/* javascript for list Slide
  Only here for the order list
  can be changed by the template maker
*/
$js = "
jQuery(document).ready(function () {
jQuery('.orderlistcontainer').hover(
function() { jQuery(this).find('.orderlist').stop().show()},
function() { jQuery(this).find('.orderlist').stop().hide()}
)
});
";

$document = JFactory::getDocument();
$document->addScriptDeclaration($js);

if ( empty($this->keyword) ) {
?>

<div class="category_description"> <?php echo $this->category->category_description ; ?> </div>
<?php
}

/* Show child categories */
if ( VmConfig::get('showCategory',1) and empty($this->keyword)) {
if ($this->category->haschildren) {

// Category and Columns Counter
$iCol = 1;
$iCategory = 1;

// Calculating Categories Per Row
$categories_per_row = VmConfig::get ( 'categories_per_row', 3 );
$category_cellwidth = ' width'.floor ( 100 / $categories_per_row );

// Separator
$verticalseparator = " vertical-separator";
?>
<div class="category-view">
<?php // Start the Output
if(!empty($this->category->children)){
foreach ( $this->category->children as $category ) {

// Show the horizontal seperator
if ($iCol == 1 && $iCategory > $categories_per_row) : ?>
<div class="horizontal-separator"></div>
<?php endif; ?>
<?php
// this is an indicator wether a row needs to be opened or not
if ($iCol == 1) :
?>
<div class="row">
<?php endif; ?>
<?php
// Show the vertical seperator
if ($iCategory == $categories_per_row or $iCategory % $categories_per_row == 0) {
$show_vertical_separator = ' ';
} else {
$show_vertical_separator = $verticalseparator;
}

// Category Link
$caturl = JRoute::_ ( 'index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id );

// Show Category ?>
<div class="category floatleft<?php echo $category_cellwidth . $show_vertical_separator ?>">
<div class="spacer">
<h2 class="catSub"> <a href="<?php echo $caturl ?>" title="<?php echo $category->category_name ?>"> <?php echo $category->category_name ?> </a> </h2>
<?php // if ($category->ids) {
echo $category->images[0]->displayMediaThumb("",false);
//} ?>
</div>
</div>
<?php
$iCategory ++;

// Do we need to close the current row now?
if ($iCol == $categories_per_row) { ?>
<div class="clear"></div>
</div>
<?php
$iCol = 1;
} else {
$iCol ++;
}
}
}
// Do we need a final closing row tag?
if ($iCol != 1) { ?>
<div class="clear"></div>
</div>
<?php } ?>
</div>
<?php }
}

// Show child categories
if (!empty($this->products)) {
if (!empty($this->keyword)) {
?>
<h3><?php echo $this->keyword; ?></h3>
<?php
}
?>
<?php // Category and Columns Counter
$iBrowseCol = 1;
$iBrowseProduct = 1;

// Calculating Products Per Row
$BrowseProducts_per_row = $this->perRow;
$Browsecellwidth = ' width'.floor ( 100 / $BrowseProducts_per_row );

// Separator
$verticalseparator = " vertical-separator";
?>
<div class="browse-view">
<h1><?php echo $this->category->category_name; ?></h1>
<form action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=category&limitstart=0&virtuemart_category_id='.$this->category->virtuemart_category_id ); ?>" method="get">
<?php if ($this->search) { ?>
<!--BEGIN Search Box -->
<div class="virtuemart_search"> <?php echo $this->searchcustom ?> <br />
<?php echo $this->searchcustomvalues ?>
<input style="height:16px;vertical-align :middle;" name="keyword" class="inputbox" type="text" size="20" value="<?php echo $this->keyword ?>" />
<input type="submit" value="<?php echo JText::_('COM_VIRTUEMART_SEARCH')?>" class="button" onclick="this.form.keyword.focus();"/>
</div>
<input type="hidden" name="search" value="true" />
<input type="hidden" name="view" value="category" />

<!-- End Search Box -->
<?php } ?>
<?php
// Show child categories
if (!empty($this->products)) {
?>
<div class="orderby-displaynumber"> <?php echo $this->orderByList['orderby']; ?>
<div class="display-number"><?php echo $this->vmPagination->getResultsCounter();?> <?php echo $this->vmPagination->getLimitBox(); ?></div>
</div>
<?php } ?>
</form>
<?php // Start the Output
foreach ( $this->products as $product ) {

// Show the horizontal seperator
if ($iBrowseCol == 1 && $iBrowseProduct > $BrowseProducts_per_row) { ?>
<div class="horizontal-separator"></div>
<?php }

// this is an indicator wether a row needs to be opened or not
if ($iBrowseCol == 1) { ?>
<div class="row">
<?php }

// Show the vertical seperator
if ($iBrowseProduct == $BrowseProducts_per_row or $iBrowseProduct % $BrowseProducts_per_row == 0) {
$show_vertical_separator = ' ';
} else {
$show_vertical_separator = $verticalseparator;
}

// Show Products ?>
<div class="product floatleft<?php echo $Browsecellwidth . $show_vertical_separator ?>">
<div class="spacer">
<div class="catProductPrice" id="productPrice<?php echo $product->virtuemart_product_id ?>">
<?php
if ($this->show_prices == '1') {
if (empty($product->prices['salesPrice']) and VmConfig::get ('askprice', 1) and
!$product->images[0]->file_is_downloadable) {
echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
}

echo $this->currency->createPriceDiv('salesPrice','',$product->prices);

} ?>
</div>
<div>
<?php /** @todo make image popup */
echo $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');
?>

<!-- The "Average Customer Rating" Part -->
<?php if (VmConfig::get('pshop_allow_reviews') == 1) { ?>
<span class="contentpagetitle"><?php echo JText::_('COM_VIRTUEMART_CUSTOMER_RATING')?>:</span> <br />
<?php
// $img_url = JURI::root().VmConfig::get('assets_general_path').'/reviews/'.$product->votes->rating.'.gif';
// echo JHTML::image($img_url, $product->votes->rating.' '.JText::_('COM_VIRTUEMART_REVIEW_STARS'));
// echo JText::_('COM_VIRTUEMART_TOTAL_VOTES').": ". $product->votes->allvotes; ?>
<?php } ?>
</div>
<div>
<h3 class="catProductTitle"><?php echo JHTML::link($product->link, $product->product_name); ?></h3>
<?php // Product Short Description
if(!empty($product->product_s_desc)) { ?>
<div class="product_s_desc"> <?php echo shopFunctionsF::limitStringByWord($product->product_s_desc, 40, '...')?> </div>
<?php } ?>
<?php if (!VmConfig::get('use_as_catalog') && (VmConfig::get ( 'display_stock', 1 )) ){?>
<div class="stockLavel"> <span class="vmicon vm2-<?php echo $product->stock->stock_level ?>" title="<?php echo $product->stock->stock_tip ?>"></span> <span class="stock-level"><?php echo JText::_('COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_TITLE_TIP')?></span> </div>
<?php }?>
<?php // Product Details Button
echo JHTML::link($product->link, JText::_('COM_VIRTUEMART_PRODUCT_DETAILS'), array('title' => $product->product_name,'class' => 'catProductDetails'));
?>

</div>
</div>
</div>
<?php
$iBrowseProduct ++;

// Do we need to close the current row now?
if ($iBrowseCol == $BrowseProducts_per_row || $iBrowseProduct == $BrowseTotalProducts) {?>
</div>
<?php
$iBrowseCol = 1;
} else {
$iBrowseCol ++;
}
}
// Do we need a final closing row tag?
if ($iBrowseCol != 1) { ?>
<div class="clear"></div>
</div>
<?php
}
?>
<div class="pagination"> <?php echo str_replace('</ul>', '<li class="counter">'.$this->vmPagination->getPagesCounter().'</li></ul>', $this->vmPagination->getPagesLinks()); ?> </div>
</div>
<?php } ?>
Смотрю....
*

NeonEx

  • Новичок
  • 4
  • 2 / 0
Подскажите куда именно вставить ваше решение?!

Спойлер
[свернуть]

Попробуйте так как в спойлере, должно работать
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3


очень интересно сработало! но намёк понятен, попытаюсь избавиться теперь от + -  *DRINK*
Смотрю....
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Заметил интересную особенность!

Удалив :
Код
                                 <?php // Display the quantity box ?>
                                 <!-- <label for="quantity<?php echo $product->virtuemart_product_id;?>" class="quantity_box"><?php echo JText::_('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
                                 <span class="quantity-box">
                                    <input  type="text" class="quantity-input" name="quantity[]" value="1" />
                                 </span>
                                 <span class="quantity-controls">
                                    <input type="button" class="quantity-controls quantity-plus" value="+" />
                                    <input type="button" class="quantity-controls quantity-minus"  value="-" />
                                 </span>
                                 <?php // Display the quantity box END ?>

Отображение стало ещё лучше категории.
Но теперь при нажатии добавить в корзину пропала вторая кнопка в сплывающем меню : "Перейти в корзину"

причём на всех товарах точно пропало:


а на одном почему-то осталась :
Смотрю....
*

vladushka

  • Захожу иногда
  • 302
  • 0 / 0
народ а как сделать добавить в корзину ввиде ссылки?
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
а чем данный вариант не устраивает?!

подскажите как добавить кнопку-показать корзину!
« Последнее редактирование: 23.12.2012, 12:38:26 от yrygvay »
Смотрю....
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Думаю, решение по добавлению целой формы в макет категории несколько устаревшее и тянется из предыдущих версий VirtueMart.

В современном же 2 VirtueMart такая форма в случае с макетом детального вида товара (откуда она в принципе и берётся) идёт в отдельном файле productdetails/default(или-Ваше-название-макета)_addtocart.php.

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

Нужно:
1. Если не было, то скопировать файл components/com_virtuemart/views/productdetails/tmpl/default_addtocart.php к себе в шаблон templates/ваш-шаблон/html/com_virtuemart/category/default(или-ваше-название)_addtocart.php
Разумеется, если используете свой макет категории (не default.php) то и называем файл соответственно.

2. В файле templates/ваш-шаблон/html/com_virtuemart/category/default.php(или Ваше название) (если его нет в шаблоне, то создать копированием из components/com_virtuemart/views/category/tmpl/default.php) сразу после
Код
// Start the Output
foreach ($this->products as $product) {

Вставляем
Код
$this->product = $product;

3. Для вывода кнопки вставляем в понравившееся место в файле templates/ваш-шаблон/html/com_virtuemart/category/default.php(или Ваше название) код
   
Код
<?php echo $this->loadTemplate('addtocart'); ?>

Этот вариант, на мой взгляд, намного более предпочтительный. К примеру, если Вам нужно будет временно использовать магазин как каталог, и Вы поставите соответствующую галочку в настройках, то с этим вариантом всё будет, как положено, а вот с ручной вставкой формы, как описывалось выше, тут под вопросом))) И много других примеров.

Кстати, ещё от себя добавлю, что если у Вас в шаблоне уже был до этого productdetails/default(или-ваше-название)_addtocart.php, то на 1 шаге копировать лучше не из компонента а из своего шаблона, чтобы выводилось одинаково в категории и в детальном виде, хотя это, конечно же, по желанию.
« Последнее редактирование: 30.06.2014, 00:30:38 от fsv »
Возможно, будет интересно: Интеграция с Ozon
*

Chell

  • Захожу иногда
  • 62
  • 1 / 0
А как убрать её если цены у товара нету? Т.е. нужно проверить цену, но как то не получается.
*

iZacNT

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Доброго времени суток!

Сделал все как написал "rsn"
Товар не передается в корзину.
Сессия корзины тоже пустая, если ее вывести в ручную

Убрал класс "product" в этой строчке
<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
*

fixbob

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Здравствуйте, столкнулся с проблемой в VirtueMart 2.0.2, не могу найти как вывести кнопку "Добавить в корзину" у товара в списке категории, т.е чтобы пользователь не заходя на страницу товара (productdetails), мог добавить товар в корзину.

В более ранних версиях с этим проблем небыло,  а в 2.0.2 , не могу найти опцию в настройках где это включить. Ну и вообще просмотрев код шаблона "category" не увидел там подключения этой кнопки\формы.
Неужели в этой версии VirtueMart, убрали такую возможность?
Подскажите как решить этот вопрос, спасибо!

Процесс добавления сам по себе очень прост. Для этого вам необходимо в файл docs/components/com_virtuemart/views/category/tmpl/default.php вставить следующий код:

Код
<?php 
echo $this->loadTemplate('addtocart');
?>

Вставлять можно в любое место внутри блока с товаром. Я вставил внутри <div class="width70 floatright">, сразу после Ценового блока
Сохраняйте файл, после чего идите в папку docs/components/com_virtuemart/views/productdetails/tmpl, копируйте оттуда файл default_addtocart.php и вставляйте его в папку docs/components/com_virtuemart/views/category/tmpl.
*

rem

  • Захожу иногда
  • 51
  • 3 / 0
Процесс добавления сам по себе очень прост.
Молодца. Только RSN расписал выше более правильное решение - все указанные файлы надо перенести в ШАБЛОН и там править, иначе при обновлении все ваши правки в файле default.php сотрутся!
*

Falkovichs

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Re: Кнопка
« Ответ #22 : 25.06.2019, 15:39:19 »
А как убрать её если цены у товара нету? Т.е. нужно проверить цену, но как то не получается.
подскажите, вы нашли решение как убирать кнопки в случае если у товара не указаны цены или стоит статус "нет в наличии" ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображаются товары в категории

Автор iZacNT

Ответов: 0
Просмотров: 700
Последний ответ 23.06.2023, 12:20:49
от iZacNT
VirtueMart 3 Отображать только товары в наличии!

Автор GaziroFFka

Ответов: 4
Просмотров: 2060
Последний ответ 06.06.2023, 13:55:13
от Akeksandr
SP VirtueMart Category Search

Автор ve1006

Ответов: 10
Просмотров: 5994
Последний ответ 18.01.2023, 10:39:10
от AzMandius
Как вывести модуль в страницу VirtueMart?

Автор harddrop

Ответов: 11
Просмотров: 2838
Последний ответ 13.11.2022, 13:11:37
от Evgen Kulibin
Как правильно настроить покупку в VirtueMart?

Автор varella

Ответов: 1
Просмотров: 1210
Последний ответ 12.10.2022, 16:14:04
от varella