NHShop +0


NHShop

  • NHShop NHShop 31 августа 2017 21:46 #

    Похоже на сервере настроено какое-то кеширование. Проблема решилась заменой htaccess в корневой директорией с парой незначительных правок.

    в ответ на Проблемы с админкой

  • NHShop NHShop 20 июля 2016 15:28 #

    Решил проблему таким образом:

    С помощью плагина "Разные цены для разных витрин" (https://www.webasyst.ru/store/plugin/shop/productp...) задал нужные цены для тех витрин, где необходимо вывести товар, где не нужно поставил цену 1 (0 не воспринимается).

    В файле шаблона list-thumbs.html после начала цикла {foreach $products as $p} вставил следующий код:


    {$available = $p.price > 1} {if $available == false} <li style="display:none"> {else} <li .................

    Не самое элегантное, но работающее решение.

    в ответ на Видимость товара на витрине

  • NHShop NHShop 19 июля 2016 17:50 #

    Спасибо! Я уже решил вопрос. На ЛК висел неработающий скрипт, он и мешал..

    в ответ на Глюк с сессиями (в личном кабинете)

  • NHShop NHShop 19 июля 2016 17:23 #

    Можно ли добавить в обработчик нажатия кнопки "Оформить заказ" команду списания баллов равную total (общей сумме заказа), если у меня на этапе выбора оплаты имеется radio с payment_id (способ оплаты), value = 11 (оплатить бонусными баллами). Есть предварительная проверка кол-ва баллов, нужна просто команда списать.

    в ответ на Оплата бонусными баллами

  • NHShop NHShop 12 июля 2016 17:31 #

    Петр, еще раз спасибо за помощь!

    в ответ на Многовитринность и склады - гибкая настройка складов

  • NHShop NHShop 12 июля 2016 16:31 #

    Петр, спасибо за помощь, но это все не то, к сожалению.

    В файле list-thumbs.html есть строка

    {$available = $wa->shop->settings('ignore_stock_count') || $p.count === null || $p.count > 0}

    Она как раз отвечает за вывод товаров на витрину. Я ищу эту магическую переменную (а разработчики уже вторую неделю молчат, хотя я настойчиво апаю топик), которая выводит не общий остаток (p.count), а остаток по конкретному складу, типа $current_stock.count.

    В базе данных есть таблица спецовая таблица shop_product_stocks и соответствующие стоки по количеству, если оно было задано. Однако я не настолько крут в PHP, чтобы сделать подобающий SQL запрос из Smarty, или создать и использовать новый элемент класса и сделать запрос по правилам разработчиков, описанным здесь: https://developers.webasyst.ru/basics/model/

    в ответ на Многовитринность и склады - гибкая настройка складов

  • NHShop NHShop 12 июля 2016 16:03 #
  • NHShop NHShop 12 июля 2016 15:32 #

    Можно ли сделать так, чтобы количество товара не суммировалось по всем складам?

    в ответ на Скрыть отсутствующий товар и товар с нулевой ценой на Shop-Script 5

  • NHShop NHShop 12 июля 2016 15:20 #

    Я ищу способ скрыть товар с витрины с привязанным к ней складом, если на этом складе данного товара нет (даже, если он присутствует на других складах).


    в ответ на Многовитринность и склады - гибкая настройка складов

  • NHShop NHShop 11 июля 2016 17:14 #

    Мужики, ну неужели нет такого решения, чтобы не выводить товар на витрину, если на привязанном к ней складе товара нет, но имеется на других?

    в ответ на Видимость товара на витрине

  • NHShop NHShop 11 июля 2016 17:04 #

    Я нашел, как получить id и имя склада на SS7:

    {foreach $wa->shop->stocks() as $current_stock => $mystock} {/foreach} Текущий склад: {$current_stock} {$mystock["name"]}

    Но как получить остаток только по конкретному складу простым путем я не нашел. В БД есть таблица shop_product_stocks, но у меня не получается сделать SQL запрос, не понимаю почему. Возвращает FALSE на конструкцию такого рода:

    {$current_count = mysql_query('SELECT count FROM shop_product_stocks WHERE stock_id = 1')}

    в ответ на Многовитринность и склады - гибкая настройка складов

  • NHShop NHShop 8 июля 2016 17:31 #

    Не работает код..

    в ответ на список названии и их ид складов

  • NHShop NHShop 8 июля 2016 17:10 #

    Это для SS6 код?

    В 7 не работает(

    в ответ на Многовитринность и склады - гибкая настройка складов

  • NHShop NHShop 8 июля 2016 10:22 #

    Придумал решение, но почему то оно не работает в том виде, в котором нужно.

    Я создал склады и привязал их к витринам, выбрал "Не показывать отсутствующие товары", но если у меня хотя бы на одном складе присутствует хотя бы одна единица товара или количество не указано, что соответствует p.count === null, товар отображается на всех витринах.

    Помогите разобраться, пожалуйста!

    в ответ на Видимость товара на витрине

  • NHShop NHShop 7 июля 2016 13:36 #

    Решил проблему частичным возвратом к дефолтным функциям cart и checkout и перерисовкой CSS.

    в ответ на Исчезла кнопка подтверждения заказа

  • NHShop NHShop 6 июля 2016 10:07 #

    При нажатии на кнопки "Оформить заказ" в отладчике появляется строка "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience". Может ли это как-то влиять на работу скрипта?

    в ответ на Исчезла кнопка подтверждения заказа

  • NHShop NHShop 6 июля 2016 09:33 #

    http://nippon-house.ru/

    Вообще на сайте очень много ошибок, потихоньку исправляю.

    UPD к ситуации:

    Внутри cart.html присутствуют вот такие скрипты:


    <script>
        $(document).ready(function(){
            var tot = $(".total").text();
            tot = tot.replace(/[^\d]/gi, '')*1;
            //var price = $(".shipping_pricing").text()*1;
            
            $("#frst_b").click(function(){
                //alert(tot);
                if(tot < 2000){
                    $(".pullup").show();
                    $(this).prop( "disabled", false );
                    $('.frst_b_h .checkout_holder').css("background", "#B6B693");
                    $('.frst_b_h .green').css("background", "#B6B693");
                   return false; 
                }
            })
            
            $("select").change(function(){
                var town = $(this).attr("class");
                var price = $(this).children("option:selected").attr("dop");
                var order = $(this).children("option:selected").attr("rel");
               // alert(order);
                //var price = $(".shipping_pricing").text();
                $("#"+town).children("p").children("b").text(order);
                $("#"+town).children("ul").children("li:first-child").children("b").text(order);
                $("#"+town).children("ul").children("li:last-child").children("b").text(price);
                $("#"+town).show();
                if (tot < order){
                    $("#add_price").val(price);
                }
                //alert(town)
                $("#no-border_ex").show();
            })
            
            $("#scnd_b").click(function(){
                $(".total").text(tot+price);
                //alert(tot+price);
                //return false;
            })
        })
    </script>
    
    <script>
    $(document).ready(function() { 
    	$("#cart_form").submit(function(){ 
    		$("#cart_hld_inner").css('height','630px');
    		$("#cart_hld_inner").css('overflow-y','scroll');
    		var form = $(this);
    		var msng = form.serialize(); 
    		msng = msng  + '&checkout=Proceed to checkout&inpopup=1';
    			$.ajax({ 
    			   type: 'POST', 
    			   url: '{$wa_app_url}cart/', 
    			   dataType: "html",
    			   data: msng,
    		       success: function(data){ // событие после удачного обращения к серверу и получения ответа
    		       		if (data['error']) { // если обработчик вернул ошибку
    		       			alert(data['error']); // покажем её текст
    		       		} else { // если все прошло ок
    		       			//alert(data);
    		       			$("#cart_hld_inner").html(data);
    		       			//alert(data);
    		       			$(".step.current").next("div.step").addClass("current");
    		       			//alert('Письмо отвравлено! Чекайте почту! =)'); // пишем что все ок
    		       			form.find('input[type="submit"]').prop('disabled', false);
    		       			
    		       		}
    		         },
    		       error: function (xhr, ajaxOptions, thrownError) { // в случае неудачного завершения запроса к серверу
    		            alert(xhr.status); // покажем ответ сервера
    		            alert(thrownError); // и текст ошибки
    		         },
    		       complete: function(data) { // событие после любого исхода
    		            form.find('input[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно
    		         }
    			     });
    		return false; // вырубаем стандартную отправку формы
    	});
    });
        
    </script>

    Первая часть кода (включая $("#scnd_b")) генерирует поведение кнопок и промежуточного pullup'а с кнопкой "Оформить заказ" - тут разработчик все таки оставил комментарии...

    Вторая часть кода, судя по всему, готовит некие параметры заказа для чекаута

    var msng = form.serialize(); 
    msng = msng  + '&checkout=Proceed to checkout&inpopup=1';

    и передает их в url: '{$wa_app_url}cart/',

    И вот какая особенность. При таком варианте во всплывающем окне появляется форма подтверждения заказа (по предустановленному в бекэнде порядку - контактные данные - оплата и т.д), но кнопка "Оформить заказ" отсутствтует, хотя вроде бы, если судить по этому коду


    complete: function(data) { // событие после любого исхода
    form.find('input[type="submit"]').prop('disabled', false); // в любом случае включим кнопку обратно

    присутствовать она должна.

    НО! Если мы меняем url: '{$wa_app_url}cart/', на url: '{$wa_app_url}checkout/', то после нажатия кнопки "Оформить заказ" на pullup'е, заказ оформляется без проверки данных, подхватывая их личного кабинета. Тоже не совсем понятное мне поведение..

    в ответ на Исчезла кнопка подтверждения заказа

  • NHShop NHShop 23 июня 2016 10:23 #

    Спасибо! Мне помогло!

    в ответ на Хлебные крошки

  • NHShop NHShop 19 июня 2016 12:04 #

    Дело в том, что у меня в чекауте вообще нигде нет функции использовать баллы, хотя партнерская программа запущена.

    Может ли эта функция быть закрыта или не предусмотрена на уровне кода, поскольку изначально тема не типовая и разрабатывалась программистами, с которыми теперь связи нет.

    в ответ на Оплата бонусными баллами

  • NHShop NHShop 19 июня 2016 11:39 #

    Николай, спасибо за ответ!

    Да, перенос был выполнен по инструкции, кэш очищег. Изначально магазин был построен на SS6, но при переносе и вводе лицензии был обновлено для 7. Может ли быть проблема в этом, потому что исходный код страницы формируется по разному:

    Вот это исходник рабочей страницы из бекапа:


    Вот это текущий "поехавший" исходиник:



    Заметил еще вот какую особенность:

    При подключении старой базы данных от версии на SS6 к файлам с SS7 верстка не нарушается.

    Можно ли например, чтобы долго не возиться взять из одной базы данных только статистику заказов и перенести их в другую?

    в ответ на Поехала верстка