Перейти к содержанию
Новая Simpla

Рекомендуемые сообщения

  • 1 месяц спустя...
Опубликовано

Скриптовая ошибка файла, потому не работает. Пакет перезалит, там уже работает.

Можете в файле /simpla/design/html/import.tpl  вставить код

{if $filename}  
{literal}
<script>
    var in_process=false;
    var count=1;
 
    // On document load
    $(function(){
        Piecon.setOptions({fallback: 'force'});
        Piecon.setProgress(0);
        $("#progressbar").progressbar({ value: 1 });
        in_process=true;
        do_import();        
    });
 
    function do_import(from)
    {
        from = typeof(from) != 'undefined' ? from : 0;
        $.ajax({
             url: "ajax/import.php",
                data: {from:from},
                dataType: 'json',
                success: function(data){
                    for(var key in data.items)
                    {
                        $('ul#import_result').prepend('<li><span class=count>'+count+'</span> <span title='+data.items[key].status+' class="status '+data.items[key].status+'"></span> <a target=_blank href="index.php?module=ProductAdmin&id='+data.items[key].product.id+'">'+data.items[key].product.name+'</a> '+data.items[key].variant.name+'</li>');
                        count++;
                    }
 
                    Piecon.setProgress(Math.round(100*data.from/data.totalsize));
                    $("#progressbar").progressbar({ value: 100*data.from/data.totalsize });
               
                    if(data != false && !data.end)
                    {
                        do_import(data.from);
                    }
                    else
                    {
                        Piecon.setProgress(100);
                        $("#progressbar").hide('fast');
                        in_process = false;
                    }
                },
                error: function(xhr, status, errorThrown) {
                    alert(errorThrown+'\n'+xhr.responseText);
                }              
        });
   
    }
 
</script>
{/literal}
{/if}

вместо

{literal}
<script>
{if $filename}  
    var in_process=false;
    var count=1;
 
    // On document load
    $(function(){
        Piecon.setOptions({fallback: 'force'});
        Piecon.setProgress(0);
        $("#progressbar").progressbar({ value: 1 });
        in_process=true;
        do_import();        
    });
 
    function do_import(from)
    {
        from = typeof(from) != 'undefined' ? from : 0;
        $.ajax({
             url: "ajax/import.php",
                data: {from:from},
                dataType: 'json',
                success: function(data){
                    for(var key in data.items)
                    {
                        $('ul#import_result').prepend('<li><span class=count>'+count+'</span> <span title='+data.items[key].status+' class="status '+data.items[key].status+'"></span> <a target=_blank href="index.php?module=ProductAdmin&id='+data.items[key].product.id+'">'+data.items[key].product.name+'</a> '+data.items[key].variant.name+'</li>');
                        count++;
                    }
 
                    Piecon.setProgress(Math.round(100*data.from/data.totalsize));
                    $("#progressbar").progressbar({ value: 100*data.from/data.totalsize });
               
                    if(data != false && !data.end)
                    {
                        do_import(data.from);
                    }
                    else
                    {
                        Piecon.setProgress(100);
                        $("#progressbar").hide('fast');
                        in_process = false;
                    }
                },
                error: function(xhr, status, errorThrown) {
                    alert(errorThrown+'\n'+xhr.responseText);
                }              
        });
   
    }
{/if}
</script>
{/literal}

 

 

Опубликовано (изменено)

Заработало! Супер! Спасибо огромное!!!

Еще такой вопрос возник. В карточке товара есть волшебное окошко с названием "входящая цена". Как бы его в файле экспорта-импорта отражать? По сути  с YML файла входящая цена заходит. вот бы ее сразу в это окошко забабахать. 

Кстати, при изменении курса валюты поставщика цена не меняется. (В версии 8.0.15-2 менялась).

Изменено пользователем Marsell
Опубликовано

Экспорт тоже кстати не работал. Реализовал это: https://forum.simplacms.ru/topic/5697-экспорт-товаров-с-выбором-категорий/ 

и заработало. С подменой файлов ставил. Возможно что файле экспорта ошибка. Или встал криво. Хотя дважды ставил.

Опубликовано

Я тоже на форуме нашел примерно такое же решение уважаемого Мишани: https://forum.simplacms.ru/topic/9798-закупочная-цена-в-админке/

