Определение страны посетителя и вывод ресурсов под это

Всем привет!
Необходимо решение для определения ГЕО а точнее страны посетителя и вывод ресурсов в зависимости от от этого
Есть ли какие то пакеты для этого? Подскажите буду благодарен

при помощи ipinfo.io и js определение происходит но вряд ли есть возможность использовать эти данные для фильтра вывода ресурсов
у ресурсов есть TV поле где перечислены страны для которых ресурс в категории не нужно показывать
так же в самом ресурсе есть строка с надписью «доступно в стране или нет»

знаю про PHP geoip2, даже установил его на сервер, но дальше пока не прошел…

пс есть еще пакет Locator но он пока не завелся, точнее работает криво
Евгений
01 февраля 2024, 01:16
modx.pro
327
0

Комментарии: 13

iWatchYouFromAfar
01 февраля 2024, 01:29
0
Был опыт работы с www.maxmind.com/en/geoip-api-web-services, правда вне контекста MODx. Но это по сути не так важно, там rest. Сделаешь сниппет или какой-нибудь модификатор с проверкой.
    Сергей Карпович
    01 февраля 2024, 09:01
    0
    polylang из коробки так умеет.
    1. нужно создать локализации.
    2. в ресурсе добавить эти локализации к нем и переводы
    3. в выводе ресурсов чререз pdotools добавить параметр 'onlyWithLocalization' => 1,
      Евгений
      01 февраля 2024, 11:20
      0
      нужен не язык а именно гео
        Сергей Карпович
        01 февраля 2024, 11:23
        0
        Там как раз в настройках можно привязываться к гео позиции ipinfo
          Евгений
          01 февраля 2024, 11:34
          0
          получается данные c ipinfo все таки можно как то на бэкенд подтянуть (сделать проверку)? по сути мне только это и нужно сейчас
          либо другое решение совсем
            Сергей Карпович
            01 февраля 2024, 11:40
            +1
            если тебе нужны просто данные c ipinfo, то почитай их доку, у них API есть.
              Евгений
              01 февраля 2024, 11:46
              0
              просто их данные они выводятся без проблем но по js подтягивается в поле с #country к примеру
              с этим никаких проблем
              а вот как вывод ресурсов и фильтрацию или например сравнить с тв полем и выяснить доступен для страны или нет — увязать с этими данными непонимаю
                Евгений
                01 февраля 2024, 13:45
                0
                а, понял курлом по апи дернул
                попробую теперь полученный код адаптировать под выборки
        Евгений
        03 февраля 2024, 22:02
        0
        подскажите как можно сравнить код и tv поля и плейсхолдера
        то есть например у меня в поле TV restricted заполнено us
        и результат работы снипета передает в плейсхолдер us — написать restricted

        [[*restricted:is=`[[+geo]]`:then=`restricted`:else=`accepted`]]
        типа такого но чтобы сработало :)
          Евгений
          04 февраля 2024, 01:29
          0
          [[!*restricted:is=`[[+geo]]`:then=`Restricted`:else=`Accepted`]]
          такое срабатывает если в tv restricted только один гео выбран, а если несколько то не работает…
            Евгений
            04 февраля 2024, 01:38
            0
            inarray по идее в бы сработал ыы
            [[+geo:is=`[[*restricted]]`:then=`Restricted`:else=`Accepted`]]
              Евгений
              04 февраля 2024, 01:48
              0
              contains в итоге затащил
            Евгений
            04 февраля 2024, 23:41
            0
            теперь вопрос как это провернуть в чанке :)
            [[+geo]] напомню это плейсхолдер содержащий код страны
            [[+tv.restricted:contains=`[[+geo]]`:then=`1`:else=`0`]]
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              13