Перейти к содержанию
Официальный форум поддержки Simpla

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

После неудачного импорта очень много товаров добавились неправильно. Как удалить их все разом?

И как на будущее настроить, что после импорта товры не из прайса удалялись?
Хотя бы в import.php параметр удаления какой нужен для удаления позиции?

Ссылка на сообщение
Поделиться на другие сайты

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");

Пишу по памяти, поэтому некоторые таблицы могут иметь схожие названия.
Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

 

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");

 

Себе сделал в админке отдельный пункт. Для всей очистки товаров и заказов. То так лениво иногда по странице удалять было) 

 

 

post-12698-0-31558000-1422565318_thumb.png

Изменено пользователем larenso
Ссылка на сообщение
Поделиться на другие сайты
  • 4 месяца спустя...

Е

 

Себе сделал в админке отдельный пункт. Для всей очистки товаров и заказов. То так лениво иногда по странице удалять было) 

 

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

 

а вот каждый раз лезть в БД не комфортно что-то стало....

Ссылка на сообщение
Поделиться на другие сайты

 

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

 

а вот каждый раз лезть в БД не комфортно что-то стало....

 

В файле /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/  НЕ удаляются. Их руками нужно. Не стал замарачиваться дальше править это)

Изменено пользователем larenso
Ссылка на сообщение
Поделиться на другие сайты

В файле /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 они удаляются?

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

Огромное спасибо! :)

 

Не за что.

 

Еще забыл классы передать.

 

.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;
}
Ссылка на сообщение
Поделиться на другие сайты

 

Не за что.

 

Еще забыл классы передать.

 


 

Да стили не нужны, тестовый же сайт, а вот ошибочку выдает, правда на кнопке "Удалить все заказы", товары пока не могу стереть.

 

UPD: Невнимательно сделал... спасибо ) Все работает, clear_orders.php не создал

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

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

 

Надо бы проще, примерно так:

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. Если боитесь удалить случайно, на ссылку еще подтверждение повесить...

 

Аналогично по заказам...

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...
truncate s_images

truncate s_products

truncate s_categories

truncate s_brands

 

Это все прекрасно, но при импорте смотрим картинку... undefined

Это с учетом удаления всех картинок на фтп домен / files / ...

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

Где следы остаются?

Если вручную удалять позиции через админку (на это уходит Очень много времени) - все ОК.

Заранее благодарен за ответ.

post-19553-0-00194700-1440787381_thumb.jpg

 

Ссылка на сообщение
Поделиться на другие сайты

 

truncate s_images
truncate s_products
truncate s_categories
truncate s_brands
 
Это все прекрасно, но при импорте смотрим картинку... undefined
Это с учетом удаления всех картинок на фтп домен / files / ...
После импорта товар размещается без картинок, либо картинки соответствуют не своему товару, тот же трабл с контен том к товарам.
Где следы остаются?
Если вручную удалять позиции через админку (на это уходит Очень много времени) - все ОК.
Заранее благодарен за ответ.

Решено транком

truncate s_images
truncate s_products
truncate s_categories
truncate s_brands
TRUNCATE s_variants
TRUNCATE s_related_products
TRUNCATE s_products_categories
truncate SC_product_options
truncate SC_product_options_set
truncate s_purchases
 
пробуем кнопку в админку...
Ссылка на сообщение
Поделиться на другие сайты
  • 2 года спустя...
truncate s_images
truncate s_products
truncate s_categories

 


Это все прекрасно, но при импорте смотрим картинку...

здорово что у Вас то всё "прекрасно"  :) ... а  быть может кто API подскажет Simpla, чтобы этим велоспидизмом не заниматься?

Ссылка на сообщение
Поделиться на другие сайты

truncate s_images

truncate s_products

truncate s_categories

 

 

здорово что у Вас то всё "прекрасно"  :) ... а  быть может кто API подскажет Simpla, чтобы этим велоспидизмом не заниматься?

В API симплы нет метода удаления сразу всех товаров.
Ссылка на сообщение
Поделиться на другие сайты

а  быть может кто API подскажет Simpla

 

Что конкретно надо Вам подсказать?

Если где располается, то в папке api.

Если как изменить API в Simpla, чтобы был нужный Вам функционал, то это надо аккуратно программировать. Как сделать - в теме дано даже два способа. Если Вам это совсем непонятно, то надо искать мастера, который Вам выполнит за денежку...

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Загрузка...
×
×
  • Создать...