Skip to content
  1. Компоненты
  2. GeoLocation2
  3. Сниппеты
  4. GeoLocation2Data

GeoLocation2Data

Выводит строки таблицы gl_data: email, телефон, адрес, картинка, alt-имя, JSON в properties. Данные задаются во вкладке Данные менеджера GeoLocation2.

Параметры

ПараметрПо умолчаниюОписание
tpltpl.GeoLocation2.data.itemЧанк одной записи
sortbyidid, class, identifier, name_alt, resource, email, default
sortdirDESCASC / DESC
limit0Лимит; 0 — без лимита
class(пусто)GlCountry, GlRegion, GlCity
identifier(пусто)ID объекта в таблице класса
onlyDefault0Только default=1
forCurrent0Записи для текущего города из сессии
liveUpdateкак forCurrentОбёртка [data-gl2-data-live] + обновление через API
outputSeparatorперевод строкиМежду строками
toPlaceholder(пусто)Плейсхолдер вместо вывода

Режимы

Все записи (как в менеджере)

modx
[[!GeoLocation2Data? &limit=`0` &sortby=`id` &sortdir=`DESC`]]
fenom
{'!GeoLocation2Data' | snippet : ['limit' => 0]}

Вывод — строки <tr> чанка tpl.GeoLocation2.data.item (удобно внутри <table>).

Текущий город (forCurrent=1)

Берёт gl2_current_id из той же сессии, что GeoLocation2Modal.

modx
[[!GeoLocation2Data? &forCurrent=`1` &tpl=`tpl.GeoLocation2.data.current`]]
fenom
{'!GeoLocation2Data' | snippet : [
  'forCurrent' => 1,
  'tpl' => 'tpl.GeoLocation2.data.current'
]}

Фильтр по городу

Контакты только для Москвы (GlCity, id=1):

modx
[[!GeoLocation2Data? &class=`GlCity` &identifier=`1`]]
fenom
{'!GeoLocation2Data' | snippet : ['class' => 'GlCity', 'identifier' => 1]}

Пример вывода

Карточка tpl.GeoLocation2.data.current:

html
<div class="gl2-data-current gl2-qa-box" data-gl2-data-id="3">
  <dl class="gl2-qa-kv">
    <dt>Класс / ID локации</dt>
    <dd>GlCity · 1 (Москва, офис)</dd>
    <dt>Email / телефон</dt>
    <dd>info@example.ru · +7 (495) 000-00-00</dd>
    <dt>Адрес</dt>
    <dd>ул. Пример, 1</dd>

  </dl>
</div>

Строка таблицы tpl.GeoLocation2.data.item:

html
<tr class="gl2-data-row" data-gl2-data-id="3" data-gl2-data-class="GlCity" data-gl2-data-identifier="1">
  <td>3</td>
  <td>GlCity</td>
  <td>1</td>
  <td>Москва, офис</td>

</tr>

Дополнительные плейсхолдеры: default_label (Да/Нет), default_pill_class, image_display, properties_json.

Live-обновление

При forCurrent=1 по умолчанию liveUpdate=1. Блок оборачивается:

html
<div data-gl2-data-live data-gl2-data-tpl="tpl.GeoLocation2.data.current">
  … HTML карточки …
</div>

После смены города в модалке modal.js вызывает GET action=data и подменяет innerHTML без перезагрузки.

Отключить:

modx
[[!GeoLocation2Data? &forCurrent=`1` &liveUpdate=`0`]]
fenom
{'!GeoLocation2Data' | snippet : ['forCurrent' => 1, 'liveUpdate' => 0]}

Типовая вёрстка

modx
<table class="table">
  <thead><tr><th>ID</th><th>Email</th><th>Телефон</th></tr></thead>
  <tbody>
    [[!GeoLocation2Data? &class=`GlCity` &identifier=`[[+city_id]]`]]
  </tbody>
</table>
fenom
<table class="table">
  <tbody>
    {'!GeoLocation2Data' | snippet : ['forCurrent' => 1]}
  </tbody>
</table>

См. Web API → action=data, GeoLocation2Modal.