Уже переделаные файлы тоже прикреплю. Может кому надо будет. Добавлен еще файл ProductsAdmin.php чтобы входящая цена отображалась в админке в каталоге товаров.

Только проблема осталась: Все товары при экспорте переселились в колонку "Входящая цена". 

При загрузке товаров через YML ссылку в админке в графе "Цена" отображается входящая цена. Поле "Входящая цена" - пустое. На сайте цена отображается корректно (т.е. с учетом наценки проставленной при импорте от поставщика). При экспорте в xls файл все цены с учетом наценки отображаются в поле "Входящая цена". Поле "Цена" пустое. Если вручную прописать входящую цену в карточке товара, то админке в каталоге отображается правильно и в экспорте тоже.

И еще: В пришедших заказах почему то сразу стоит галочка "Заказ оплачен". Может только у меня что-то?

 

Закупочная цена в админке.rar

Опубликовано

Сделана входящая цена для стандартного CSV импорта симплы. Там надо только в прайсе указать поле входящая цена !!

XML загрузчик - это другой модуль совсем, он сделан по стандарт Яндекса. Но если надо цену из него кидать под входящую, тогда в файле

engine/modules_xml/xml_yandex.php

заменить $variant->price на $variant->entry_price

строки: 206,227

Опубликовано
1 час назад, admin сказал:

Сделана входящая цена для стандартного CSV импорта симплы. Там надо только в прайсе указать поле входящая цена !!

XML загрузчик - это другой модуль совсем, он сделан по стандарт Яндекса. Но если надо цену из него кидать под входящую, тогда в файле

engine/modules_xml/xml_yandex.php

заменить $variant->price на $variant->entry_price

строки: 206,227

Поменял входящая цена встала на место. Однако в списке товаров окно цена осталось пустым, хотя на сайте отражается корректно. Что примечательно неактивные товары отражаются корректно в списке товаров в админке (см.вложение). В карточке же товара, все осталось прежним.

1.jpg

2.jpg

Опубликовано

Чтобы заполнялись оба поля, надо добавить $variant->price , чтобы было 3 параметра.

Но тогда параметры поля будут одинаковы входящей цены и цены, т.к. в xml файле яндекса нет входящей цены.

Поэтому изначально и не заполнялось поле входящей цены.

Вы можете добавить $variant->price и потом через курс поставщика устанавливать для него наценку от входящей цены. Тогда цены будут разные.

Опубликовано

Наценку через курс поставщика я и сделал. Поэтому собственно и говорю, что на сайте цена отображается с учетом наценки, в экспорте тоже. А в админке так и не хочет. 

Сделал как сказали. Получилось. Теперь хоть в карточке товара в обоих графах входная цена, но в списке товаров в розничной цене корректно отображается с учетом курса поставщика. Однако это не постоянная величина. Если производить какие-либо манипуляции с файлом экспорта и залить обратно на сайт, то розничная цена опять изменится на величину курса поставщика (т.к. в файле экспорта розничная цена указывается с учетом курса поставщика). Кстати, редактировать розничную цену тоже невозможно по этой же причине. Возможно ли сделать так, что если заполнить графу входящая цена автоматически заполнялась розничная цена с учетом коэффициента? На форуме предлагалось делать запрос в базу данных увеличить цену на коэффициент, допустим 1,2. Но это с каждой выгрузкой придется делать. Может можно где то прописать этот коэффициент? И потом любой поставщик, или вручную вбитая входная цена покажет розничную. И кстати, можно будет безболезненно округлять-редактировать розничные цены.

И еще такой вопрос: Наличие показывает некорректно. Проверял на сайте поставщика - нет. У меня есть. И количество? В файле YML показывает количество - на входе нет. Возможно решить эту проблему?

Опубликовано

Сделать возможно все, но это уже под индивидуальный заказ.

По поводу количества. Загрузчик работает по стандарту Яндекса. В прайсе должно стоять available="true" или "false" для количества товара.

Если там стоит конкретно кол-во, то надо знать название параметра, т.к. его кто как хочет, так и пишет.

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

Под конкретного поставщика можно делать отдельный файл загрузчика.

Для этого в поставщике есть:  Ссылка на модуль xml

Вы может написать под пареметры поставщика отдельный файл загрузчика и тогда он будет все грузить от данного поставщика.

Либо попросить нас об этом.

 

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...