TYPO3: дублирующий слэш Realurl с tx_news — решен, но не понят

Я просто использую официальный realurl conf на tx_news документация. Это вызвало двойную косую черту в моем URL. Это будет выглядеть так:

domain.com/post//post-title

Чтобы исправить это, я обнаружил, что я должен удалить или поместить следующие строки после tx_newspil [news] внутри fixedPostVars:

До:

'fixedPostVars' => [
'newsDetailConfiguration' => [
[
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => [
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'IF(path_segment!="",path_segment,title)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'expireDays' => 180,
'enable404forInvalidAlias' => true
]
]
]
]

После:

'fixedPostVars' => [
'newsDetailConfiguration' => [
[
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => [
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'IF(path_segment!="",path_segment,title)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'expireDays' => 180,
'enable404forInvalidAlias' => true
]
],
[
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
],
[
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => [
'' => 'detail',
],
'noMatch' => 'bypass'
]
]
]

Либо переключая их, либо просто удаляя части контроллера / действия, исправляли дублирующую косую черту. Теперь я хотел бы понять, почему это так, так как я новичок в PHP, я не совсем понимаю.

Я ценю всю помощь!

** Только что протестировано, только часть действия должна была быть перемещена или удалена для устранения дублирующего слэша

1

Решение

Это происходит потому, что REALURL Конфигурация получает параметры в порядке добавления.

Давайте возьмем первый REALURL Конфигурация из вашего поста. В этой конфигурации я ожидаю, что мой URL будет таким: /page/action/controller/post-title,

Что происходит, так это то, что у вас есть плагин новостей с action а также controller параметры, установленные на странице сообщения, а затем вы не передаете action а также controller в URLвот почему у вас есть double slashes там, потому что action а также controller пусты

Параметры по умолчанию (например, имя контроллера, имя действия и т. Д.), Параметры, значения которых не требуются, должны находиться в конце конфигурации, как и ваша последняя конфигурация.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]