Методы
Базовая функциональность
getProduct
Получает товар на основе заданного ID и языка.
$product = sCommerce::getProduct(1, 'ru');
getProductByAlias
Получает товар по его алиасу.
$product = sCommerce::getProductByAlias('my-product-alias');
getCategoryProducts
Получает товары, принадлежащие к определенной категории.
$products = sCommerce::getCategoryProducts(10, 'ru', 5);
Техническая функциональность
documentListing
Получает список товаров из кеша или устанавливает его, если не найдено.
$listing = sCommerce::documentListing();
moduleUrl
Получает URL модуля.
$url = sCommerce::moduleUrl();
config
Получает значение из конфигурационного файла на основе заданного ключа.
$catalogRoot = sCommerce::config('basic.catalog_root');
$friendlyUrlSuffix = sCommerce::config('basic.friendlyUrlSuffix');
Дополнительные методы
getTreeActiveCategories
Рекурсивно получает дерево категорий с подкатегориями. Автоматически применяет текущий язык, если установлен sLang, и может загружать TV.
$category = sCommerce::getTreeActiveCategories(10, 5, ['menu_main', 'menu_footer']);
- Первый аргумент — идентификатор категории.
- Второй аргумент — глубина (опционально, по умолчанию
10). - Третий аргумент — массив TV (опционально). Требует sLang, чтобы заполнить переведённые значения.
getCurrencies
Получает список всех доступных валют.
$currencies = sCommerce::getCurrencies();
tabRender
Рендерит вкладку для административной панели.
$view = sCommerce::tabRender('mypage', 'template', $data, 'Title', 'icon', 'help');
Примеры использования
Получение товаров категории:
use Seiger\sCommerce\Facades\sCommerce;
class ProductController extends BaseController
{
public function index()
{
$categoryId = evo()->documentIdentifier;
$products = sCommerce::getCategoryProducts($categoryId, 'ru', 10);
return view('products.index', compact('products'));
}
}
Работа с конфигурацией:
// Получение настроек
$catalogRoot = sCommerce::config('basic.catalog_root');
$mainCurrency = sCommerce::config('currencies.main', 'USD');
// Установка настроек
sCommerce::config('basic.friendlyUrlSuffix', '.html');