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


Не получается настроить Shopkeeper3 для корзины в хедере

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

    [[!Shopkeeper3@cartRowTpl?
                  &propertySetName=`cartRowTpl` 
    			  &cartTpl=`cartRowTpl`
    			  &flyToCart=`nofly`
    			  &noJQuery=`1`
    			  &debug=`1`
    			]]
    

    Подключается мой чанк, но после добавления товара , чанк меняется из папки
    core/components/shopkeeper3/elements/chunks/ru/shopCart.tpl
    В настройках системы shk3.property_sets
    cart_catalog,cart_order_page,cartRowTpl,cartTpl
    Код чанка cartRowTpl

    <div class="shop-cart" data-shopcart="3">
    	<a href="[[~2138~]]" class="basket-link">
    	  <div class="icon icon-basket">
    		<span>Корзина: 0</span>
    	  </div>		
    	</a>
    
    </div>
    <!--tpl_separator-->
    <div class="shop-cart" data-shopcart="3">
    <a href="[[~2138~]]" class="basket-link">
      <div class="icon icon-basket">
    	<span>Корзина: [[+items_total]]</span>
      </div>
    
      </a>
    </div>
    
  • Вообще не понимаю как работают параметры корзины, почему аякс возвращает дефолтный шаблон

  • Вот что написано в документации

    Пример
    [[!Shopkeeper3@cart_catalog]]
    cart_catalog - Имя набора параметров. Рекомендуется все параметры указывать в наборе параметров, т.к. нужно синхронизировать эти параметры при аякс-запросе.
    

    https://modx-shopkeeper.ru/docs/shopkeeper-3/shopkeeper-3

  • @Andchir так тоже пробовал
    в шапке

    [[!Shopkeeper3@cart_order_page?
                  &propertySetName=`cart_order_page` 
    			  &cartTpl=`cartRowTpl`
    			  &flyToCart=`nofly`
    			  &noJQuery=`1`
    			]]
    

    У меня постоянно отображается чанк из файла
    core/components/shopkeeper3/elements/chunks/ru/shopCart.tpl

  • Какие бы я параметры не передавал , он все равно возвращает аяксом этот шаблон , синхронизировал data-shopcart="">
    core/components/shopkeeper3/elements/chunks/ru/shopCart.tpl

  • У вас отличается вызов от того что дан в документации. Нужно не "пробовать", а делать как написано. Покажите параметры набора "cart_order_page".

    синхронизировал data-shopcart="">

    Почему здесь нет цифры?

  • @Andchir цифра есть, вот вызов в шапке

    [[!Shopkeeper3@cart_order_page?
                  &propertySetName=`cart_order_page` 
    			  &cartTpl=`cartRowTpl`
    			  &flyToCart=`nofly`
    			  &noJQuery=`1`
    			]]
    

    Вот в корзине

    [[!Shopkeeper3@cart_catalog?
        &propertySetName=`cart_catalog` 
    	&cartTpl=`сartNew`
    	&flyToCart=`nofly`
        &noJQuery=`1` 
    ]]
    

    Вот чанк cartNew

    <div class="shop-cart" data-shopcart="1">
    	<div class="shop-cart-head"><b>Корзина</b></div>
    	<div class="empty">
    		<div class="shop-cart-empty">Пусто</div>
    	</div>
    </div>
    <!--tpl_separator-->
    <div class="shop-cart" data-shopcart="1">
    	<div class="shop-cart-head"><a name="shopCart"></a><b>Корзина</b></div>
    	<div class="full">
    		<form action="[[+this_page_url]]#shopCart" method="post">
    			<fieldset>
    				<div  style="text-align:right;">
    					<a href="[[+empty_url]]" id="shk_butEmptyCart">Очистить корзину</a>
    				</div>
    				<table width="100%">
    					<colgroup>
    						<col width="40%" />
    						<col width="25%" />
    						<col width="25%" />
    						<col width="10%" />
    					</colgroup>
    					<tbody>
    						[[+inner]]
    					</tbody>
    				</table>
    				<div  style="text-align:right;">
    					Доставка: [[+delivery_name]] ([[+delivery_price]] [[+currency]])
    				</div>
    				<div  style="text-align:right;">
    					Общая сумма: <b>[[+price_total]]</b> [[+currency]]
    				</div>
    				<noscript>
    					<div><input type="submit" name="shk_recount" value="Пересчитать" /></div>
    				</noscript>
    				<div class="cart-order">
    					<a href="[[+order_page_url]]" id="shk_butOrder">Оформить заказ</a>
    				</div>
    			</fieldset>
    		</form>
    	</div>
    </div>
    

    А вот чанк cartRowTpl

    <div class="shop-cart" data-shopcart="2">
    	<a href="[[~2138~]]" class="basket-link">
    	  <div class="icon icon-basket">
    		<span>Корзина: 0</span>
    	  </div>		
    	</a>
    
    </div>
    <!--tpl_separator-->
    <div class="shop-cart" data-shopcart="2">
    <a href="[[~2138~]]" class="basket-link">
      <div class="icon icon-basket">
    	<span>Корзина: [[+items_total]]</span>
      </div>
    
      </a>
    </div>
    
  • Покажите параметры наборов "cart_order_page" и "cart_catalog" (в админке).

  • @Andchir
    0_1553848278774_2846eff6-f24f-48b5-b081-6df71fe8ef80-image.png
    Эти ?

  • Эти ?

    Нет.

    [[!Shopkeeper3@cart_catalog]]
    

    Здесь "cart_catalog" - это название набора параметров. Шаблон корзины нужно указывать именно там, если вам нужен аякс.
    0_1553863968713_screenshot_100.png
    0_1553863976086_screenshot_101.png

 

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

  • Y

    Когда импортирую просто нажав обновить и выбрав в целом категорию выпадет ошибка Error -1 =(

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

    Ясненько =(
    В общем, я решил проблему с разделением на категории(просто с помощью python разсортировал все строки с n идентификатором в n.xml файл и импортировал по отдельности)
    Только вот с заполнением проблема.
    Старый файл был такого вида:

    <data> <Title>pagetitle</Title> </data>

    Вот так выглядит мой файл которым я хочу обновить импортированные ранее товары(не добавляя новых товаров а только собрав из файла нужные строки с данными и импортировав их к уже созданным старым файлом товарам):

    <data> <Color> <Color1/> <Color4>Brown</Color4> <Color5>Cloudy Gray</Color5> </Color> <Price>4.75</Price> <Title>Название товара</Title> <bonus_info> <bonus_info1>blabla</bonus_info1> <bonus_info2>blabla</bonus_info> </bonus_info> </data>

    Где 1 <data> на 1 строку
    Вот мой конфиг:

    <?php //разбивка по столбцам при импорте и экспорте (content|tv|category) $cf_config['content_row'] = array( //array('Title',array(3,'tv')), //array('Price',array(2,'tv')) ); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, 'description' => '', 'template' => 5 // ID шаблона товара //'createdon' => strtotime("now") //'publishedon' => strtotime("now") //'pub_date' => strtotime("now") //'editedby' => 1 //'editedon' => strtotime("now") ), 'tv' => array( //7 => 0 ) ); //первая строка - названия полей $cf_config['include_captions'] = true; //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 500; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = 'pagetitle'; //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_tvid_val'] = false; //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field) $cf_config['imp_if_not_exist'] = false; //удалять HTML-теги при экспорте $cf_config['exp_strip_tags'] = false; //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false; //Изменить значения поля для всех вложенных товаров до начала импорта. //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе. //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым) $cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены //удалить файл после экспорта (скачивания) $cf_config['exp_delete_file'] = false; //кодировка CSV-файла при экспорте $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251' //Импортировать (обновлять) пустые значения $cf_config['imp_empty'] = true; //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import". $cf_config['imp_custom_processor'] = ''; //путь (xpath) в XML структуре до товаров $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers'; //Структура XML файла для импорта $cf_config['imp_xml_structure'] = <<<EOF <data> <Color> <Color1>tv 10<Color1/> <Color2>tv11</Color2> <Color3>tv12</Color3> <Color3>tv13</Color3> </Color> <Price>tv4</Price> <Title>pagetitle</Title> <bonus_info> <bonus_info1>tv7</bonus_info1> <bonus_info2>tv8</bonus_info2> <bonus_info3>tv9</bonus_info3> </bonus_info> </data> EOF; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = false; //функция для фильтрации значений при ИМПОРТЕ function filter_import($value_arr){ $output_arr = $value_arr; /* if(isset($output_arr['content']['pagetitle'])) $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8'); */ return $output_arr; } //функция для фильтрации значений при ЭКСПОРТЕ function filter_export($value_arr,$doc_id=0){ $output_arr = $value_arr; //var_dump($value_arr,$output_arr); //exit; /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; } ?>

    Читать далее
  • https://e-store.shopkerx.net/katalog/modx_extras/catalogfill
    В описании написано:

    XML - только импорт и только один уровень вложенности

    Это означает, что для XML категории не работают. Всё импортируется в одну категорию, которая указывается при импорте.

    Возможно, я не понял в чём конкретно проблема. Также нужно показать полный конфиг.

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

    При попытке импортировать данный файл появляется ошибка

    Error -1

    Читать далее