admin Опубликовано 29 мая, 2022 Поделиться Опубликовано 29 мая, 2022 Новая Simpla php-8.0.15-3 Сделан ряд исправлений ошибок в скрипте по сравнению с Новая Simpla php-8.0.15-2. new_simpla-php-8.0.15-3.zip Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 1 июля, 2022 Поделиться Опубликовано 1 июля, 2022 Здравствуйте. Почему то импорт так и не работает. Как исправить? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 1 июля, 2022 Автор Поделиться Опубликовано 1 июля, 2022 Скриптовая ошибка файла, потому не работает. Пакет перезалит, там уже работает. Можете в файле /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} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 1 июля, 2022 Поделиться Опубликовано 1 июля, 2022 (изменено) Заработало! Супер! Спасибо огромное!!! Еще такой вопрос возник. В карточке товара есть волшебное окошко с названием "входящая цена". Как бы его в файле экспорта-импорта отражать? По сути с YML файла входящая цена заходит. вот бы ее сразу в это окошко забабахать. Кстати, при изменении курса валюты поставщика цена не меняется. (В версии 8.0.15-2 менялась). Изменено 1 июля, 2022 пользователем Marsell Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 2 июля, 2022 Поделиться Опубликовано 2 июля, 2022 Экспорт тоже кстати не работал. Реализовал это: https://forum.simplacms.ru/topic/5697-экспорт-товаров-с-выбором-категорий/ и заработало. С подменой файлов ставил. Возможно что файле экспорта ошибка. Или встал криво. Хотя дважды ставил. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 2 июля, 2022 Автор Поделиться Опубликовано 2 июля, 2022 В файле экспорта надо написать так: <h1>Экспорт товаров</h1> {if empty($message_error) || isset($message_error) && $message_error != 'no_permission'} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 2 июля, 2022 Автор Поделиться Опубликовано 2 июля, 2022 По входящей цене импорта. Вот эти файлы надо заменить, должно работать simpla/design/html/import.tpl simpla/ajax/import.php simpla/ajax/export.php import.tpl import.php export.php Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 3 июля, 2022 Поделиться Опубликовано 3 июля, 2022 Я тоже на форуме нашел примерно такое же решение уважаемого Мишани: https://forum.simplacms.ru/topic/9798-закупочная-цена-в-админке/ Уже переделаные файлы тоже прикреплю. Может кому надо будет. Добавлен еще файл ProductsAdmin.php чтобы входящая цена отображалась в админке в каталоге товаров. Только проблема осталась: Все товары при экспорте переселились в колонку "Входящая цена". При загрузке товаров через YML ссылку в админке в графе "Цена" отображается входящая цена. Поле "Входящая цена" - пустое. На сайте цена отображается корректно (т.е. с учетом наценки проставленной при импорте от поставщика). При экспорте в xls файл все цены с учетом наценки отображаются в поле "Входящая цена". Поле "Цена" пустое. Если вручную прописать входящую цену в карточке товара, то админке в каталоге отображается правильно и в экспорте тоже. И еще: В пришедших заказах почему то сразу стоит галочка "Заказ оплачен". Может только у меня что-то? Закупочная цена в админке.rar Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 3 июля, 2022 Автор Поделиться Опубликовано 3 июля, 2022 Сделана входящая цена для стандартного CSV импорта симплы. Там надо только в прайсе указать поле входящая цена !! XML загрузчик - это другой модуль совсем, он сделан по стандарт Яндекса. Но если надо цену из него кидать под входящую, тогда в файле engine/modules_xml/xml_yandex.php заменить $variant->price на $variant->entry_price строки: 206,227 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 3 июля, 2022 Поделиться Опубликовано 3 июля, 2022 1 час назад, admin сказал: Сделана входящая цена для стандартного CSV импорта симплы. Там надо только в прайсе указать поле входящая цена !! XML загрузчик - это другой модуль совсем, он сделан по стандарт Яндекса. Но если надо цену из него кидать под входящую, тогда в файле engine/modules_xml/xml_yandex.php заменить $variant->price на $variant->entry_price строки: 206,227 Поменял входящая цена встала на место. Однако в списке товаров окно цена осталось пустым, хотя на сайте отражается корректно. Что примечательно неактивные товары отражаются корректно в списке товаров в админке (см.вложение). В карточке же товара, все осталось прежним. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 3 июля, 2022 Автор Поделиться Опубликовано 3 июля, 2022 Чтобы заполнялись оба поля, надо добавить $variant->price , чтобы было 3 параметра. Но тогда параметры поля будут одинаковы входящей цены и цены, т.к. в xml файле яндекса нет входящей цены. Поэтому изначально и не заполнялось поле входящей цены. Вы можете добавить $variant->price и потом через курс поставщика устанавливать для него наценку от входящей цены. Тогда цены будут разные. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Marsell Опубликовано 4 июля, 2022 Поделиться Опубликовано 4 июля, 2022 Наценку через курс поставщика я и сделал. Поэтому собственно и говорю, что на сайте цена отображается с учетом наценки, в экспорте тоже. А в админке так и не хочет. Сделал как сказали. Получилось. Теперь хоть в карточке товара в обоих графах входная цена, но в списке товаров в розничной цене корректно отображается с учетом курса поставщика. Однако это не постоянная величина. Если производить какие-либо манипуляции с файлом экспорта и залить обратно на сайт, то розничная цена опять изменится на величину курса поставщика (т.к. в файле экспорта розничная цена указывается с учетом курса поставщика). Кстати, редактировать розничную цену тоже невозможно по этой же причине. Возможно ли сделать так, что если заполнить графу входящая цена автоматически заполнялась розничная цена с учетом коэффициента? На форуме предлагалось делать запрос в базу данных увеличить цену на коэффициент, допустим 1,2. Но это с каждой выгрузкой придется делать. Может можно где то прописать этот коэффициент? И потом любой поставщик, или вручную вбитая входная цена покажет розничную. И кстати, можно будет безболезненно округлять-редактировать розничные цены. И еще такой вопрос: Наличие показывает некорректно. Проверял на сайте поставщика - нет. У меня есть. И количество? В файле YML показывает количество - на входе нет. Возможно решить эту проблему? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 4 июля, 2022 Автор Поделиться Опубликовано 4 июля, 2022 Сделать возможно все, но это уже под индивидуальный заказ. По поводу количества. Загрузчик работает по стандарту Яндекса. В прайсе должно стоять available="true" или "false" для количества товара. Если там стоит конкретно кол-во, то надо знать название параметра, т.к. его кто как хочет, так и пишет. Загрузчик файла сделан для того, чтобы можно было его взять за основу. Под конкретного поставщика можно делать отдельный файл загрузчика. Для этого в поставщике есть: Ссылка на модуль xml Вы может написать под пареметры поставщика отдельный файл загрузчика и тогда он будет все грузить от данного поставщика. Либо попросить нас об этом. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.