Кнопка “Добавить в корзину” VirtueMart не работает на главной странице сайта

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

  1. Offline

    МаксМакс Недавно здесь

    Регистрация:
    20.04.2021
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Делаю рефакторинг сайта на Joomla 2.5.19, на котором работает VirtueMart 2.6.22. У сайта есть главная страница, на которой есть модуль "Специальные предложения", т.е. товары. Я добавил кнопку "Добавить в корзину" в шаблон этого модуля, и кнопка отобразилась как нужно, но сам функционал этой кнопки не работает. При клике происходит перезагрузка главной страницы, и на этом всё. Но если этот модуль "Специальные предложения" вывести в пределах VirtueMart, то кнопка функционирует как нужно - товар добавляется в корзину. Ниже покажу код модуля "Специальные предложения", там, где я вывел форму с кнопкой "Добавить в корзину". Пожалуйта, подскажите, что необходимо дописать или доработать, что бы данная кнопка работала вне VirtueMart, на главной странице, в разделе "Специальные предложения". Спасибо.

    Код (PHP):
    1. <?php
    2.  
    3. /**
    4. * @package     Joomla.Tutorials
    5. * @subpackage  Module
    6. * @copyright   (C) 2012 http://jomla-code.ru
    7. * @license     License GNU General Public License version 2 or later; see LICENSE.txt
    8. */
    9.  
    10. // No direct access to this file
    11. defined('_JEXEC') or die;
    12.  
    13.  
    14.  
    15. $product_model = VmModel::getModel('product');
    16.  
    17. ?>
    18.  
    19. <div class="row">
    20.     <div class="col-xs-5 text-start">
    21.         <h4>Специальное предложение</h4>
    22.     </div>
    23. </div>
    24. <div class="w-100">
    25.         <div class="owl-carousel profit">
    26.  
    27.  
    28.             <?php foreach ($specProducts as $item): ?>
    29.  
    30.                 <?php
    31.  
    32.                     $product = $product_model->getProduct($item->id);
    33.  
    34.                     $product_model->addImages($product);
    35.  
    36.                     //echo'<pre>'; var_dump($product->images); echo'</pre>';
    37.  
    38.                 ?>
    39.  
    40.                 <div class="wraper-profit-item-slider">              
    41.                     <a href="<?php echo $product->link; ?>">                  
    42.                         <div class="image-carusel center-block">
    43.                             <?php echo $product->images[0]->displayMediaThumb('', false); ?>
    44.                         </div>                      
    45.                         <div class="caption-carusel">                                              
    46.                             <p><?php echo $product->product_name; ?></p>
    47.                             <?php if ($item->new_price) : ?>
    48.  
    49.                                 <span><?php if ($item->new_price) { echo round($item->new_price, 2).' руб.'; } ?>  <del><?php  if ($item->old_price) { echo round($item->old_price, 2).' руб.'; } ?> </del></span>
    50.  
    51.                             <?php else: ?>
    52.  
    53.                                 <span><?php if ($item->old_price) { echo round($item->old_price, 2).' руб.'; } ?> </span>
    54.  
    55.                             <?php endif; ?>                        
    56.                         </div>                                                      
    57.                     </a>
    58.                                        
    59.                     <form method="post" class="product js-recalculate" action="<?php echo JRoute::_ ('index.php'); ?>">
    60.                             <input name="quantity" type="hidden" value="<?php echo (int) $product->step_order_level;  ?>" />
    61.                             <?php // Product custom_fields
    62.                             if (!empty($product->customfieldsCart)) {
    63.                                 ?>
    64.                                 <div class="product-fields">
    65.                                     <?php foreach ($product->customfieldsCart as $field) { ?>
    66.                                         <div class="product-field product-field-type-<?php echo $field->field_type ?>">
    67.                                             <?php if ($field->show_title) { ?>
    68.                                             <span class="product-fields-title-wrapper"><span class="product-fields-title"><strong><?php echo JText::_ ($field->custom_title) ?></strong></span>
    69.                                     <?php }
    70.                                     if ($field->custom_tip) {
    71.                                         echo JHTML::tooltip ($field->custom_tip, JText::_ ($field->custom_title), 'tooltip.png');
    72.                                     } ?></span>
    73.                                             <span class="product-field-display"><?php echo $field->display ?></span>
    74.                                             <span class="product-field-desc"><?php echo $field->custom_field_desc ?></span>
    75.                                         </div><br/>
    76.                                     <?php } ?>
    77.                                 </div>
    78.                                 <?php
    79.                             }
    80.                             /* Product custom Childs
    81.                                  * to display a simple link use $field->virtuemart_product_id as link to child product_id
    82.                                  * custom_value is relation value to child
    83.                                  */
    84.  
    85.                             if (!empty($product->customsChilds)) {
    86.                                 ?>
    87.                                 <div class="product-fields">
    88.                                     <?php foreach ($product->customsChilds as $field) { ?>
    89.                                         <div class="product-field product-field-type-<?php echo $field->field->field_type ?>">
    90.                                             <span class="product-fields-title"><strong><?php echo JText::_ ($field->field->custom_title) ?></strong></span>
    91.                                             <span class="product-field-desc"><?php echo JText::_ ($field->field->custom_value) ?></span>
    92.                                             <span class="product-field-display"><?php echo $field->display ?></span>
    93.  
    94.                                         </div><br/>
    95.                                     <?php } ?>
    96.                                 </div>
    97.                             <?php }
    98.  
    99.                             if (!VmConfig::get('use_as_catalog', 0)  ) {
    100.                                 ?>
    101.  
    102.                                 <?php // Display the quantity box
    103.  
    104.                                 $stockhandle = VmConfig::get ('stockhandle', 'none');
    105.                                 if (($stockhandle == 'disableit' or $stockhandle == 'disableadd') and ($product->product_in_stock - $product->product_ordered) < 1) {
    106.                                     ?>
    107.                                     <a href="<?php echo JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&layout=notify&virtuemart_product_id=' . $product->virtuemart_product_id); ?>" class="notify"><?php echo JText::_ ('COM_VIRTUEMART_CART_NOTIFY') ?></a>
    108.  
    109.                                 <?php } else { ?>
    110.                                     <!-- <label for="quantity<?php echo $product->virtuemart_product_id; ?>" class="quantity_box"><?php echo JText::_ ('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> -->
    111.                                     <input type="hidden" class="quantity-input js-recalculate" name="quantity[]" onblur="check(this);" value="<?php if (isset($product->step_order_level) && (int)$product->step_order_level > 0) {
    112.                                         echo $product->step_order_level;
    113.                                     } else if(!empty($product->min_order_level)){
    114.                                         echo $product->min_order_level;
    115.                                     } else {
    116.                                         echo '1';
    117.                                     } ?>"/>
    118.                                     <?php // Display the quantity box END ?>
    119.  
    120.                                     <?php
    121.                                     // Display the add to cart button
    122.                                     ?>
    123.                                    
    124.                                    
    125.                                     <input onclick="yaCounter24482669.reachGoal (\'addkorzina\'); return true;" type="submit" name="addtocart" class="addtocart-button without-text" value="" title="<?php echo JText::_( 'COM_VIRTUEMART_CART_ADD_TO' ); ?>" />
    126.                                     <!--?php echo shopFunctionsF::getAddToCartButton ($product->orderable); ?-->
    127.                                 <?php } ?>
    128.                             <?php }
    129.                             // Display the add to cart button END  ?>
    130.                             <input type="hidden" class="pname" value="<?php echo htmlentities($product->product_name, ENT_QUOTES, 'utf-8') ?>"/>
    131.                             <input type="hidden" name="option" value="com_virtuemart"/>
    132.                             <input type="hidden" name="view" value="cart"/>
    133.                             <noscript><input type="hidden" name="task" value="add"/></noscript>
    134.                             <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>"/>
    135.  
    136.                             <?php $url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id . '&tmpl=component');?>
    137.                             <div class="oneclick-block">
    138.                                 <a data-toggle="modal" data-target="#oneclick-<?php echo $product->virtuemart_product_id ?>" class="modal-<?php echo $product->virtuemart_product_id ?> oneclick-btn text-center" href="<?php echo $url ?>" onclick="yaCounter24482669.reachGoal ('nazalipayoneclik'); return true;"> Заказать в 1 клик</a>
    139.                                  <div class="modal bd-example-modal-sm fade" id="oneclick-<?php echo $product->virtuemart_product_id ?>" tabindex="-1" role="dialog" aria-hidden="true"></div>
    140.                             </div>
    141.                            
    142.                         </form>                  
    143.                 </div>
    144.  
    145.  
    146.             <?php endforeach; ?>
    147.  
    148.         </div>
    149. </div>
     
  2.  
  3. OlegK
    Offline

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

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    в консоли есть ошибки ?
     

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

Загрузка...