Joomla 2.5 Как добавить кнопку "Убрать товар" из модуля корзины VirtueMart

Тема в разделе "Модули Joomla для Virtuemart", создана пользователем Gandriyko, 27.09.2017.

Метки:
  1. Gandriyko
    Offline

    Gandriyko Пользователь

    Регистрация:
    12.03.2009
    Сообщения:
    67
    Симпатии:
    0
    Пол:
    Мужской
    Привет, форумчане!

    Есть Joomla 2.5.28+Virtuemart 2.6.0 и его модуль mod_virtuemart_cart.
    Подскажите пожалуйста кусочек кода, который добавит кнопку "Убрать товар", с помощью которой можно будет убирать товар из корзины не заходя в неё.
    Копировал код из других сайтов, кнопка появлялась, но не работала. (предполагаю из-за разницы версий VM)

    Вот код из файла
    Мой_сайт/templates/шаблон/html/mod_virtuemart_cart/default.php

    Код (PHP):
    1. <?php
    2.  
    3. // no direct access
    4. defined('_JEXEC') or die('Restricted access');
    5. // get the tmpl variable from url
    6. $tmpl = JRequest::getCmd('tmpl', '');
    7. // check if it was an AJAX request
    8. if($tmpl == 'cart') {
    9.     // if it was an AJAX request - get images
    10.     if(count($data->products)) {
    11.         // get the DB access
    12.         $db = JFactory::getDBO();
    13.         // prepare an array of SKUs
    14.         $skus = array();
    15.        
    16.         foreach($data->products as $product) {
    17.             array_push($skus, "'".$product['product_sku']."'");
    18.         }
    19.         // prepare first query
    20.         $query1 = $db->getQuery(true);
    21.         $query1->select('`p`.`virtuemart_product_id` AS `pid`, `p`.`product_sku` AS `sku`');
    22.         $query1->from('#__virtuemart_products AS p');
    23.         $query1->where('`p`.`product_sku` IN('.implode(',', $skus).')');
    24.         $db->setQuery((string)$query1);
    25.         $ids = $db->loadObjectList();
    26.        
    27.         $pids = array();
    28.         // get the IDs
    29.         if ($ids) {
    30.             foreach($ids as $id) {
    31.                 array_push($pids, $id->pid);
    32.             }
    33.         }
    34.         // get the images
    35.         $query2 = $db->getQuery(true);
    36.         $query2->select('`m`.`file_url` AS `file`, `p`.`product_sku` AS `sku`');
    37.         $query2->from('#__virtuemart_products AS p');
    38.         $query2->leftJoin('#__virtuemart_product_medias AS `pm` ON `pm`.`virtuemart_product_id` = `p`.`virtuemart_product_id`');
    39.         $query2->leftJoin('#__virtuemart_medias AS `m` ON `m`.`virtuemart_media_id` = `pm`.`virtuemart_media_id`');
    40.         $query2->where('`p`.`virtuemart_product_id` IN('.implode(',', $pids).')');
    41.         $query2->order('`pm`.`ordering` ASC');
    42.         $db->setQuery((string)$query2);
    43.         //echo (string) $query2;
    44.         $pimages = $db->loadObjectList();
    45.        
    46.         $images = array();
    47.         // get the first products images
    48.         if ($pimages) {
    49.             foreach($pimages as $image) {
    50.                 if(!isset($images[$image->sku])) {
    51.                     $images[$image->sku] = $image->file;
    52.                 }
    53.             }
    54.         }
    55.     }
    56. }
    57.  
    58. if($tmpl == 'json') {
    59.     $matches = array();
    60.     preg_match('@<strong>(.*?)<\/strong>@mis', $data->billTotal, $matches);
    61.     echo count($data->products) . ' ' . JText::_('TPL_GK_LANG_ITEMS') . ' - ' . $matches[0];
    62. }
    63.  
    64. ?>
    65. <?php if($tmpl == 'cart') : ?>
    66.  
    67. <div class="vmGkCartModule <?php echo $params->get('moduleclass_sfx'); ?>">
    68.           <h3><span><a href="http://коваленко1.рф/virtuemart/cart/"><?php echo JText::_('TPL_GK_LANG_MY_CART'); ?><a/></span></h3>
    69.           <?php if ($show_product_list) : ?>
    70.           <div class="vmGkCartProducts">
    71.                     <?php
    72.                     $iteration = 1;
    73.                     foreach ($data->products as $product) :
    74.                 ?>
    75.                     <div><img src="<?php echo $images[$product['product_sku']]; ?>" alt="" />
    76.                               <div>
    77.                                         <h3><span><?php echo  $product['quantity'] ?>&times;</span><?php echo  $product['product_name'] ?></h3>
    78.                                         <?php if ( !empty($product['product_attributes']) ) : ?>
    79.                                         <?php echo str_replace('<br />', ' / ', $product['product_attributes']); ?>
    80.                                         <?php endif; ?>
    81.                                         <?php if ($show_price) : ?>
    82.                                         <span class="gkPrice num<?php echo $iteration%3; ?>"><?php echo str_replace(' ', '', $product['prices']); ?></span>
    83.                                         <?php endif; ?>
    84.                               </div>
    85.                     </div>
    86.                     <?php
    87.                     $iteration++;
    88.                     endforeach;
    89.                 ?>
    90.           </div>
    91.           <?php endif; ?>
    92.           <?php if(count($data->products) == 0) : ?>
    93.           <?php echo JText::_('TPL_GK_LANG_EMPTY_CART'); ?>
    94.           <?php endif; ?>
    95.          
    96.           <?php if ($data->totalProduct) : ?>
    97.           <div class="gkTotal"> <?php echo str_replace(array(JText::_('COM_VIRTUEMART_CART_TOTAL').' : <strong>', '</strong>', ' '), '', $data->billTotal); ?> </div>
    98.           <?php endif; ?>
    99.           <div class="gkShowCart"> <?php echo $data->cart_show; ?> </div>
    100.           <noscript>
    101.           <?php echo JText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT') ?>
    102.           </noscript>
    103. </div>
    104. <?php elseif($tmpl != 'json') : ?>
    105. <div class="vmCartModule <?php echo $params->get('moduleclass_sfx'); ?>">
    106.           <?php if ($show_product_list) : ?>
    107.           <div id="hiddencontainer" style="display: none;">
    108.                     <div class="container">
    109.                               <?php if ($show_price) { ?>
    110.                               <div class="prices" style="float: right;"></div>
    111.                               <?php } ?>
    112.                               <div class="product_row"> <span class="quantity"></span>&nbsp;x&nbsp;<span class="product_name"></span> </div>
    113.                               <div class="product_attributes"></div>
    114.                     </div>
    115.           </div>
    116.           <div class="vm_cart_products">
    117.                     <div class="container">
    118.                               <?php foreach ($data->products as $product) : ?>
    119.                               <?php if ($show_price) : ?>
    120.                               <div class="prices" style="float: right;"><?php echo  $product['prices'] ?></div>
    121.                               <?php endif; ?>
    122.                               <div class="product_row"> <span class="quantity"><?php echo  $product['quantity'] ?></span>&nbsp;x&nbsp;<span class="product_name"><?php echo  $product['product_name'] ?></span> </div>
    123.                               <?php if ( !empty($product['product_attributes']) ) : ?>
    124.                               <div class="product_attributes"><?php echo  $product['product_attributes'] ?></div>
    125.                               <?php endif; ?>
    126.                               <?php endforeach; ?>
    127.                     </div>
    128.           </div>
    129.           <?php endif; ?>
    130.           <?php if ($data->totalProduct) : ?>
    131.           <div class="total" style="float: right;"> <?php echo $data->billTotal; ?> </div>
    132.           <div class="total_products"><?php echo $data->totalProductTxt ?></div>
    133.           <?php endif; ?>
    134.           <div class="show_cart"> <?php echo $data->cart_show; ?> </div>
    135.           <noscript>
    136.           <?php echo JText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT') ?>
    137.           </noscript>
    138. </div>
    139. <?php endif; ?>

     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    А может там другой модуль установлен.
    А самому посмотреть в представление корзины, и увидишь что там форма, и в яваскрипте обработчик события апдейта корзины .
    Более всего что ты встречал платный модуль аякс корзины и вряд ли найдешь код в открытом доступе .
     

Поделиться этой страницей

Загрузка...