feat(banner): add banner feature

This commit is contained in:
2025-10-25 19:55:01 +03:00
parent c3c0d6d2c1
commit 05e7cafd0f
11 changed files with 156 additions and 3 deletions

View File

@@ -30,6 +30,7 @@ if (is_readable($sysLibPath . '/oc_telegram_shop.phar')) {
* @property User $user
* @property ModelCustomerCustomerGroup $model_customer_customer_group
* @property ModelLocalisationOrderStatus $model_localisation_order_status
* @property ModelDesignBanner $model_design_banner
* @property DB $db
* @property Log $log
*/
@@ -350,6 +351,7 @@ TEXT,
'module_tgshop_enable_store' => 1,
'module_tgshop_feature_coupons' => 0,
'module_tgshop_feature_vouchers' => 0,
'module_tgshop_home_banner_id' => null,
];
}
@@ -365,6 +367,11 @@ TEXT,
'user_token=' . $this->session->data['user_token'],
true
);
$ocBannersLink = $this->url->link(
'design/banner',
'user_token=' . $this->session->data['user_token'],
true
);
return [
'general' => [
@@ -517,6 +524,14 @@ HTML,
],
'help' => <<<HTML
Позволяет покупателям использовать <a href="{$ocVouchersLink}" target="_blank">подарочные сертификаты OpenCart</a> при оформлении заказа.
HTML,
],
'module_tgshop_home_banner_id' => [
'type' => 'select',
'options' => $this->getBannersList(),
'help' => <<<HTML
<a href="{$ocBannersLink}" target="_blank">Стандартный OpenCart баннер</a> отображаемый на главной странице магазина. Рекомендуемая максимальная высота изображения для баннера - 200 пикселей.
HTML,
],
],
@@ -645,4 +660,16 @@ HTML,
$this->log->write('[TELECART] Ошибка удаления старых assets: ' . $e->getMessage());
}
}
private function getBannersList(): array
{
$this->load->model('design/banner');
$allBanners = $this->model_design_banner->getBanners();
$map = [];
foreach ($allBanners as $item) {
$map[(int) $item['banner_id']] = $item['name'];
}
return [null => 'Не показывать'] + $map;
}
}

View File

@@ -32,6 +32,7 @@ $_['lbl_module_tgshop_featured_categories'] = 'Избранные категор
$_['lbl_module_tgshop_enable_store'] = 'Разрешить покупки';
$_['lbl_module_tgshop_feature_coupons'] = 'Промокоды';
$_['lbl_module_tgshop_feature_vouchers'] = 'Подарочные сертификаты';
$_['lbl_module_tgshop_home_banner_id'] = 'Баннер на главной';
// Entry
$_['entry_status'] = 'Статус';