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

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Кнопка "Add-to-cart Button" в списке категории, VirtueMart 2.0.2  (Прочитано 16182 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kaprikorn
Осваиваюсь на форуме
***

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

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


www.cleverscript.ru


« : 03.03.2012, 16:53:58 »

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

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

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

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


www.cleverscript.ru


« Ответ #1 : 08.03.2012, 02:00:45 »

Так и не нашел прямой способ как это сделать из админки, пришлось внедрять код

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

Код:
<?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
Давно я тут
****

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

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


Мечты - это то, из чего сделано будущее


« Ответ #2 : 29.03.2012, 11:45:55 »

интересное решение, а не подскажите где править само всплывающее окно (при кнопке купить), не найду в каком место оно лежит.
Записан
sasha8888
Осваиваюсь на форуме
***

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

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



« Ответ #3 : 09.08.2012, 09:23:12 »

интересное решение, а не подскажите где править само всплывающее окно (при кнопке купить), не найду в каком место оно лежит.

что именно интересует по нему? оно в 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
Новичок
*

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

Сообщений: 1


« Ответ #4 : 16.10.2012, 23:25:55 »

Так и не нашел прямой способ как это сделать из админки, пришлось внедрять код
...
Спасибо за код.
Я вставил только в категорию чуть исправленный
Код
<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
Осваиваюсь на форуме
***

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

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


« Ответ #5 : 23.10.2012, 20:48:27 »

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

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

Сообщений: 109


« Ответ #6 : 29.11.2012, 21:25:48 »

Решение с оф. форума 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
Осваиваюсь на форуме
***

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

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



« Ответ #7 : 06.12.2012, 19:19:57 »

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

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

Сообщений: 4


« Ответ #8 : 07.12.2012, 13:04:33 »

Рение с офф. форума работает нормально, только не подписаны у меня кнопки + и - как их подписать?
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
Живу я здесь
******

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

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



« Ответ #9 : 07.12.2012, 15:40:36 »

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

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

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

Сообщений: 4


« Ответ #10 : 07.12.2012, 18:39:41 »

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

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

Я правил файл в папке шаблона /templates/мой шаблон/html/com_virtuemart/category/default.php
Записан
yrygvay
Живу я здесь
******

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

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



« Ответ #11 : 08.12.2012, 12:52:10 »

Подскажите куда именно вставить ваше решение?!
Привожу файл вывода категории:
Код:
<?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
Новичок
*

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

Сообщений: 4


« Ответ #12 : 08.12.2012, 17:59:38 »

Подскажите куда именно вставить ваше решение?!

Показать текстовый блок

Попробуйте так как в спойлере, должно работать
Записан
yrygvay
Живу я здесь
******

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

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



« Ответ #13 : 09.12.2012, 00:58:03 »



очень интересно сработало! но намёк понятен, попытаюсь избавиться теперь от + -  drink
Записан
yrygvay
Живу я здесь
******

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

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



« Ответ #14 : 09.12.2012, 01:04:34 »

Заметил интересную особенность!

Удалив :
Код:
                                 <?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
Давно я тут
****

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

Сообщений: 303


« Ответ #15 : 20.12.2012, 02:13:08 »

народ а как сделать добавить в корзину ввиде ссылки?
Записан
yrygvay
Живу я здесь
******

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

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



« Ответ #16 : 23.12.2012, 12:24:07 »

а чем данный вариант не устраивает?!

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

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

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



« Ответ #17 : 07.04.2013, 21:52:54 »

Думаю, решение по добавлению целой формы в макет категории несколько устаревшее и тянется из предыдущих версий 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 » Записан
Chell
Осваиваюсь на форуме
***

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

Сообщений: 60



« Ответ #18 : 27.04.2013, 23:15:08 »

А как убрать её если цены у товара нету? Т.е. нужно проверить цену, но как то не получается.
Записан
iZacNT
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #19 : 26.08.2013, 17:46:59 »

Доброго времени суток!

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

Убрал класс "product" в этой строчке
<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $product->virtuemart_product_id ?>">
Записан
fixbob
Захожу иногда
**

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

Сообщений: 13


« Ответ #20 : 03.08.2014, 01:54:10 »

Здравствуйте, столкнулся с проблемой в 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
Осваиваюсь на форуме
***

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

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


« Ответ #21 : 11.08.2014, 11:29:52 »

Процесс добавления сам по себе очень прост.
Молодца. Только RSN расписал выше более правильное решение - все указанные файлы надо перенести в ШАБЛОН и там править, иначе при обновлении все ваши правки в файле default.php сотрутся!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.21 | 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