Хорошая тема. Любые вопросы по CS-Cart и не только

После установки кастомных модулей, резко возросла нагрузка на сервер, почти в 3,5 раза. Такое ощущение, что подсадили майнер фрилансеры или где-то накосячили с кодом, что-ли или так совпало и меня взломали одновременно с установкой. Если я отключу новые модули на время, это поможет понять что проблема в них или нужно полностью стирать с сервера?

Отключайте сторонние модули, удалять с сервера не обязательно. Если нагрузка после этого падает, то 100% в них есть проблема.

Еще можно так

{if  $category_data}
    .....
{/if}
1 лайк

Здравствуйте! Я делаю покупку без регистрации и нужен только 1 шаг - “Адрес доставки”, как его можно перенести его в корзину?

То есть, чтоб был перечень товаров в корзине и просто ниже сразу же поля “Адрес доставки”.

Попробовал в cart_content прописать такой инклуд, но попытка не обратилась успехом
{include file=“views/checkout/components/steps/step_two.tpl”}

Вам наоборот нужно на оформление заказа добавить сверху блок, и в него заинклудить

{include file=“views/checkout/сart.tpl”}

Затем поменять ссылки с корзины на оформление заказа. Как вы хотели сделать не получится, т.к. там в контроллере много всяких функций вызывается, без которых оформление работать не будет

Друзья, подскажите пожалуйста как быстро пройти по всем товарам и установить поле “Рекомендованная цена” равным полю “Цена” ? Не нашел такой готовой кнопки, а SQL запрос придумать опыта не хватает (

Экспорт/импорт :slight_smile:

В MySQL запросе это будет выглядеть так

UPDATE cscart_products prods JOIN cscart_product_prices prodsPrice ON prods.product_id = prodsPrice.product_id SET prods.list_price = prodsPrice.price

1 лайк

Вверху уже дали ответ, разницы в запросах нет

UPDATE cscart_products t1
LEFT JOIN cscart_product_prices t2
ON t1.product_id = t2.product_id
SET t1.list_price = t2.price
WHERE t1.product_id = t2.product_id

1 лайк

Подскажите пожалуйста в вопросе типа отображения категорий.
Я хочу сделать для мобильных устройств отображение в виде “short_list” (краткий список), а для ПК - products_multicolumns(в несколько колонок).
Сделал контроллер app\my_addon\controllers\frontend\categories.post.php

use Tygh\Registry;

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

if ($mode == 'view') {

	//Варианты отображения товаров в на странице категорий
	// products_multicolumns - в несколько колонок
	// products_without_options - - без опций
	// short_list - краткий список

	$selected_layout = fn_get_products_layout($_REQUEST);
	$is_mobile = fn_categories_list_is_mobile();

	if ($is_mobile && $selected_layout != "short_list") {
		$selected_layout = "short_list";
	}

	if (!$is_mobile && $selected_layout != "products_multicolumns") {
		$selected_layout = "products_multicolumns";
	}

Tygh::$app['view']->assign('selected_layout', $selected_layout);

}

Но как только я применяю фильтры, то получаю что ниже отобранных товаров, появляется лишний блок с товарами включая строку(полоску) вариантов отображения товаров.
Вот пример:

Что может посоветовать сделать?
Может воспользоваться
fn_set_hook(‘get_products_layout_post’, $selected_view, $params); ?
Да, возможно. Но ведь нигде в коде магазина, даже в ваших модулях такой хук не используется, а используется лишь свзяка:

$selected_layout = fn_get_products_layout($_REQUEST);
Tygh::$app['view']->assign('selected_layout', $selected_layout);

Спасибо.

Разница между этими видами списка в том, какое количество товаров будет отображаться в мобильной версии и в компьютерной? Например, в мобильной всего 10 товаров хотите отобразить, а в полной 150?

приветствую. нужно подчистить наименования продуктов, подскажите как составить запрос к БД. например нужно удалить из наименования слово Россия

В mysql у UPDATE есть функция REPLACE она и поможет сделать замену по условию LIKE ‘%строка%’
Первый параметр функции это будет ваше поле, второй - это строка которую надо заменить, а третий это то на что надо заменить, в вашем случае третий параметр будет пустотой

Переношу магазин с одного сервера на другой.
Сделал полную выгрузку товаров в csv со всеми колонками.
Выгружаю в чистый магазин.
Каталог выгружается, но выходит множество сообщений для разных товаров:

Ошибка Не удалось импортировать товар 4769: опция “Размеры полотенец” недоступна для данной вариации товара.

Куда копать? Почему рабочий CSV не ставится на чистую установке CS-Cart? Что не так с опциями может быть в CSV если я просто выгрузил и загружаю их снова без изменений?

Мне просто надо менять тип отображения в зависимости от типа устройства.
сеткой - для ПК, а списком - телефон/планшет.

CSV попробуйте сохранить таким образом: Файл - сохранить как - книга excel
Тип файла выберите CSV(MS-DOS) и дальше везде нажмите “Да”, если будет спрашивать. И после новый сохраненный файл импортируйте. В нём могут быть каракули, но импортируется он как должен

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

Хм… не понял ваш ход мысли. Поделитесь вашим решением.
И потом… вы говорите “стили”, а вот как же так, что в родном коде УЖЕ неоднократно штатно используется решение

$selected_layout = fn_get_products_layout($_REQUEST);
Tygh::$app['view']->assign('selected_layout', $selected_layout);

?

вдруг перестали добавляться картинки к продуктам, то есть как будто загружается, сохраняю, а картинки нет.
Подскажите, что это может быть?

Попробуйте

UPDATE cscart_product_descriptions SET product = REPLACE(product, 'Россия', '');
UPDATE cscart_ult_product_descriptions SET product = REPLACE(product, 'Россия', '');
2 лайка