остаётся доступен с поиска по ссылке
Поэтому и написал про поиск.
А так если нужно скрыть, то делов на 1 строчку.
\components\shop\frontend.php строка ~333
//если товар не найден - ошибка if (!$item) { cmsCore::error404(); }меняем на
//если товар не найден - ошибка if (!$item || !$item['published']) { cmsCore::error404(); }и по прямой ссылке отключенного товара будет 404 страница
Это относится только к цифровым товарам
Этот код сработает для товаров если добавить после
//если товар не найден - ошибка if (!$item) { cmsCore::error404(); }
у меня это 278 строка. Но и админу будет показывать 404 страница.
Не знаю правильно или нет написал, но вот такой код сработал и админу теперь показывает страница с неопубликованным товаром.
if ((!$inUser->id) && (!$item || !$item['published'])) { cmsCore::error404(); }