Child pages
  • Многоуровневая система ведения адресации
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »



Описание многоуровневой системы ведения адресации

В данной системе предусмотрено неограниченное количество элементов адресации (страны, регионы, города, улицы).

В зависимости от нужд провайдера можно настроить свое собственное дерево адресации. Например: Страна → Район → Город → Дом.

В системе адресации всегда присутствуют два элемента адресации: конечная точка подключения (bild_id - дом) и родительский элемент геолокации (улица, район и проч.).

Элементы геолокации имеют субпараметры, которые позволяют детализировать их сущность. Например, равноправные элементы геолокации такие как: Улица, Переулок, Бульвар или  Город, Село, ПГТ.

Элементы системы адресов связаны между собой и не подлежат изменению после создания.

Схема адресов

  • Украина (страна)
    • Киевская обл (регион)
      • Киев (город)
        • Хрещатик (улица)
          • 32 (дом)


Возможности


Пользователь (провайдер) сам задает схему адресов. Структура - линейная. Из обязательных уровней только дом (последний уровень, который соединяет новые адреса с уже существующей таблицей builds.


Для работы используются следующие таблицы:

address_levels - Уровни структуры адресов. Пример таблицы:

levellevel_name
1Страна
2Область
3Город
4Улица
5Дом


address_values - ноды (узлы) адреса. (Пример таблицы со значениями, заполнено 5 адресов, 3 дома на улице Хрещатик и 2 дома на улице Шевченко)

idlevel_idparrent_idvalue
110Украина
221Киевская область
332Киев
443Хрещатик
55430
65431
75432
843Шевченко
9581
10582


address_main - связь между деревом адресов и location_id.  

address_idlocation_id
51
62
73
94
105



Шаблон изменения и отображения адреса в веб форме планирую заменить строкой с полным адресом и кнопкой изменения. При нажатии открывается модальное окно с выбором адреса, после закрытия модального окна в форму подставляется location_id выбранного адреса.


Для отображения в документах и шаблонах данные можно получить с помощью user→info() , имя ключей хеша берется из таблицы уровней.


Отличия

В отличии от старой структуры (когда для каждого уровня создается своя таблица), для древовидных адресов недоступны следующие функции:


Нельзя сделать JOIN к другим таблицам (юзерс, интернет и тд)

Нельзя использовать в резулт_формере

Нельзя подключить к users_list

Нельзя подключить к internet_list

Нельзя вывести в виде таблицы

Нет доступа к всему массиву адресов, только по одному.

  • No labels