feat(product): add option to disable store feature

This commit is contained in:
2025-09-27 00:08:24 +03:00
parent f066069a1b
commit d7dd055e24
8 changed files with 97 additions and 34 deletions

View File

@@ -31,6 +31,7 @@ if (is_readable($sysLibPath . '/oc_telegram_shop.phar')) {
* @property ModelCustomerCustomerGroup $model_customer_customer_group
* @property ModelLocalisationOrderStatus $model_localisation_order_status
* @property DB $db
* @property Log $log
*/
class ControllerExtensionModuleTgshop extends Controller
{
@@ -342,11 +343,11 @@ TEXT,
'module_tgshop_theme_light' => 'light',
'module_tgshop_theme_dark' => 'dark',
'module_tgshop_mainpage_products' => 'most_viewed',
'module_tgshop_featured_products' => [],
'module_tgshop_order_customer_group_id' => 1,
'module_tgshop_order_default_status_id' => 1,
'module_tgshop_mini_app_url' => rtrim(HTTPS_CATALOG, '/') . '/image/catalog/tgshopspa/#/',
'module_tgshop_mainpage_categories' => 'latest10'
'module_tgshop_mainpage_categories' => 'latest10',
'module_tgshop_enable_store' => 1,
];
}
@@ -445,6 +446,17 @@ HTML,
],
'shop' => [
'module_tgshop_enable_store' => [
'type' => 'select',
'options' => [
0 => 'Выключено',
1 => 'Включено',
],
'help' => <<<HTML
Если опция <strong>включена</strong> пользователи смогут оформлять заказы прямо в Telegram-магазине. <br>
Если <strong>выключена</strong> оформление заказов будет недоступно. Вместо кнопки «Добавить в корзину» пользователи увидят кнопку «Перейти к товару», которая откроет страницу товара на вашем сайте. В этом режиме Telecart работает как каталог.
HTML,
],
'module_tgshop_mainpage_products' => [
'type' => 'select',
'options' => [
@@ -457,7 +469,7 @@ HTML,
'module_tgshop_featured_products' => [
'type' => 'products',
'help' => 'На главной странице будут отображаться избранные товары, если вы выберете этот вариант в настройке “Товары на главной”.',
'help' => 'На главной странице будут отображаться избранные товары, если вы выберете этот вариант в настройке “Товары на главной”. Если товары не выбраны, то будут показаны популярные товары.',
],
'module_tgshop_mainpage_categories' => [
@@ -522,7 +534,7 @@ HTML,
$diff = [];
foreach ($defaults as $key => $value) {
if (! isset($settings[$key])) {
if (! array_key_exists($key, $settings)) {
$diff[$key] = $defaults[$key];
}
}
@@ -530,6 +542,15 @@ HTML,
if ($diff) {
$settings = array_merge($settings, $diff);
$this->model_setting_setting->editSetting('module_tgshop', $settings);
$this->log->write('[TELECART] Выполнено обновление настроек по умолчанию для модуля.');
$this->session->data['success'] = 'Выполнено обновление настроек по умолчанию для модуля.';
}
}
public function install(): void
{
$this->log->write('[TELECART] Запуск установки модуля.');
$this->updateConfigFromDefaults();
$this->log->write('[TELECART] Установка модуля завершена.');
}
}

View File

@@ -29,6 +29,7 @@ $_['lbl_module_tgshop_order_default_status_id'] = 'Статус заказов';
$_['lbl_module_tgshop_mini_app_url'] = 'Ссылка на Telegram Mini App';
$_['lbl_module_tgshop_mainpage_categories'] = 'Категории на главной';
$_['lbl_module_tgshop_featured_categories'] = 'Избранные категории';
$_['lbl_module_tgshop_enable_store'] = 'Разрешить покупки';
// Entry
$_['entry_status'] = 'Статус';