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


Цена товара изменяемая покупателем

  • MODX Evolution 1.2-d8.1.5 (Oct 28, 2016) с Shopkeeper 1.3.4
    Помогите, пожалуйста, решить следующую проблему. Мне нужно чтобы покупатель сам указывал цену товара и с этой ценой товар попадал в корзину и заказ. В товаре цена поле TV с названием 'price'. В шаблоне вот такая форма

    <form id="add2cart_form" action="[~[*id*]~]" method="post" name="shkform" id="shkform[*id*]">
    														
    								<input type="hidden" name="shk-id" value="[*id*]" />
    								<input type="hidden" name="shk-name" value="[*pagetitle*]" />
    								<input type="hidden" name="shk-rid" value="[*rid*]" />
    								
    								[[*priceTV:replace=`[[+id]]==[[*id]]`]] 
    								
    								[[+tv.price:replace=`500==5`]]
    						
    				             	<input type="text" name="shk-price" class="shk-price" value="[[*price*]]" />
    								
    								<!-- <input type="hidden" name="shk-price" class="shk-price" value="[[*price*]]" /> -->
    
    								<button style="display:none;" type="submit" class="shk-but" id="shk_but_[*id*]">В корзину</button>
    								
    <a style="cursor:pointer;" class="menu-inner_to-basket" onclick="_txq.push(['track', 'ADD_2_CART_2']);document.getElementById('shk_but_[*id*]').click();return false;">В корзину <i class="ic-basket-head"></i></a>								
    </form>
    
    

    Я в шаблоне вывожу поле price не как hidden а как текст. Вот такие вариации замены цены не работают http://prntscr.com/ls3mpi Сниппет корзины и формы заказа такой

    <a id="recommendation_link" data-remodal-target="recommendation" style="display:none;"> </a>
    
    <div class="order-cover tort">
    	<div class="order-basket">
    		<div class="order-main">
    			<div class="order-main-wrap">				
    				[!Shopkeeper?
    				&cartTpl=`cart-header-tpl`
    				&cartRowTpl=`cart-header-row-tpl`
    				&priceTV=`price`
                    &changePrice=`1`
    				&processTVs=`1`
    				&currency=`руб.`
    				&noJQuery=`1`
    				&noLoader=`1`
    				&flyToCart=`nofly`
    				&counterField=`1`
    				&orderDataTpl=`order-data-tpl2`
    				!]
    				<div class="order-bottom">
    					<!--<div class="order-action">
    						<div class="action-img">
    							<img src="[ [DocInfo?&docid=`1`&field=`akcia_img`] ]" alt="">
    						</div>
    						<div class="action-content">
    							<p>[ [DocInfo?&docid=`1`&field=`akcia_text`] ]</p>
    						</div>
    						<div class="action-close">
    							<a href="#"><i class="ic-close"></i></a>
    						</div>
    					</div>-->
    					<div class="btns-cover">
    						<a href="#" id="to-step0" class="btn mob">
    							<i class="ic-arrow-left"></i>
    						</a>
    						<a href="#" id="step2" class="btn btn-red">Продолжить <i class="ic-arrow-right"></i></a>
    					</div>
    				</div>
    			</div>
    		</div>
    		<div class="order-step-form">
    			<div class="before-login">
    				[!LoginWidget? 
    				&loginTpl=`@CODE:<p>Делали заказ раньше? <a href="#" id="basketSignInLink" data-remodal-target="basketSignIn">Войти <i class="ic-login"></i></a></p>`
    				!]
    			</div>
    
    			[!saveOrderData!]
    			[!checkTimeFunction!]
    			[!checkTotalPrice!]
    			[!setFields!]
    			[!eForm?
    			&formid=`shopOrderForm`
    			&tpl=`shopOrderForm`
    			&report=`shopOrderReport2`
    			&gotoid=`27`
    			&noemail=`0`
    			&protectSubmit=`0`
    			&ccsender=`0`
    			&to=`udc-dostavka@iconfood.ru,cornergrill@iconfood.ru,udcdostavka@gmail.com,[+email+]`
    			&subject=`Новый заказ [(site_name)]`
    			&eFormOnBeforeMailSent=`checkTimeFunction,checkTotalPrice,populateOrderData,saveOrderData`
    			&eFormOnMailSent=`sendOrderToManager`
    			&eformOnBeforeFormParse=`setFields`
    			!]
    			<!--ya2791@mail.ru dostavka@cornergrill.ru,udc-dostavka@iconfood.ru,dostavka.iconfood@gmail.com  -->
    			<div class="btns-cover">
    				<a href="#" id="to-step1" class="btn mob">
    					<i class="ic-arrow-left"></i>
    				</a>
    				<a href="#" id="step3" class="btn btn-red">Продолжить <i class="ic-arrow-right"></i></a>
    			</div>
    		</div>
    		<div class="order-step-form3">
    			<div class="inf-cover">
    				<div class="information">
    					<h2>Информация о заказе:</h2>
    					<div id="order_info">
    					</div>
    					<table id="order_info_table">
    					</table>
    					<fieldset>
    						<div class="radio-w50">
    							<input type="radio" id="card-check" name="payment" value="Оплата картой">
    							<label for="card-check" data-input-id="payment" data-value="Оплата картой">Оплата картой</label>
    						</div>
    						<div class="radio-w50">
    							<input type="radio" id="nal-check" name="payment" value="Оплата наличными" checked>
    							<label for="nal-check" class="active" data-input-id="payment" data-value="Оплата наличными">Оплата наличными</label>
    						</div>
    					</fieldset>
    					<a href="assets/templates/site/oplata.pdf" target="_blank" class="terms-basket">Условия оплаты</a>
    				</div>
    			</div>
    			<div class="step3-buttons">
    				<a href="#" id="to-step2" class="btn btn-grey"><i class="ic-arrow-left"></i> Изменить</a>
    				<input type="submit" class="btn btn-red" value="Оформить заказ" id="checkoutBtn" onclick="sendOrder()">
    			</div>
    		</div>
    	</div>
    </div>
    
  • MODX Evolution 1.2-d8.1.5 (Oct 28, 2016) с Shopkeeper 1.3.4

    Вряд ли здесь по этим версиям кто-то ответит. Поищите другой форум где есть пользователи Evolution. Сюда, я думаю, в основном заходят пользователи Revo.

 

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

  • а редактируются они через CMP

    Покажите скриншот. Не понял что за CMP. Но если и не подвязаны, оставьте значение, которое было.
    Вот мой скриншот:
    0_1565682115311_screenshot_179.png

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

    Участник @Andchir написал в Экспорт/импорт данных из таблиц пакетов MIGX db через плагин CatalogFill:

    MIGXDB

    какие родители в элементах migx db?
    это элементы, которые к ресурсам никак не подвязаны!
    а редактируются они через CMP

    Читать далее
  • //Название поля ID родителя $cf_config['parent_field'] = false;

    Почему так? В MIGXDB документы должны иметь родителя. Иначе как вы их добавляете/редактируете в админке?

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

    отключил, очистил
    далее http://joxi.ru/12MEdEvtloelG2 -> http://joxi.ru/VrwXwXZt7RN7Mm
    в журнале ошибок - пусто
    код настройки

    <?php //Название класса таблицы товаров в БД $cf_config['className'] = 'delivery_flight'; //Название пакета таблицы товаров в БД $cf_config['packageName'] = 'delivery_schedule'; //Название поля ID родителя $cf_config['parent_field'] = false; //разбивка по столбцам при импорте и экспорте (content|tv|category) $cf_config['content_row'] = array( array('ID',array('id','content')), array('Наименование',array('name','content')), array('Время',array('time','content')), array('Откуда',array('from','content')), array('Время в пути',array('duration','content')), array('Куда',array('to','content')), array('Время прибытия',array('arrival_time','content')), array('Стоимость',array('price','content')), array('Тариф',array('delivery_rate_id','content')), array('Сортировка',array('sort','content')), ); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, //'template' => 9 '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'] = 300; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = false; //проверять соответствие товара при обновлении по значению 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'] = true; //удалять 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'] = ''; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = true; //функция для фильтрации значений при ИМПОРТЕ 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; } ?>

    shema пакета, для которого написана настройка

    <model package="delivery_schedule" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1"> <object class="delivery_rate" table="delivery_rates" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="color" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="desc" dbtype="text" phptype="string" null="false" default="" /> <field key="sort" dbtype="int" precision="10" phptype="integer" null="false" default="500"/> <field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" /> <field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="1" /> <field key="createdon" dbtype="datetime" phptype="datetime" null="true"/> </object> <object class="delivery_flight" table="delivery_flights" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="from" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="time" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="duration" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="to" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="arrival_time" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="price" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="sort" dbtype="int" precision="10" phptype="integer" null="false" default="500"/> <field key="delivery_rate_id" dbtype="int" precision="10" phptype="integer" null="false" default="0"/> <field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" /> <field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="1" /> <field key="createdon" dbtype="datetime" phptype="datetime" null="true"/> <aggregate alias="Delivery_rate" class="delivery_rate" local="delivery_rate_id" foreign="id" cardinality="one" owner="foreign" /> </object> </model>

    Читать далее