У нас есть несколько страниц для каждого региона (например, Германия, Швейцария). Сами страницы переводятся на несколько языков (например, de, en) с помощью L-параметра.

Теперь Realurl должен соответствовать из 2 сегментов URL-адреса соответствующему дереву страницы и языку. Я знаю, как это можно сделать с отдельными доменами для каждого региона с помощью функции _Domains. Но в этом случае домен остается неизменным для всех регионов. Можно ли этого добиться с помощью Realurl и как?

http://example.com/de/de => должен отображаться в дереве страниц с rootpage_id 1 и языком де (L = 0)

http://example.com/de/en => должен отображаться в дереве страниц с rootpage_id 1 и языком ru (L = 1)

http://example.com/ch/de => должен отображаться в дереве страниц с rootpage_id 2 и языком де (L = 0)

http://example.com/ch/en => должен отображаться в дереве страниц с rootpage_id 2 и языком ru (L = 1)

Real_url.conf

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = array(
    'init' => array(
        'enableCHashCache' => 1,
        'appendMissingSlash' => 'ifNotFile,redirect',
        'adminJumpToBackend' => 1,
        'enableUrlDecodeCache' => 1,
        'enableUrlEncodeCache' => 1,
        'emptyUrlReturnValue' => '/'
    ),
    'pagePath' => array(
        'type' => 'user',
        'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
        'spaceCharacter' => '-',
        'languageGetVar' => 'L',
        'expireDays' => '3',
        'rootpage_id' => 1,
        'firstHitPathCache'=>1
    ),
    'preVars' => array(
        array(
            'GETvar' => 'L',
            'valueMap' => array(
                'de' => '0',
                'en' => '1',
            ),
            'valueDefault' => 'de',
        ),
       array(
            'GETvar' => 'no_cache',
            'valueMap' => array(
                'no_cache' => 1,
            ),
            'noMatch' => 'bypass',
        ),
    ),
);
0
griesi 12 Июл 2017 в 18:05
Добавьте сюда код языка конфигурации realconf.php .
 – 
Pravin Vavadiya
13 Июл 2017 в 09:24
У меня есть только базовый realurl_conf, так как я пока не нашел способа продолжить работу с упомянутой спецификацией. Все, что я исследовал до сих пор, не соответствует требованиям. Пока я считаю, что с realurl это все равно невозможно. Я ошибся?
 – 
griesi
13 Июл 2017 в 10:16
Добавлен realurl_conf
 – 
griesi
13 Июл 2017 в 10:18
Решение, которое я ищу, - это первый сегмент после домена. Должен быть сегмент, который указывает, какое дерево страницы (регион) использовать. Я знаю, что это можно сделать с _DOMAINS, если каждый регион (дерево страниц) имеет отдельный домен. В нашем случае все регионы имеют один и тот же домен, и переключение должно выполняться первым сегментом после домена. Для этого я не нашел аналогичного решения для доменов.
 – 
griesi
13 Июл 2017 в 10:28
Теперь перевернем - de / de или de / ch. Сначала идет язык, а затем регион. Тогда у нас будет одно дерево страниц для домена, которое разделится на два дерева под корнем. Сегмент пути к верхним страницам будет назван в соответствии с регионом, например де / ч
 – 
griesi
21 Июл 2017 в 17:27

1 ответ

Лучший ответ

Теперь Realurl должен соответствовать из 2 сегментов URL-адреса соответствующему дереву страницы и языку.

RealURL не может этого сделать. Идентификатор корневой страницы определяется до обработки сегментов. Он определяется записью домена или вашей конфигурацией RealURL.

0
User366 17 Июл 2017 в 19:01
Спасибо Дмитрию за помощь. Это соответствует моему исследованию. Полагаю, в Typo3 такого решения нет?
 – 
griesi
20 Июл 2017 в 09:05
Нет, решения нет.
 – 
User366
21 Июл 2017 в 10:23