Всем привет.
Сейчас, если мне нужно отредактировать или экспортировать много товаров(например 400), мне нужно:
Загрузить 400 товаров на страницу(браузер начинает подвисать немного)
Выбрать 400 товаров(не особо быстро работает)
Ну и дальше заниматься уже по своим потребностям.
Что хочу предложить
Добавить возможность выбора всех , а не только тех, что на странице, товаров, которые отобраны для дальнейшей передачи в экспорт или массовое редактирование.
Поддержите кому интересно
11 лайков
Отлично, спасибо за поддержку)
1 лайк
fevzi
26.Апрель.2019 12:05:17
6
Есть решение у меня. Рабочее
Тоже ооочень нужный функционал.
Оставьте пожалуйста лукаса первому сообщению для весомости
theangriestman:
Что хочу предложить
Добавить возможность выбора всех, а не только тех, что на странице, товаров, которые отобраны для дальнейшей передачи в экспорт или массовое редактирование.
Так вы не выбирайте ничего и тогда в экспорт все уйдут.
Еще наш модуль экспорта категорий позволяет делать товаров из нужных категорий
Спасибо за предложение, но тут дело не в том, чтобы взять данные по категории, а по результатам фильтрации.
И не только для экспорта, но и для массового редактирования
1 лайк
theangriestman:
Спасибо за предложение, но тут дело не в том, чтобы взять данные по категории, а по результатам фильтрации.
И не только для экспорта, но и для массового редактирования
По фильтрам да, нет такого. Нужна доработка
Я думал вы поделитесь со всем сообществом
fevzi
02.Май.2019 08:51:24
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”, можете назвать ее как “Экспортировать найденные”.
Настройки сервера должны при этом позволять выгружать соответствующее кол-во товаров, необходимо проверить.
Вот и все.
10 лайков
Спасибо, отличнейшее решение.
Очень помогли)
vetalm
18.Август.2019 12:48:26
17
Спасибо, отличное решение!