Выбор отфильтрованных товаров для экспорта или массового редактирования


#1

Всем привет.
Сейчас, если мне нужно отредактировать или экспортировать много товаров(например 400), мне нужно:

  1. Загрузить 400 товаров на страницу(браузер начинает подвисать немного)
  2. Выбрать 400 товаров(не особо быстро работает)
    Ну и дальше заниматься уже по своим потребностям.

Что хочу предложить
Добавить возможность выбора всех, а не только тех, что на странице, товаров, которые отобраны для дальнейшей передачи в экспорт или массовое редактирование.


Поддержите кому интересно


Хорошая тема. Любые вопросы по CS-Cart и не только
Вариации: не удобно добавлять новую хар-ку
Вышли CS-Cart и Multi-Vendor 4.9.3
Улучшение экспорта - возможность задать диапазон экспортируемых товаров по характеристике
#2

Очень нужная функция!


#3

Отлично, спасибо за поддержку)


#4

Поддерживаю!


#5

Отлично, нас уже много)


#6

Есть решение у меня. Рабочее


#7

Поделитесь?


#8

Тоже ооочень нужный функционал.


#9

Оставьте пожалуйста лукаса первому сообщению для весомости


#10

Так вы не выбирайте ничего и тогда в экспорт все уйдут.

Еще наш модуль экспорта категорий позволяет делать товаров из нужных категорий


#11

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


#12

Да
Напишите в личку


#13

По фильтрам да, нет такого. Нужна доработка


#14

Я думал вы поделитесь со всем сообществом :slightly_smiling_face:


#15
  • Пункт первый

Добавьте файл в свой модуль /app/addons/ваш_модуль/controllers/backend/products.post.php
<?php
use Tygh\Registry;

if (!defined('BOOTSTRAP')) { die('Access denied'); }

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    return array(CONTROLLER_STATUS_OK);
}

if ($mode == 'manage') {
	Tygh::$app['session']['search_params'] = $_REQUEST;
}

if ($mode == 'export_search') {
	
	$params = Tygh::$app['session']['search_params'];
	$params['items_per_page'] = 0;
	
	list($products, $search) = fn_get_products($params, 0, DESCR_SL);
    
    if ($products) {
    	Tygh::$app['session']['product_ids'] = fn_array_column($products, 'product_id');
		
        if (empty(Tygh::$app['session']['export_ranges'])) {
            Tygh::$app['session']['export_ranges'] = array();
        }

        if (empty(Tygh::$app['session']['export_ranges']['products'])) {
            Tygh::$app['session']['export_ranges']['products'] = array('pattern_id' => 'products');
        }

        Tygh::$app['session']['export_ranges']['products']['data'] = array('product_id' => Tygh::$app['session']['product_ids']);

        unset($_REQUEST['redirect_url']);
        
        return array(CONTROLLER_STATUS_REDIRECT, 'exim.export?section=products&pattern_id=' . Tygh::$app['session']['export_ranges']['products']['pattern_id']);
    }
}
  • Пункт второй

и в /design/backend/templates/addons/ваш_модуль/hooks/products/action_buttons.post.tpl

{if $products}
	<li>{btn type="list" text=__("export_search") href="products.export_search"}</li>
{/if}
  • Пункт третий

Добавьте переменную “export_search”, можете назвать ее как “Экспортировать найденные”.

  • Пункт четвертый

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

Вот и все.


Экспорт фото из магазина
#16

Спасибо, отличнейшее решение.
Очень помогли)


#17

Спасибо, отличное решение!