Pycu4 Posted January 31, 2013 Report Share Posted January 31, 2013 После неудачного импорта очень много товаров добавились неправильно. Как удалить их все разом?И как на будущее настроить, что после импорта товры не из прайса удалялись? Хотя бы в import.php параметр удаления какой нужен для удаления позиции? Quote Link to post Share on other sites
JustDavali Posted January 31, 2013 Report Share Posted January 31, 2013 перед импортом надо всегда бекап делать.что бы потом при неудачном раскладе вернуть все как было. Quote Link to post Share on other sites
Enhill Posted January 31, 2013 Report Share Posted January 31, 2013 Как вариант запросом в базу:mysql_query("TRUNCATE TABLE s_products"); Quote Link to post Share on other sites
mart Posted January 31, 2013 Report Share Posted January 31, 2013 mysql_query("TRUNCATE TABLE s_variants");mysql_query("TRUNCATE TABLE s_products");mysql_query("TRUNCATE TABLE s_product_images");mysql_query("TRUNCATE TABLE s_relative_products");mysql_query("TRUNCATE TABLE s_product_categories");mysql_query("TRUNCATE TABLE s_options");Пишу по памяти, поэтому некоторые таблицы могут иметь схожие названия. Quote Link to post Share on other sites
larenso Posted January 29, 2015 Report Share Posted January 29, 2015 (edited) mysql_query("TRUNCATE TABLE s_variants"); mysql_query("TRUNCATE TABLE s_products"); mysql_query("TRUNCATE TABLE s_product_images"); mysql_query("TRUNCATE TABLE s_relative_products"); mysql_query("TRUNCATE TABLE s_product_categories"); mysql_query("TRUNCATE TABLE s_options");Пишу по памяти, поэтому некоторые таблицы могут иметь схожие названия. Есть ошибки.Вот верно: mysql_query("TRUNCATE TABLE s_variants");mysql_query("TRUNCATE TABLE s_products");mysql_query("TRUNCATE TABLE s_images");mysql_query("TRUNCATE TABLE s_related_products");mysql_query("TRUNCATE TABLE s_products_categories");mysql_query("TRUNCATE TABLE s_options"); Себе сделал в админке отдельный пункт. Для всей очистки товаров и заказов. То так лениво иногда по странице удалять было) Edited January 29, 2015 by larenso Quote Link to post Share on other sites
Noxter Posted January 29, 2015 Report Share Posted January 29, 2015 Не дай бог случайно какую то из кнопок нажать Quote Link to post Share on other sites
Maksclub Posted June 12, 2015 Report Share Posted June 12, 2015 Е Себе сделал в админке отдельный пункт. Для всей очистки товаров и заказов. То так лениво иногда по странице удалять было) Подскажите реализацию как тоже сделать, мне для полигонного сайта, испытывать/отрабатывать всякие новинки и модули, соответственно приходится загружать товары/импортировать, а вот каждый раз лезть в БД не комфортно что-то стало.... Quote Link to post Share on other sites
larenso Posted June 12, 2015 Report Share Posted June 12, 2015 Не дай бог случайно какую то из кнопок нажать Там конечно подтверждение сделано для удаления) Quote Link to post Share on other sites
Maksclub Posted June 12, 2015 Report Share Posted June 12, 2015 Там конечно подтверждение сделано для удаления) Подскажите реализацию пожалуйста ) Quote Link to post Share on other sites
larenso Posted June 12, 2015 Report Share Posted June 12, 2015 (edited) Подскажите реализацию как тоже сделать, мне для полигонного сайта, испытывать/отрабатывать всякие новинки и модули, соответственно приходится загружать товары/импортировать, а вот каждый раз лезть в БД не комфортно что-то стало.... В файле /simpla/design/html/settings.tpl <!-- Параметры --> <div class="block layer"> <h2>Очистка магазина</a></h2> <a class="clear_orders" id="clear_orders" href="javascript:void(0);">Удалить все <b>заказы</b></a> <a class="clear_products" id="clear_products" href="javascript:void(0);">Удалить все <b>товары</b></a> </div> <!-- Параметры (The End)--> <input class="button_green button_save" type="submit" name="save" value="Сохранить" /> <!-- Левая колонка свойств товара (The End)--> </form> <!-- Основная форма (The End) --> {literal} <script> $(function() { $('#change_password_form').hide(); $('#change_password').click(function() { $('#change_password_form').show(); }); }); $('#clear_orders').click(function(){ function refresh() { if (confirm('Вы уверенны, что хотите удалить все заказы?')) { $.ajax({ url: "ajax/clear_orders.php", data: {clear:1}, success: function(data){ //console.log(data); if(data) { window.location.reload(); } }, error:function() { alert('error'); } }); } else { return false; } } refresh(); }); $('#clear_products').click(function(){ function refresh() { if (confirm('Вы уверенны, что хотите удалить все товары?')) { $.ajax({ url: "ajax/clear_products.php", data: {clear:1}, success: function(data){ //console.log(data); if(data) { window.location.reload(); } }, error:function() { alert('error'); } }); } else { return false; } } refresh(); }); </script> {/literal} Создаем файл в /simpla/ajax/clear_orders.php <?php chdir('../..'); require_once('api/Simpla.php'); class Clear_Order_Ajax extends Simpla { public function fetch() { setlocale(LC_ALL, 'ru_RU.UTF-8'); $this->db->query('SET NAMES utf8'); if(!empty($this->request->get('clear'))){ $this->db->query('TRUNCATE s_orders'); $this->db->query('TRUNCATE s_orders_labels'); $this->db->query('TRUNCATE s_purchases'); } return true; } } $clear_order_ajax = new Clear_Order_Ajax(); $data = $clear_order_ajax->fetch(); if($data) { echo $data; } Создаем еще один файл /simpla/ajax/clear_products.php <?php chdir('../..'); require_once('api/Simpla.php'); class Clear_Order_Ajax extends Simpla { public function fetch() { setlocale(LC_ALL, 'ru_RU.UTF-8'); $this->db->query('SET NAMES utf8'); if(!empty($this->request->get('clear'))){ $this->db->query('TRUNCATE s_variants'); $this->db->query('TRUNCATE s_products'); $this->db->query('TRUNCATE s_images'); $this->db->query('TRUNCATE s_related_products'); $this->db->query('TRUNCATE s_products_categories'); $this->db->query('TRUNCATE s_options'); } return true; } } $clear_order_ajax = new Clear_Order_Ajax(); $data = $clear_order_ajax->fetch(); if($data) { echo $data; } В последнем варианте смотрите внимательно, так как у вас может отличаться. У меня допустим к товарам еще цеплялись видео s_videos P.S.Фотографии товаров из /products/ НЕ удаляются. Их руками нужно. Не стал замарачиваться дальше править это) Edited June 12, 2015 by larenso Quote Link to post Share on other sites
Maksclub Posted June 12, 2015 Report Share Posted June 12, 2015 (edited) В файле /simpla/design/html/settings.tpl <!-- Параметры --> <div class="block layer"> <h2>Очистка магазина</a></h2> <a class="clear_orders" id="clear_orders" href="javascript:void(0);">Удалить все <b>заказы</b></a> <a class="clear_products" id="clear_products" href="javascript:void(0);">Удалить все <b>товары</b></a> </div> <!-- Параметры (The End)--> <input class="button_green button_save" type="submit" name="save" value="Сохранить" /> <!-- Левая колонка свойств товара (The End)--> </form> <!-- Основная форма (The End) --> {literal} <script> $(function() { $('#change_password_form').hide(); $('#change_password').click(function() { $('#change_password_form').show(); }); }); $('#clear_orders').click(function(){ function refresh() { if (confirm('Вы уверенны, что хотите удалить все заказы?')) { $.ajax({ url: "ajax/clear_orders.php", data: {clear:1}, success: function(data){ //console.log(data); if(data) { window.location.reload(); } }, error:function() { alert('error'); } }); } else { return false; } } refresh(); }); $('#clear_products').click(function(){ function refresh() { if (confirm('Вы уверенны, что хотите удалить все товары?')) { $.ajax({ url: "ajax/clear_products.php", data: {clear:1}, success: function(data){ //console.log(data); if(data) { window.location.reload(); } }, error:function() { alert('error'); } }); } else { return false; } } refresh(); }); </script> {/literal} Создаем файл в /simpla/ajax/clear_orders.php <?php chdir('../..'); require_once('api/Simpla.php'); class Clear_Order_Ajax extends Simpla { public function fetch() { setlocale(LC_ALL, 'ru_RU.UTF-8'); $this->db->query('SET NAMES utf8'); if(!empty($this->request->get('clear'))){ $this->db->query('TRUNCATE s_orders'); $this->db->query('TRUNCATE s_orders_labels'); $this->db->query('TRUNCATE s_purchases'); } return true; } } $clear_order_ajax = new Clear_Order_Ajax(); $data = $clear_order_ajax->fetch(); if($data) { echo $data; } Создаем еще один файл /simpla/ajax/clear_products.php <?php chdir('../..'); require_once('api/Simpla.php'); class Clear_Order_Ajax extends Simpla { public function fetch() { setlocale(LC_ALL, 'ru_RU.UTF-8'); $this->db->query('SET NAMES utf8'); if(!empty($this->request->get('clear'))){ $this->db->query('TRUNCATE s_variants'); $this->db->query('TRUNCATE s_products'); $this->db->query('TRUNCATE s_images'); $this->db->query('TRUNCATE s_related_products'); $this->db->query('TRUNCATE s_products_categories'); $this->db->query('TRUNCATE s_options'); } return true; } } $clear_order_ajax = new Clear_Order_Ajax(); $data = $clear_order_ajax->fetch(); if($data) { echo $data; } В последнем варианте смотрите внимательно, так как у вас может отличаться. У меня допустим к товарам еще цеплялись видео s_videos P.S.Фотографии товаров из /products/ НЕ удаляются. Их руками нужно. Не стал замарачиваться дальше править это) Огромное спасибо! Я так понимаю — из originals они удаляются? Edited June 12, 2015 by Maksclub Quote Link to post Share on other sites
larenso Posted June 12, 2015 Report Share Posted June 12, 2015 Огромное спасибо! Не за что. Еще забыл классы передать. .clear_orders { display: block; float: left; width: auto; font-size: 12px; text-decoration: none; padding: 7px 17px 7px 50px; border: 1px solid #c0c0c0; color: #5e5e5e; background: #FFE8E8 url(../images/menu/orders.png) no-repeat -17px -5px; border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; -webkit-border-radius: 15px; white-space: nowrap; margin-top: 3px; margin-right: 15px; } .clear_orders:hover { color: #FFFFFF; background: #FF6060 url(../images/menu/orders.png) no-repeat -17px -5px; } .clear_products { display: block; float: left; width: auto; font-size: 12px; text-decoration: none; padding: 7px 17px 7px 50px; border: 1px solid #c0c0c0; color: #5e5e5e; background: #FFE8E8 url(../images/menu/catalog.png) no-repeat -15px -22px; border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; -webkit-border-radius: 15px; white-space: nowrap; margin-top: 3px; margin-right: 15px; } .clear_products:hover { color: #FFFFFF; background: #FF6060 url(../images/menu/catalog.png) no-repeat -15px -22px; } Quote Link to post Share on other sites
Maksclub Posted June 12, 2015 Report Share Posted June 12, 2015 (edited) Не за что. Еще забыл классы передать. Да стили не нужны, тестовый же сайт, а вот ошибочку выдает, правда на кнопке "Удалить все заказы", товары пока не могу стереть. UPD: Невнимательно сделал... спасибо ) Все работает, clear_orders.php не создал Edited June 12, 2015 by Maksclub Quote Link to post Share on other sites
Kors Posted June 12, 2015 Report Share Posted June 12, 2015 Ужас, непомерно сложно для такой простой задачи, особенно если принять во внимание, что делается для внутреннего пользования. Надо бы проще, примерно так:1. в simpla/index.php в конце добавить: if($_REQUEST['clear_products']){ $backend->db->query('TRUNCATE s_variants'); $backend->db->query('TRUNCATE s_products'); $backend->db->query('TRUNCATE s_images'); $backend->db->query('TRUNCATE s_related_products'); $backend->db->query('TRUNCATE s_products_categories'); $backend->db->query('TRUNCATE s_options'); } 2. В нужном месте в админке поставить ссылку <a href="simpla?clear_products=yes">Удалить все товары</a>3. Если боитесь удалить случайно, на ссылку еще подтверждение повесить... Аналогично по заказам... Quote Link to post Share on other sites
Xdriver Posted August 28, 2015 Report Share Posted August 28, 2015 truncate s_images truncate s_products truncate s_categories truncate s_brands Это все прекрасно, но при импорте смотрим картинку... undefined Это с учетом удаления всех картинок на фтп домен / files / ... После импорта товар размещается без картинок, либо картинки соответствуют не своему товару, тот же трабл с контен том к товарам. Где следы остаются? Если вручную удалять позиции через админку (на это уходит Очень много времени) - все ОК. Заранее благодарен за ответ. Quote Link to post Share on other sites
Xdriver Posted August 28, 2015 Report Share Posted August 28, 2015 truncate s_imagestruncate s_productstruncate s_categoriestruncate s_brands Это все прекрасно, но при импорте смотрим картинку... undefinedЭто с учетом удаления всех картинок на фтп домен / files / ...После импорта товар размещается без картинок, либо картинки соответствуют не своему товару, тот же трабл с контен том к товарам.Где следы остаются?Если вручную удалять позиции через админку (на это уходит Очень много времени) - все ОК.Заранее благодарен за ответ.simpla_import.jpgРешено транкомtruncate s_imagestruncate s_productstruncate s_categoriestruncate s_brandsTRUNCATE s_variantsTRUNCATE s_related_productsTRUNCATE s_products_categoriestruncate SC_product_optionstruncate SC_product_options_settruncate s_purchases пробуем кнопку в админку... Quote Link to post Share on other sites
RedPython Posted August 9, 2018 Report Share Posted August 9, 2018 truncate s_imagestruncate s_productstruncate s_categories Это все прекрасно, но при импорте смотрим картинку...здорово что у Вас то всё "прекрасно" ... а быть может кто API подскажет Simpla, чтобы этим велоспидизмом не заниматься? Quote Link to post Share on other sites
Noxter Posted August 9, 2018 Report Share Posted August 9, 2018 truncate s_images truncate s_products truncate s_categories здорово что у Вас то всё "прекрасно" ... а быть может кто API подскажет Simpla, чтобы этим велоспидизмом не заниматься?В API симплы нет метода удаления сразу всех товаров. Quote Link to post Share on other sites
phukortsin Posted August 9, 2018 Report Share Posted August 9, 2018 а быть может кто API подскажет Simpla Что конкретно надо Вам подсказать?Если где располается, то в папке api.Если как изменить API в Simpla, чтобы был нужный Вам функционал, то это надо аккуратно программировать. Как сделать - в теме дано даже два способа. Если Вам это совсем непонятно, то надо искать мастера, который Вам выполнит за денежку... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.