Сделать, чтобы адрес сайта содержал префикс валюты

Тема в разделе "Модули и дополнения", создана пользователем Zinaida, 20 апр 2022.

  1. Zinaida

    Zinaida Новичок

    Сообщения:
    4
    Симпатии:
    0
    Добрый день!

    Может кто-то знает, существуют ли модули или готовые решения для создания ссылок с префиксами валюты? Типа: адрессайтаточкаcom/eng/usd или адрессайтаточкаcom/it/eur
    Чтобы при переходе по ссылке магазин отображался на нужном языке и в нужной валюте, без необходимости переключать валюту вручную на сайте.
    Сайт мультивалютный и мультиязычный.
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.064
    Прямо в том виде в котором вы указали? Зачем плодить ссылки?
     
  3. Zinaida

    Zinaida Новичок

    Сообщения:
    4
    Симпатии:
    0
    По двум причинам.
    1. Скидывать японским/американским клиентам прямые ссылки на сайты с нужной им валютой.
    2. Маркет гугла не пропускает фид, так как в фиде одна валюта, а на странице - другая (опционально сайт отображается целиком в евро). Конвертация самого гугла решает проблему лишь частично. Нужны адреса продуктов в валюте, которую хочет видеть маркет, чтобы не банил.
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.064
    Тогда можно просто добавить функционал параметров. Просто к любой ссылке добавляем параметр ?cur=usd&lang=en
    и далее уже смотрим на параметры и меняем язык и валюту.
    Может и есть готовое решение, не искал. Автоматическое на основе ip точно есть.
     
    Zinaida и Pie нравится это.
  5. Zinaida

    Zinaida Новичок

    Сообщения:
    4
    Симпатии:
    0
    На основе ip знаю, рассматривали, но это немного не то. Нужны именно ссылки.

    Почему-то через параметры не работает.
     
  6. Pie

    Pie Активный пользователь

    Сообщения:
    121
    Симпатии:
    28
    Потому что в startup.php нужно написать условие для переключения. Что-то вроде этого, не тестил, писал по памяти, но работать должно
    Код:
    if (isset($this->request->get['currency'])) {
                setcookie('currency', 'USD', time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
                $this->session->data['currency'] = "USD";
            }
     
    Последнее редактирование: 20 апр 2022
    Zinaida нравится это.
  7. Zinaida

    Zinaida Новичок

    Сообщения:
    4
    Симпатии:
    0
    Огромное вам спасибо!!!