[Помогите] с Smart Checkout

Тема в разделе "OpenCart", создана пользователем etens1212, 3 мар 2016.

  1. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    320
    Симпатии:
    16
    поставивл модуль Smart Checkout
    вечная загрузка при изменении опции количества или покупке
    в чем может быть проблема
    вот сайт
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    777
    Никакой вечной загрузки я не вижу. Количество вообще меняется без проблем, а при попытке оформить заказ, с сервера приходит ответ с ошибкой о не выбранных обязательных опциях. То есть, у вас опции со страницы не подхватываются при оформлении заказа через этот модуль. Возможно, вы что-то не так настроили или модуль не полностью смог установиться.
    Посмотрите журнал ошибок vQmod, да и обычный журнал тоже.
     
  3. etens1212

    etens1212

    Регистрация:
    1 май 2013
    Сообщения:
    320
    Симпатии:
    16
    работает
    может подскажете, как сделать, чтобы кнопку выводило только в product-o.tpl

    я создал отдельный вывод товара для некоторых товаров

    вот вывод



    PHP:
    <?xml version="1.0" encoding="UTF-8"?>

    <!--
    @category  : OpenCart
    @module    : Smart Checkout
    @author    : OCdevWizard <[email protected]>
    @copyright : Copyright (c) 2014, OCdevWizard
    @license   : http://license.ocdevwizard.com/Licensing_Policy.pdf
    -->

    <modification>
      <id>Smart Checkout</id>
      <version>1.5.6.x</version>
      <vqmver required="true">2.4.0</vqmver>
      <author>[email protected]</author>
      <file path="catalog/controller/common/" name="header.php,footer.php">
         <operation error="skip">
          <search position="after"><![CDATA[protected function index() {]]></search>
          <add><![CDATA[
            // start: OCdevWizard SMCH
            $this->data['smch_form_data']         = (array) $this->config->get( 'ocdev_smart_checkout_form_data' );
            $this->data['smch_store_id']          = (int) $this->config->get( 'config_store_id' );
            $this->data['smch_customer_group_id'] = ( $this->customer->isLogged() ) ? (int) $this->customer->getCustomerGroupId() : (int) $this->config->get( 'config_customer_group_id' );
            // end: OCdevWizard SMCH
          ]]></add>
        </operation>
      </file>
      <file path="catalog/model/shipping/" name="citylink.php,weight.php">
         <operation error="skip">
          <search position="replace"><![CDATA[$weight = $this->cart->getWeight();]]></search>
          <add><![CDATA[
            // start: OCdevWizard SMCH
            if ( isset( $this->session->data['smch_product_weight'] ) ) {
                $weight = $this->session->data['smch_product_weight'];
            } else {
                $weight = $this->cart->getWeight();
            }
            // end: OCdevWizard SMCH
          ]]></add>
        </operation>
      </file>
      <file pname="catalog/model/shipping/free.php">
         <operation error="skip">
          <search position="replace"><![CDATA[if ($this->cart->getSubTotal() < $this->config->get('free_total')) {]]></search>
          <add><![CDATA[
            // start: OCdevWizard SMCH
            if ( isset( $this->session->data['smch_product_sut_total'] ) ) {
                $smch_sub_total = $this->session->data['smch_product_sut_total'];
            } else {
                $smch_sub_total = $this->cart->getSubTotal();
            }

            if ($smch_sub_total < $this->config->get('free_total')) {
            // end: OCdevWizard SMCH
          ]]></add>
        </operation>
      </file>
      <file name="catalog/view/theme/default/template/common/header.tpl">
         <operation error="skip">
          <search position="before"><![CDATA[</head>]]></search>
          <add><![CDATA[
            <?php
              $customer_groups 
    = isset( $smch_form_data['customer_groups'] ) ? $smch_form_data['customer_groups'] : array();
              
    $stores = isset( $smch_form_data['stores'] ) ? $smch_form_data['stores'] : array();
            
    ?>
            <?php if ( isset( $smch_form_data['activate'] ) && !in_array$smch_customer_group_id$customer_groups ) && !in_array$smch_store_id$stores ) ) { ?>
            <!-- <?php echo $smch_form_data['front_module_name'] . ' : ' $smch_form_data['front_module_version']; ?> -->
            <link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/ocdev_smart_checkout/stylesheet.css?v=<?php echo $smch_form_data['front_module_version']; ?>" />
            <script type="text/javascript" src="catalog/view/javascript/ocdev_smart_checkout/ocdev_smart_checkout.js?v=<?php echo $smch_form_data['front_module_version']; ?>"></script>
            <script type="text/javascript" src="catalog/view/javascript/ocdev_smart_checkout/inputmask.js"></script>
            <script type="text/javascript" src="catalog/view/javascript/ocdev_smart_checkout/jquery.placeholder.js"></script>
            <?php echo html_entity_decode$smch_form_data['google_analytics_script'], ENT_QUOTES'UTF-8' ); ?>
            <!-- <?php echo $smch_form_data['front_module_name'] . ' : ' $smch_form_data['front_module_version']; ?> -->
            <?php ?>
          ]]></add>
        </operation>
      </file>
      <file name="catalog/view/theme/default/template/common/footer.tpl">
         <operation error="skip">
          <search position="before"><![CDATA[</body>]]></search>
          <add><![CDATA[
            <?php
              $customer_groups 
    = isset( $smch_form_data['customer_groups'] ) ? $smch_form_data['customer_groups'] : array();
              
    $stores = isset( $smch_form_data['stores'] ) ? $smch_form_data['stores'] : array();
            
    ?>
            <?php if ( isset( $smch_form_data['activate'] ) && !in_array$smch_customer_group_id$customer_groups ) && !in_array$smch_store_id$stores ) ) { ?>
            <!-- <?php echo $smch_form_data['front_module_name'] . ' : ' $smch_form_data['front_module_version']; ?> -->
            <script type="text/javascript">
              $(function() {
              $('body')
              .after("<input name='smch_product_ids' value='' type='hidden' style='display:none;' />");
            
              var smch_product_ids_array = [];
            
              $.each($("[onclick^='<?php echo $smch_form_data['add_function_selector']; ?>']"), function() {
                var product_id = $(this).attr('onclick').match(/[0-9]+/),
                    smch_product_id = smch_product_ids_array;
              
                smch_product_ids_array.push( product_id );

                $("input[name='smch_product_ids']")
                .attr( 'value', smch_product_id );
              });
            
              var urls  = "";
                urls += "index.php?route=module/ocdev_smart_checkout/getProducts";
                <?php if ( isset( $this->request->get['route'] ) ) { ?>
                urls += "&routing=<?php echo ( isset( $this->request->get['route'] ) ) ? $this->request->get['route'] : ''?>";
                <?php ?>
                <?php if ( isset( $this->request->get['product_id'] ) ) { ?>
                urls += "&product_id=<?php echo ( isset( $this->request->get['product_id'] ) ) ? $this->request->get['product_id'] : ''?>";
                <?php ?>
                urls += "&smch_product_ids=" + $("input[name='smch_product_ids']").val();

                $.ajax({
                    type: 'post',
                    url:   urls,
                    dataType: 'json',
                    success: function(json) {
                      $.each( json['products'], function(i,value) {
                        $("[onclick^='"+json['add_function_selector']+"']").each(function() {
                          var product_id = $(this).attr('onclick').match(/[0-9]+/);
                          if ( product_id == value ) {
                            $(this)
                            .before( "<button class='smch_call_button'>" + json['text_call_button'] + "</button>" )
                            .prev()
                            .attr( 'onclick', 'getOCwizardModal_smch(\'' + $(this).attr('onclick').match(/[0-9]+/) + '\')' );
                          }
                        });
                      });
                      $.each( json['product'], function(i,value) {
                        var product_id_in_page = $("input[name='product_id']").val();
                        if ( product_id_in_page == value ) {
                          $('#'+json['add_id_selector'])
                          .before( "<button class='smch_call_button'>" + json['text_call_button'] + "</button>" )
                          .prev()
                          .attr( 'onclick', 'getOCwizardModal_smch(\'' + product_id_in_page + '\')' );
                        }
                      });
                    }
                });
              });
            </script>
            <!-- <?php echo $smch_form_data['front_module_name'] . ' : ' $smch_form_data['front_module_version']; ?> -->
            <?php ?>
            ]]></add>
        </operation>
      </file>
    </modification>
     
    Lasted edited by : 4 мар 2016
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.050
    Симпатии:
    777
    В этой инструкции есть js код, который добавляется в /catalog/view/theme/default/template/common/footer.tpl и добавляет затем кнопку на страницу:

    Код:
    <script type="text/javascript">
              $(function() {
              $('body')
              .after("<input name='smch_product_ids' value='' type='hidden' style='display:none;' />");
          
              var smch_product_ids_array = [];
          
              $.each($("[onclick^='<?php echo $smch_form_data['add_function_selector']; ?>']"), function() {
                var product_id = $(this).attr('onclick').match(/[0-9]+/),
                    smch_product_id = smch_product_ids_array;
            
                smch_product_ids_array.push( product_id );
    
                $("input[name='smch_product_ids']")
                .attr( 'value', smch_product_id );
              });
          
              var urls  = "";
                urls += "index.php?route=module/ocdev_smart_checkout/getProducts";
                <?php if ( isset( $this->request->get['route'] ) ) { ?>
                urls += "&routing=<?php echo ( isset( $this->request->get['route'] ) ) ? $this->request->get['route'] : ''; ?>";
                <?php } ?>
                <?php if ( isset( $this->request->get['product_id'] ) ) { ?>
                urls += "&product_id=<?php echo ( isset( $this->request->get['product_id'] ) ) ? $this->request->get['product_id'] : ''; ?>";
                <?php } ?>
                urls += "&smch_product_ids=" + $("input[name='smch_product_ids']").val();
    
                $.ajax({
                    type: 'post',
                    url:   urls,
                    dataType: 'json',
                    success: function(json) {
                      $.each( json['products'], function(i,value) {
                        $("[onclick^='"+json['add_function_selector']+"']").each(function() {
                          var product_id = $(this).attr('onclick').match(/[0-9]+/);
                          if ( product_id == value ) {
                            $(this)
                            .before( "<button class='smch_call_button'>" + json['text_call_button'] + "</button>" )
                            .prev()
                            .attr( 'onclick', 'getOCwizardModal_smch(\'' + $(this).attr('onclick').match(/[0-9]+/) + '\')' );
                          }
                        });
                      });
                      $.each( json['product'], function(i,value) {
                        var product_id_in_page = $("input[name='product_id']").val();
                        if ( product_id_in_page == value ) {
                          $('#'+json['add_id_selector'])
                          .before( "<button class='smch_call_button'>" + json['text_call_button'] + "</button>" )
                          .prev()
                          .attr( 'onclick', 'getOCwizardModal_smch(\'' + product_id_in_page + '\')' );
                        }
                      });
                    }
                });
              });
            </script>
    Уберите этот код из инструкции и впишите внизу вашего шаблона страницы товара.
     
  5. vasiliy

    vasiliy

    Регистрация:
    1 сен 2012
    Сообщения:
    61
    Симпатии:
    5
    Ребята подскажите как в нем отключить клик по корзине в шапке. что бы при клике по корзине в шапке работала стандартная функция откривания корзины а не всплывающее окно даноого модуля!?