feat: add texts configuration
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
use Bastion\ApplicationFactory;
|
||||
use Openguru\OpenCartFramework\Logger\OpenCartLogAdapter;
|
||||
use Openguru\OpenCartFramework\OpenCart\Decorators\OcRegistryDecorator;
|
||||
use Openguru\OpenCartFramework\OpenCart\OcConfigDecorator;
|
||||
|
||||
$sysLibPath = rtrim(DIR_SYSTEM, '/') . '/library/oc_telegram_shop';
|
||||
$basePath = rtrim(DIR_APPLICATION, '/') . '/..';
|
||||
@@ -353,6 +352,9 @@ TEXT,
|
||||
'module_tgshop_feature_coupons' => 0,
|
||||
'module_tgshop_feature_vouchers' => 0,
|
||||
'module_tgshop_home_banner_id' => null,
|
||||
'module_tgshop_text_no_more_products' => 'Это всё по текущему запросу. Попробуйте уточнить фильтры или поиск.',
|
||||
'module_tgshop_text_empty_cart' => 'Ваша корзина пуста',
|
||||
'module_tgshop_text_order_created_success' => 'Ваш заказ успешно оформлен и будет обработан в ближайшее время.',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -472,7 +474,6 @@ HTML,
|
||||
'help' => 'Для проверки интеграции через кнопку "Проверить" в интерфейсе Яндекс Метрики, необходимо сначала включить "Режим разработчика" на вкладке "Общие".'
|
||||
],
|
||||
],
|
||||
|
||||
'shop' => [
|
||||
'module_tgshop_enable_store' => [
|
||||
'type' => 'select',
|
||||
@@ -545,7 +546,6 @@ HTML,
|
||||
HTML,
|
||||
],
|
||||
],
|
||||
|
||||
'orders' => [
|
||||
'module_tgshop_order_default_status_id' => [
|
||||
'type' => 'select',
|
||||
@@ -560,6 +560,26 @@ HTML,
|
||||
'help' => 'Группа покупателей, которая будет назначена для заказов, оформленных через Telegram-магазин.',
|
||||
],
|
||||
],
|
||||
|
||||
'texts' => [
|
||||
'module_tgshop_text_no_more_products' => [
|
||||
'type' => 'text',
|
||||
'placeholder' => 'Это всё по текущему запросу. Попробуйте уточнить фильтры или поиск.',
|
||||
'help' => 'Текст, отображаемый в конце списка, когда больше нет доступных товаров. Покупатель дошел до конца списка.',
|
||||
],
|
||||
|
||||
'module_tgshop_text_empty_cart' => [
|
||||
'type' => 'text',
|
||||
'placeholder' => 'Ваша корзина пуста',
|
||||
'help' => 'Текст, отображаемый на странице просмотра корзины, если в ней нет товаров.',
|
||||
],
|
||||
|
||||
'module_tgshop_text_order_created_success' => [
|
||||
'type' => 'text',
|
||||
'placeholder' => 'Ваш заказ успешно оформлен и будет обработан в ближайшее время.',
|
||||
'help' => 'Текст, отображаемый при успешном создании заказа.',
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ $_['tab_telegram'] = 'Telegram';
|
||||
$_['tab_statistics'] = 'Статистика';
|
||||
$_['tab_shop'] = 'Магазин';
|
||||
$_['tab_orders'] = 'Заказы';
|
||||
$_['tab_texts'] = 'Тексты';
|
||||
|
||||
$_['lbl_module_tgshop_status'] = 'Статус';
|
||||
$_['lbl_module_tgshop_app_name'] = 'Название приложения';
|
||||
@@ -34,6 +35,9 @@ $_['lbl_module_tgshop_feature_coupons'] = 'Промокоды';
|
||||
$_['lbl_module_tgshop_feature_vouchers'] = 'Подарочные сертификаты';
|
||||
$_['lbl_module_tgshop_home_banner_id'] = 'Баннер на главной';
|
||||
$_['lbl_module_tgshop_debug'] = 'Режим разработчика';
|
||||
$_['lbl_module_tgshop_text_no_more_products'] = 'Текст в конце списка товаров';
|
||||
$_['lbl_module_tgshop_text_empty_cart'] = 'Текст пустой корзины';
|
||||
$_['lbl_module_tgshop_text_order_created_success'] = 'Текст для успешного заказа';
|
||||
|
||||
// Entry
|
||||
$_['entry_status'] = 'Статус';
|
||||
|
||||
@@ -95,6 +95,11 @@ class ControllerExtensionTgshopHandle extends Controller
|
||||
FILTER_VALIDATE_BOOLEAN
|
||||
),
|
||||
'home_banner_id' => $this->config->get('module_tgshop_home_banner_id'),
|
||||
'texts' => [
|
||||
'no_more_products' => $this->config->get('module_tgshop_text_no_more_products'),
|
||||
'empty_cart' => $this->config->get('module_tgshop_text_empty_cart'),
|
||||
'order_created_success' => $this->config->get('module_tgshop_text_order_created_success'),
|
||||
],
|
||||
]);
|
||||
|
||||
$app->bind(OcModelCatalogProductAdapter::class, function () {
|
||||
|
||||
@@ -57,6 +57,7 @@ class SettingsHandler
|
||||
'feature_coupons' => $this->settings->get('feature_coupons') ?? false,
|
||||
'feature_vouchers' => $this->settings->get('feature_vouchers') ?? false,
|
||||
'currency_code' => $this->settings->get('oc_default_currency', 'RUB'),
|
||||
'texts' => $this->settings->get('texts'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="hasMore === false" class="text-xs text-center mt-4 pt-4 mb-2 border-t">
|
||||
{{ settings.noMoreProductsMessage }}
|
||||
{{ settings.texts.no_more_products }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -23,7 +23,11 @@ export const useSettingsStore = defineStore('settings', {
|
||||
'--product_list_title_max_lines': 2,
|
||||
}
|
||||
},
|
||||
noMoreProductsMessage: '🔚 Это всё по текущему запросу. Попробуйте уточнить фильтры или поиск.',
|
||||
texts: {
|
||||
no_more_products: 'Нет товаров',
|
||||
empty_cart: 'Корзина пуста',
|
||||
order_created_success: 'Заказ успешно оформлен.',
|
||||
},
|
||||
}),
|
||||
|
||||
actions: {
|
||||
@@ -46,6 +50,7 @@ export const useSettingsStore = defineStore('settings', {
|
||||
this.feature_coupons = settings.feature_coupons;
|
||||
this.feature_vouchers = settings.feature_vouchers;
|
||||
this.currency_code = settings.currency_code;
|
||||
this.texts = settings.texts;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
class="text-center rounded-2xl"
|
||||
>
|
||||
<div class="text-5xl mb-4">🛒</div>
|
||||
<p class="text-lg mb-3">Ваша корзина пуста</p>
|
||||
<p class="text-lg mb-3">{{ settings.texts.empty_cart }}</p>
|
||||
<RouterLink class="btn btn-primary" to="/">Начать покупки</RouterLink>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</div>
|
||||
|
||||
<p class="text-2xl font-bold mb-3">Спасибо за заказ!</p>
|
||||
<p class="text-center mb-4">Ваш заказ успешно оформлен и будет обработан в ближайшее время.</p>
|
||||
<p class="text-center mb-4">{{ settings.texts.order_created_success }}</p>
|
||||
|
||||
<ul v-if="checkout.order" class="list w-full bg-base-200 mb-4">
|
||||
<li class="list-row flex justify-between">
|
||||
@@ -41,9 +41,11 @@ import {useCheckoutStore} from "@/stores/CheckoutStore.js";
|
||||
import {onMounted} from "vue";
|
||||
import {useYaMetrikaStore} from "@/stores/yaMetrikaStore.js";
|
||||
import {useRoute} from "vue-router";
|
||||
import {useSettingsStore} from "@/stores/SettingsStore.js";
|
||||
|
||||
const checkout = useCheckoutStore();
|
||||
const yaMetrika = useYaMetrikaStore();
|
||||
const settings = useSettingsStore();
|
||||
const route = useRoute();
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
Reference in New Issue
Block a user