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


В корзине не выводится метод и стоимость доставки.

  • Друг друга не поняли.

    Тут сложно понять когда Вы пишите сначала одно

    На страниц оформления заказа не выводится метод и стоимость доставки.

    а потом совсем другое

    В форме я выбираю способ доставки, однако пересчета общей стоимости с учетом доставки не происходит.

    Зачем мне тратить на вас кучу времени, если Вы не можете даже нормально сформулировать вопрос и дать необходимую информацию? Ищите другого помощника.

  • @Andchir
    Я пишу сюда получить ответ, а не ругаться, ваше дело помогать в проблеме или игнорировать.

    в первом сообщении я сослался на схожую проблему пользователя.

    Прочитал схожий вопрос ответа не нашел.http://forum.modx-shopkeeper.ru/topic/228/не-проставляется-наименование-доставки-и-способ-оплаты-при-выборе
    
  • jQuery подключается в самом низу, а используется он выше. Скорее всего это приводит к JS ошибке. Можно скрипт $(document).bind('ready',function(){... опустить в самый низ, или jQuery подключить вверху шаблона.

  • @Andchir в форме оформление заказа, jqery подключил вверху шаблона, снизу удалил.
    Почистил кэш в браузере, обновил страницу- безрезультатно.

    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
        <link rel="stylesheet" href="/css/test1.css" type="text/css" media="screen" />
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        
        <title>Bootstrap test template</title>
    
    
    
    [[$Header]]
      </head>
    
      <body>
    [[$Navbar]]
    
    
    
    <div class="container-fluid" style="padding:5%">
    	
    	<div class="row">
    		<div class="col-md-12">
    		    <h1>Оформление заказа</h1>
                    
    		    [[!Shopkeeper3@new_cart?propertySetName='new_cart']]
    		</div>
    	</div>
    
    	
    	<div class="row" >
    	    <div class="col-md-12">
    
    
                [[!FormIt?
                &hooks=`spam,shk_fihook,email,FormItAutoResponder,redirect`
                &submitVar=`order`
                &emailTpl=`shopOrderReport`
                &fiarTpl=`shopOrderReport`
                &emailSubject=`В интернет-магазине "[[++site_name]]" сделан новый заказ`
                &fiarSubject=`Вы сделали заказ в интернет-магазине "[[++site_name]]"`
                &emailTo=`[[++emailsender]]`
                &fiarReplyTo=`[[++emailsender]]`
                &fiarToField=`email`
                &emailFrom=`[[++emailsender]]`
                &emailFromName=`[[++emailsender]]`
                &fiarFrom=`[[++emailsender]]`
                &redirectTo=`23`
                &validate=`fullname:required,email,phone:required`
                &errTpl=`<br /><span class="error">[[+error]]</span>`
                ]]
                
                [[-[[!$MeFullShopOrderForm?]] ]]
                [[!$shopOrderForm?]]
                
                <br>[[+delivery_name]]
                <br>[[+delivery_price]] [[+currency]]
                
                 <div  style="text-align:right;">
                    Итого: <b>[[+price_total]]</b> [[+currency]]
                    <br>[[+delivery_name]]
                    <br>[[+delivery_price]] [[+currency]]
                </div>
                
            </div>
        </div>
                    
    <script type="text/javascript">
    $(document).bind('ready',function(){
        if ( SHK.data.delivery_name ) {
            $('select[name="shk_delivery"]','#shopOrderForm').val( SHK.data.delivery_name );
        }
        $('select[name="shk_delivery"]','#shopOrderForm').bind('change',function(){
            SHK.selectDelivery( $(this).val() );
        });
    });
    </script>
    
        
    </div>	    
    
    [[$Footer]]
    
    
        <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
        
    
      </body>
    </html>
    
    

    Чанк строки корзины товара( cartRowTpl) и чанк формы ввода данных при оформлении заказа (shopOrderForm) не должны находится в одной форме?

  • Ссылку можете дать где увидеть?

  • По вашей ссылке видимо страница не опубликована. Нашел здесь
    https://chokocandies.ru/oformlenie-zakaza2
    но там не селект, а радио-кнопки, поэтому скрипт не подходит.

  • @Andchir тестовый вариант опубликовал на ранее упомянутой странице.
    https://chokocandies.ru/oformlenie-zakaza

    на странице использовал ajaxform по примеру
    https://chokocandies.ru/oformlenie-zakaza2

  • Попробуйте так:

    <script type="text/javascript">
    $(function() {
        if ( SHK.data.delivery_name ) {
            $('select[name="shk_delivery"]','#shopOrderForm').val( SHK.data.delivery_name );
        }
        $('select[name="shk_delivery"]','#shopOrderForm').bind('change',function(){
            SHK.selectDelivery( $(this).val() );
        });
    });
    </script>
    

    Похоже что-то не работает с вашей версией jQuery. На демо-сайте другая версия.

  • @Andchir Спасибо, заработало!
    Перенес подключение JQuery из футера в хэдер.

    Мало ли кто столкнется с похожей проблемой, скрипт для радио-кнопки.

        <script type="text/javascript">
    		$(document).ready(function() {
    		    $('[type="radio"][name="shk_delivery"]').change(function () {
    		       	SHK.selectDelivery( $('[name="shk_delivery"]:checked').val() );
    		    });
    		});
    	</script>
    
 

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

  • а редактируются они через 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>

    Читать далее