Последние темы


param-edit не передает цену в корзину

  • В карточке товара использую дополнительные параметры для увеличения основной цены.

    Прописан код списка таким образом:

    [[*weight-select:replace=`[[+id]]==[[*id]]`]]
    

    На странице карточки товара параметр отлично работает и меняется цена.

    В наборе параметров для параметра changePrice установлено значение ДА

    Не использую миникорзину, после нажатия кнопки сразу осуществляется переход в большую корзину на страницу оформления заказа.

    Проблема с выводом основной цены+дополнительной стоимости в зависимости от выбранного размера.

    Пробовал вызывать цену разными плейсхолдерами, все равно выводится только основная цена.

    Вызывал так:

    <td>
           <span class="amount">[[+total_price]] [[+currency]]</span>
    </td>
    

    И так:

    <td>
            <span class="amount">[[+price_count_total]] [[+currency]]</span>
    </td>
    

    Все равно выводит только основную цену.

    В чем моя ошибка? Возможно надо передать скрытый параметр через форму?

    Также в наборе параметров добавил название TV для параметра savePurchasesFields

  • [[+total_price]]]

    Не перепутали с [[+price_total]]?

    По-моему если changePrice=Да то даже [[+price]] должен выдавать цену с учетом цены доп.параметра.
    И где вы это выводите?

  • Аналогичная проблема, только с миникорзиной и не в карточке товара, а в категории. Ни один из плейсхолдеров не хочет меня осчастливить. Более того, [[+shk_myparam]][[+tv.myparam]], [[+shk_tv.myparam]] также ничего не выводят. Как и Вы, подозреваю, что доп параметры просто не подключаются, хотя также все поля в настройках заполнила.

  • @varanika

    Более того, [[+shk_myparam]][[+tv.myparam]], [[+shk_tv.myparam]] также ничего не выводят.

    Не выводят где, в корзине или на странице в списке товаров? Нужны подробности, лучше в отдельной теме. Тут читайте http://forum.modx-shopkeeper.ru/topic/113/param-edit/6

  • @Andchir Я же написала выше - в малой корзине, которая находится в категории товаров. Тему по ссылке читала - в ней не нашла решения. Там нет ничего о том, как сделать так:
    Корзина
    Товар (описание дополнительного параметра по русски) - общая цена с параметром.
    Я делала все по docs readme. Совершенно все поля как в официальной инструкции, единственный раздел, который остался не ясен - это эти гребанные дополнительные параметры.

  • @varanika ```
    Insert Code Here

       <form class="product row" action="[[~[[*id]]? &scheme=`abs`]]" method="post">
           <fieldset>
          <div class="col-lg-5 col-md-5 col-sm-5 col-xs-12">[[+pagetitle]]</div>
          <div class="col-lg-7 col-md-7 col-sm-7 col-xs-12">
              <table class="table table-condensed">
                   <colgroup>
                        <col width="65%" />
                        <col width="20%" />
                        <col width="15%" />
                    </colgroup>
                    <tbody>
               <tr>
                  <td>[[+tv.myparam:!empty=`<div class="parametry">[[+tv.myparam]]</div>`]]</td>
                  <td class="text-right odinaktd">
                      <div class="product-price">
                    <span class="shk-price">[[+tv.price:num_format]]</span> руб.
                </div></td>
                  <td><input type="hidden" name="shk-id" value="[[+id]]" />
                <input type="hidden" name="shk-name" value="[[+pagetitle]]" />
    <input type="hidden" name="test__[[+id]]__add" value="ну напишись хоть что-нибудь" />
    
                <input type="hidden" name="shk-count" value="1" />
                <button type="submit" class="shk-but">+</button></td>
                 
               </tr>
               </tbody>
              </table>
             </div>
            </fieldset>
        </form>
    </div>
    
    

    TVsaveList - myparam
    changePrice - Да (если в нет, то считает, но не красиво добавляет +50 в самих товарах)
    counterField - Нет
    counterFieldCart - Да
    processParams - 1
    prodCont - div.shk-item
    savePurchasesFields - myparam,price

        <td class="text-left"><strong>[[+name]]</strong> <br /><small>[[+shk_test]]</small></td>
        <td class="text-right">[[+price_count_total:num_format]] р.</td>
        <td class="text-right">
            <a href="[[+url_del_item]]" title="Удалить" class="shk-del">
                x</a>
        </td>
    </tr>
  • price_total конечно же, опечатку допустил...

    Прописал сейчас просто price. Выводит только основную цену.

    Вывод param-edit:

    <li class="small-text">
     ВЕС:  
    <select class="shk_param" name="weight-select__17" id="weight-select17" onchange="SHK.additOpt(this)">
    	<option value="0__0" selected="selected">0-15 кг</option>
    	<option value="1__5">15-20 кг</option>
    	<option value="2__10">20-25 кг</option>
    	<option value="3__15">25-30 кг</option>
    	<option value="4__20">30-35 кг</option>
    	<option value="5__25">35-40 кг</option>
    	<option value="6__30">40-50 кг</option>
    </select>
    </li>
    

    Вот, что показывает в содержимом страницы КАРТОЧКА ТОВАРА:

    <script type="text/javascript">
            SHK.data = {"price_total":"20.00","items_total":1,"items_unique_total":1,"delivery_price":0,"delivery_name":0,"ids:":[17]};
            jQuery(document).bind( 'ready', function(){
                SHK.init( {"prodCont":"div.shk-item","site_base_url":"\/","counterField":true,"counterFieldCart":true,"changePrice":"1","flyToCart":"nofly","noLoader":false,"allowFloatCount":true,"animCart":true,"goToOrderFormPage":true,"orderFormPageUrl":"\/oformlenie-zakaza\/","debug":false} );
            });
    </script>
    

    Страница оформления заказа:

    <script type="text/javascript">
            SHK.data = {"price_total":"20.00","items_total":1,"items_unique_total":1,"delivery_price":0,"delivery_name":0,"ids:":[17]};
            jQuery(document).bind( 'ready', function(){
                SHK.init( {"prodCont":"div.shk-item","site_base_url":"\/","counterField":true,"counterFieldCart":true,"changePrice":"1","flyToCart":"nofly","noLoader":false,"allowFloatCount":true,"animCart":true,"goToOrderFormPage":true,"orderFormPageUrl":"\/oformlenie-zakaza\/","debug":false} );
            });
    </script>
    
  • @moduser

    Покажите полный шаблон где выводится доп. параметр с ценой.

  • @Andchir Я выше выложила чанк товара в категории и чанк строки в малой корзине. Давайте по-порядку. А то здесь текстовый редактор странный.
    Дай Бог, если разберемся - тема останется потомкам 🙂
    Итак.

    1. Настройки шопкипера.
      3_1467729489723_3.jpg 2_1467729489723_2.jpg 1_1467729489723_1.jpg 0_1467729489723_4.jpg
    2. Чанк товара в категории
      0_1467729678816_5.jpg
    3. Чанк малой корзины
      0_1467729794095_6.jpg
    4. Строка в малой корзине с описанием товара
      0_1467729854298_7.jpg
    5. Вызов в каталоге
      0_1467729957111_8.jpg
      Если учесть длительность моих экспериментов, вполне допустимо, что в дальнейшем я могла что-то и напортить... Но что?
  • Я бы попробовал заменить [[*id]] на [[+id]]. А то у вас чанк товара в категории по разному id передаются.

  • @moduser ушла биться головой об стену. Вот оно где епрст!!! Ну что ж, теперь потомкам останется скриншоты по настройке Шопкипера и слоган "Отойдите от компа, отдохните, вернитесь и еще раз гляньте - точно все увидели?!"
    🙂

  • @Andchir сказал param-edit не передает цену в корзину:

    @moduser

    Покажите полный шаблон где выводится доп. параметр с ценой.

    [[$header]]
    <body itemscope="">
    	<div class="theme-layout">
    		<header class="fancy-header stick header2">
            [[$top-data-ru]]
            [[$top-menu]]
            <div class="hidden">
            [[!Shopkeeper3@cart_catalog]]
            </div>
        </div>
    </header>
    
    	<div class="responsive-header">
            <span class="top-sec-btn"><i class="fa fa-angle-double-down"></i></span>
            <div class="responsive-top-sec">
                [[$mobile-top-data]]
            </div>
            
            <div class="responsive-nav">
                <div class="container">
                    <div class="responsive-logo">
                        <div class="logo">
                            <a itemprop="url" href="[[~1]]"><img itemprop="image" src="/images/resource/logo.png" alt="[[*pagetitle]]" /></a>
                        </div>
                    </div>
                    <span class="responsive-btn"><i class="fa fa-list"></i></span>
                    [[$mobile-top-menu]]
                </div>
            </div>
        </div>
    
    	[[$signup-popup]]
    
        [[$calculator-popup]]
    		
    	<div class="page-top blackish overlape">
            <div class="parallax" data-velocity="-.1" style="background: url([[pthumb? &input=`[[*offer-photo]]` &options=`w=1905&h=221&zc=T`]]) repeat scroll 0 0"></div>
                <div class="container">
                    <div class="page-title">
                        <h1 class="titler">[[*pagetitle]]</h1>
                        <span>[[*longtitle]]</span>
                    </div>
                </div>
            </div>
    
    		<section class="block">
    		<div class="container">
    			<div class="row">
    				<div class="col-md-12">
    					<div class="top-margin blog-detail-main">
    						<div class="row">
    								
    							<div class="col-md-8">
    								<div class="news-box blog-detail shk-item" itemscope itemtype="http://schema.org/Product">
    									<form action="[[~[[*id]]? &scheme=`abs`]]" method="post">
                                        <input type="hidden" name="shk-id" value="[[*id]]" />
                                        <input type="hidden" name="shk-name" value="[[*pagetitle]]" />
    									<div class="news-thumb post-thumb">
    										<img itemprop="image" src="[[!pthumb? &input=`[[*offer-photo]]` &useResizer=`1` &options=`w=770&h=390&zc=1`]]" alt="[[*longtitle]]" />
                                            <span><i class="fa fa-map-marker"></i></span>
    									</div>
    										
    									<div class="news-detail">
    									<h2 itemprop="headline">[[*longtitle]]</h2>
                                            
    										<div class="detail-info2">
    											<div class="detail-infodiv1 detail-com">
    												<ul class="post-meta2">
    													<li class="small-text">
    													    ВЕС:  
    													    [[*weight-select:replace=`[[+id]]==[[*id]]`]]
    													</li>
    												</ul>
                                                    <ul class="post-meta2">
                                                        <li>€</li>
                                                        <li class="shk-price"> [[*price]]</li>
                                                    </ul>
                                                    <button type="submit" class="theme-btn btn-cart"><i class="fa fa-truck" aria-hidden="true"></i>   ОФОРМИТЬ ЗАКАЗ</button>
                                                </div>
    										</div>
    									</div>
    										
    									<div id="services-detail-tabs">
    										<div class="tab-content">
    											[[*content]]
    										</div>
    									</div>
    								</div>
    							</div>
    
    							[[$shop-right-sidebar]]
    								
    						</div>
    					</div>											
    				</div>
    			</div>
    		</div>
    	</section>
    		
    	[[$footer]]
    
    	</div>
    
    	[[$modal-success]]
        [[$js-library]]
        
    </body>
    </html>
    
  • @moduser

    Вижу открывающий <form> но не вижу закрывающего.

  • Да, проморгал. Добавил закрывающийся тег для формы. Пока результата не дало.

    <div class="news-box blog-detail shk-item" itemscope itemtype="http://schema.org/Product">
    	<form action="[[~[[*id]]? &scheme=`abs`]]" method="post">
            <input type="hidden" name="shk-id" value="[[*id]]" />
            <input type="hidden" name="shk-name" value="[[*pagetitle]]" />
    	
    <div class="news-thumb post-thumb">
    	<img itemprop="image" src="[[!pthumb? &input=`[[*offer-photo]]` &useResizer=`1` &options=`w=770&h=390&zc=1`]]" alt="[[*longtitle]]" />
    <span><i class="fa fa-map-marker"></i></span>
    </div>
    										
    <div class="news-detail">
    	<h2 itemprop="headline">[[*longtitle]]</h2>
                                            
    	<div class="detail-info2">
    		<div class="detail-infodiv1 detail-com">
    			<ul class="post-meta2">
    				<li class="small-text">
    					ВЕС:  
    					[[*weight-select:replace=`[[+id]]==[[*id]]`]]
    				</li>
    			</ul>
                            <ul class="post-meta2">
                                     <li>€</li>
                                     <li class="shk-price"> [[*price]]</li>
                            </ul>
                            <button type="submit" class="theme-btn btn-cart"><i class="fa fa-truck" aria-hidden="true"></i>   ОФОРМИТЬ ЗАКАЗ</button>
                   </div>
    	</div>
            </form>
    </div>
    
  • @moduser
    Параметр вообще передается в корзину? [[+addit_data]] что-то выводит?

  • Нет, не передает. Пустое значение.

  • Рекомендую изменить имя weight-select на weight_select припоминаю проблемы с такими именами.
    Есть ссылка где можно глянуть?

  • @moduser
    У меня больше нет версий. Могу посмотреть на таких условиях http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом/2

  • Условия подходят.

  • У меня в целом все вышло.

    Вот РАБОЧИЙ ПРИМЕР

    В чанке товара в КАТЕГОРИИ вызываем параметры так:
    [[+tv.myparam]]

    В чанке корзины так:

    <tr class="cart-order">
        <td class="text-left"><strong>[[+name]]</strong> <br /><small>[[+shk_myparam]]</small></td>
        <td class="text-right">[[+price_count_total:num_format]] р.</td>
        <td class="text-right">
            <a href="[[+url_del_item]]" title="Удалить" class="shk-del">
                x</a>
        </td>
    </tr>
    

    В настройках шопкипера проверяем. чтобы совпадало (для товаров - ресурсов, а не migx):

    2_1467791466674_3.jpg 1_1467791466674_2.jpg 0_1467791466674_1.jpg

    Также проверьте настройки самого поля и в системе
    1_1467791584230_Screenshot_2.jpg 0_1467791584229_Screenshot_3.jpg

 

Последние комментарии

  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее
  • Что нового в Shopkeeper 4.0.3:

    Исправлено некорректное определение языка по умолчанию В настройках в админке скрываются пароли. Добавлена возможность загружать картинки для категорий. shopkeeper.js - добавлена функция updateProductsPrice() для поддержки текстовых полей для цены. Twig-функции contentList() и includeContent() вынесены в отдельный класс. Добавлено событие "order.before_create". Сортировка всех полей типа контента перетаскиванием. Автоматическое сохранение сортировки полей при сохранении типа контента (не нужно нажимать на отдельную кнопку). В интерфейсе админа добавлено поле поиска для списка Composer-пакетов.

    Скачать можно на главной странице https://modx-shopkeeper.ru/

    Читать далее
  • Вот этот плагин:
    0_1550334109280_screenshot_022.png

    Вроде по умолчанию он выключен. Надо включить. Но плагин работает только на редактирование товаров, при удалении он делалать ничего не будет. Только что проверил кнопку, всё работает корректно, фильтры удаляются и добавляются, когда нужно. Но нужно очищать корзину после удаления товаров (возможно баг).

    Читать далее
  • J

    @Andchir Если нажимаю кнопочку "Обновить значения", то в фильтрах появляются как раз те самые удаленные значения фильтра.. Потом приходится Ручками выбирать эти удаленные значения.
    вот так выглядит Управление фильтрами когда удаляешь ручками: https://yadi.sk/i/_zw64CGkZ_sAYg
    А вот так выглядит когда просто нажимаешь "Обновить значения": https://yadi.sk/i/7WFbXC6xV5sQAw (красным выделено, то что приходится постоянно удалять

    Читать далее