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

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

Добавьте файл в свой модуль /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 лайков