ссылки в контексте

Я поставил ссылки в шаблон
<a href="[[~7]]">
Потом добавился анг.язык другим контекстом. Ссылки через PdoTools выводятся как нужно прямые нет.
Как сделать редеректы Или как вообще правильно.
Taras
21 июня 2017, 10:06
modx.pro
2 569
0

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

UDAV
22 июня 2017, 10:41
-1
<a href="[[~[[++cultureKey:is=`ru`:then=`7`:else=`123`]]]]">
попробуй как то так.

cultureKey отсюда cat-art.ru/articles/multiyazyichnost-modx-revo
    Taras
    22 июня 2017, 13:52
    0
    много прописывать на сайте 4 языка будет.
      Владимир
      22 июня 2017, 14:24
      1
      +1
      И еще, раз у вас будут языки (наверно вида site.ru/en/ ), что бы не париться с картинками и путями, сразу указывайте домен в настройке
      phpthumbof.cache_url https://site.ru/
      (должен быть установлен pThumb )
      PS https или http — в зависимости от вашего случая
        Taras
        22 июня 2017, 14:28
        0
        проблемы с путями решил так:
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(ru|en|de|fr)/assets(.*)$ assets$2 [L,QSA] 
        
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(ru|en|de|fr)/img(.*)$ img$2 [L,QSA] 
        
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(ru|en|de|fr)/js(.*)$ js$2 [L,QSA] 
        
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteRule ^(ru|en|de|fr)/css(.*)$ css$2 [L,QSA]
          Владимир
          22 июня 2017, 14:31
          +1
          вот я и говорю, что бы не морочить голову с .htaccess, проще указать домен в phpthumbof.cache_url site.ru/ и будет работать на различных хостингах
    Владимир
    22 июня 2017, 10:55
    +1
    Нужно либо в настройках прописать link_tag_scheme full (можно вместо full указать https, если ваш настроен под https ), или отдельные ссылки вызывайте как
    [[~123? &scheme=`full`]]
      Taras
      22 июня 2017, 13:51
      0
      link_tag_scheme было -1 поменял на full
      ссылкам прописал параметры, не помогло.
        Владимир
        22 июня 2017, 13:54
        +1
        и что не так?
        ссылкам прописал параметры
        если в настройках уже
        link_tag_scheme поменял на full
        то параметры не нужны
        Пишите подробно что не так, ибо из ваших сообщений правильный вывод сделать нельзя.
          Taras
          22 июня 2017, 14:11
          0
          Один шаблон используют два контекста. В шаблоне ссылка по id В одном контексте это работает, в другом он нет. Перекидывает на другой контекст.
          Вариант:
          <a href="[[~[[++cultureKey:is=`ru`:then=`7`:else=`123`]]]]">
          Рабочий но выглядит не очень.
            Владимир
            22 июня 2017, 14:17
            +1
            А у меня как с 10 контекстами работает без такого ужасного треша как вы сейчас используете? ))
            Наверно у вас есть тег base href ( а его надо удалять к чертям, он нужен если только link_tag_scheme -1 ). Если вы указали в настройках link_tag_scheme full, то как формируется ссылка в контексте web и в контексте отличном от web? Покажите.
              Taras
              23 июня 2017, 12:17
              0
              ссылки [[+link]] и [[+id]] правильные а прямое указание [[~7]] формируются прямо на id=7 ресурс.
              link_tag_scheme full дает что ссылка формируются полной с [[++site_url]]/document.html
              где site_url = httр://siti.ru

              проблема ещё в том, что не можно создать одинаковый alias «document»:
              httр://siti.ru/document.html и
              httр://siti.ru/en/document.html
                Владимир
                23 июня 2017, 12:37
                +1
                не можно создать одинаковый alias «document»:
                просто зайдите в настройки, и отключите global_duplicate_uri_check (нужно задать значение «нет»)
                  Владимир
                  23 июня 2017, 12:50
                  0
                  Я еще б советовал CustomUrls, для добавления ID в урл, но это на ваше усмотрение.
                  Если документов много, URL с ID очень логично использовать, mysite.ru/ID-alias
                  Некоторые ставят ID в конец адреса, говорят так роботам понятнее читать о чем URL, но это уже СЕО-колдовство :)
                Владимир
                22 июня 2017, 14:20
                +1
                Так же? для всех ли контектов указана настройка site_url? (в ней должен быть домен без слешей и http)
                  Taras
                  22 июня 2017, 14:24
                  0
                  site_url = /en/
                    Владимир
                    22 июня 2017, 14:28
                    +1
                    это
                    base_url /en/
                    , а
                    site_url https://site.ru/en/
                    — это две разные обязательные настройки
                    PS https или http — в зависимости от вашего случая
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          16