Таблица oc_geo_zone
Таблица oc_geo_zone является справочником географических зон. Геозоны представляют собой группы регионов (областей, штатов, провинций) из разных стран, объединенные по определенному признаку для применения налоговых ставок или условий доставки.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
geo_zone_id |
int |
Уникальный идентификатор географической зоны. Автоинкремент. |
name |
varchar(32) |
Название географической зоны (например, "ЕС", "СНГ", "Северная Америка"). |
description |
varchar(255) |
Описание географической зоны. Помогает администратору понять, какие регионы включены в зону. |
date_added |
datetime |
Дата и время создания записи о географической зоне. |
date_modified |
datetime |
Дата и время последнего изменения записи о географической зоне. |
Как это работает
Географические зоны используются для создания гибких правил налогообложения и доставки, которые применяются к группам регионов, а не к отдельным странам или регионам. Это особенно полезно для международных магазинов.
Связь между географическими зонами и конкретными регионами (из таблицы oc_zone) устанавливается через таблицу oc_zone_to_geo_zone.
При создании налогового правила или способа доставки администратор выбирает географическую зону, для которой это правило будет действовать. При расчете налогов или стоимости доставки система проверяет, принадлежит ли регион покупателя к указанной геозоне.
Например, можно создать геозону "Европейский союз" и добавить в нее все страны ЕС. Затем создать налоговое правило НДС 20% для этой геозоны. При оформлении заказа покупателем из Германии система применит это правило.
Пример SQL-запроса
Получить список всех географических зон с количеством регионов в каждой можно следующим запросом:
SELECT gz.geo_zone_id, gz.name, gz.description, COUNT(z2gz.zone_to_geo_zone_id) as zone_count
FROM oc_geo_zone gz
LEFT JOIN oc_zone_to_geo_zone z2gz ON (gz.geo_zone_id = z2gz.geo_zone_id)
GROUP BY gz.geo_zone_id
ORDER BY gz.name;
Смотрите также
-
таблицу
oc_zone_to_geo_zone,
которая связывает регионы с географическими зонами -
таблицу
oc_tax_rate,
которая использует геозоны для применения налоговых ставок -
таблицу
oc_zone,
которая хранит информацию о регионах -
таблицу
oc_country,
которая хранит информацию о странах