Typo3 использует realurl для маскировки параметра tx_news_pi1 в URL

Я довольно новичок в typo3. Веб-сайт теперь настроен, и я хочу использовать realurl для создания удобочитаемых URL-адресов.

С мальчиком это работает довольно хорошо. Но не для моих новостных сайтов.

HTTP: // MYDOMAIN / Новости-события / Новости / Имя-оф-статьи / tx_news_pi1% 5Bday% 5D = 19&tx_news_pi1% 5Bmonth% 5D = 7&tx_news_pi1% 5Byear% 5D = 2017&cHash = 6af067caeb037b4de744f6b9e07b73e8

Пожалуйста, помогите мне избавиться от последних параметров.
чтобы получить что-то вроде:

Http: // MYDOMAIN / Новости-события / Новости / Имя-оф-статьи /

Вот мой realurl_conf

[Смотрите обновление]

Спасибо всем за потраченное время =)

Обновить:

Так что я проработал руководство.
Я скопировал с них и вставил свои удостоверения личности и прочее
это моя новая конфигурация [удален первый]

<?php

$GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] .= ',tx_realurl_pathsegment';

// Adjust to your needs
$domain = 'http://mydomain.de';
$rootPageUid = 1;
#$rssFeedPageType = 9818; // pageType of your RSS feed page

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'][$domain] = array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => '3',
'rootpage_id' => $rootPageUid,
'firstHitPathCache' => 1
),
'init' => array(
'enableCHashCache' => TRUE,
'respectSimulateStaticURLs' => 0,
'appendMissingSlash' => 'ifNotFile,redirect',
'adminJumpToBackend' => TRUE,
'enableUrlDecodeCache' => TRUE,
'enableUrlEncodeCache' => TRUE,
'emptyUrlReturnValue' => '/',
),
'fileName' => array(
'defaultToHTMLsuffixOnPrev' => 0,
'acceptHTMLsuffix' => 1,
'index' => array(
#                        'feed.rss' => array(
#                                'keyValues' => array(
#                                       'type' => $rssFeedPageType,
#                               )
#                        )
)
),
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
#                                'en' => '1',
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'nc' => 1,
),
'noMatch' => 'bypass',
),
),
'fixedPostVars' => array(
'newsDetailConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => array(
'detail' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => array(
'News' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => array(
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => "CONCAT(uid, '-', IF(path_segment!='',path_segment,title))",
/** OR ***************/
'alias_field' => 'IF(path_segment!="",path_segment,title)',
/** OR ***************/
'alias_field' => "CONCAT(uid, '-', title)",

'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1, # 1?
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'expireDays' => 180,

),
#Depends ?
array(
'GETvar' => 'tx_news_pi1[day]',
'noMatch' => 'bypass',
),
array(
'GETvar' => 'tx_news_pi1[month]',
'noMatch' => 'bypass',
),
array(
'GETvar' => 'tx_news_pi1[year]',
'noMatch' => 'bypass',
),
),
'newsCategoryConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][categories]',
'lookUpTable' => array(
'table' => 'sys_category',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
'newsTagConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand]»,
'lookUpTable' => массив (
'таблица' => 'Tx_news_domain_model_tag',
'id_field' => 'UID',
'alias_field' => 'заглавие',
'addWhereClause' => «И НЕ УДАЛЕНО»,
'useUniqueCache' => 1,
'useUniqueCache_conf' => массив (
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
#TODO: ID-новости Seite Finden
# '145' => 'NewsDetailConfiguration',
# '147' => 'newsDetailConfiguration', // Для дополнительных страниц сведений также добавьте их uid
# '134' => 'newsDetailConfiguration', // Для дополнительных страниц сведений также добавьте их uid
'148' => 'newsDetailConfiguration', // Для дополнительных страниц сведений также добавьте их uid
'149' => 'newsDetailConfiguration', // Для дополнительных страниц сведений также добавьте их uid
# '71 '=> 'NewsTagConfiguration',
# '72 '=> 'NewsCategoryConfiguration',
),
'postVarSets' => массив (
'_DEFAULT' => массив (
'контроллер' => массив (
массив (
'GETvar' => "Tx_news_pi1 [действие],
'noMatch' => «Байпас»
),
массив (
'GETvar' => 'Tx_news_pi1 [контроллер]',
'noMatch' => «Байпас»
)
),

'dateFilter' => массив (
массив (
'GETvar' => 'Tx_news_pi1 [overwriteDemand] [год],
),
массив (
'GETvar' => 'Tx_news_pi1 [overwriteDemand] [месяц],
),
),
'page' => массив (
массив (
'GETvar' => 'Tx_news_pi1 [@ widget_0] [CurrentPage]',
),
),
),
),
)
);
[/ NOEDIT]

Но все еще есть
tx_news_pi1 [день], tx_news_pi1 [месяц], tx_news_pi1 [год] и cHash
Параметры в URL.
Пожалуйста, помогите мне избавиться от них.

0

Решение

вот моя конфигурация:

<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
'_DEFAULT' => array (
'init' => array (
'appendMissingSlash' => 'ifNotFile,redirect',
'emptyUrlReturnValue' => '/',
),
'pagePath' => array (
'rootpage_id' => '2',
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 0,
'acceptHTMLsuffix' => 1,
'index' => array (
'print' => array (
'keyValues' => array (
'type' => 98,
),
),
),
),
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'nc' => 1,
),
'noMatch' => 'bypass',
),
),
'fixedPostVars' => array(
// config for single/detail news:
'newsDetailConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[action]',
'valueMap' => array(
'detail' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[controller]',
'valueMap' => array(
'News' => '',
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_news_pi1[news]',
'lookUpTable' => array(
'table' => 'tx_news_domain_model_news',
'id_field' => 'uid',
'alias_field' => 'concat(uid,\'_\',title)',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
),
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l10n_parent',
'autoUpdate' => 1,
'expireDays' => 180,
)
)
),
// config for category selection:
'newsCategoryConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand][categories]',
'lookUpTable' => array(
'table' => 'sys_category',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
// configuration for tag selection:
'newsTagConfiguration' => array(
array(
'GETvar' => 'tx_news_pi1[overwriteDemand]»,
'lookUpTable' => массив (
'таблица' => 'Tx_news_domain_model_tag',
'id_field' => 'UID',
'alias_field' => 'заглавие',
'addWhereClause' => «И НЕ УДАЛЕНО»,
'useUniqueCache' => 1,
'useUniqueCache_conf' => массив (
'strtolower' => 1,
'spaceCharacter' => '-'
)
)
)
),
// добавляем uid вашей страницы, где у вас есть подробный вид новостей:
'70' => 'NewsDetailConfiguration',
// '701' => 'newsDetailConfiguration', // Для дополнительных страниц сведений также добавьте их uid
/ connect uid страницы для дальнейших просмотров: выбор тега, выбор категории "'71 '=> 'NewsTagConfiguration',
'72' => 'NewsCategoryConfiguration',
),
'postVarSets' => массив (
'_DEFAULT' => массив (
'контроллер' => массив (
массив (
'GETvar' => "Tx_news_pi1 [действие],
'noMatch' => «Байпас»
),
массив (
'GETvar' => 'Tx_news_pi1 [контроллер]',
'noMatch' => «Байпас»
)
),

'dateFilter' => массив (
массив (
'GETvar' => 'Tx_news_pi1 [overwriteDemand] [год],
),
массив (
'GETvar' => 'Tx_news_pi1 [overwriteDemand] [месяц],
),
),
'page' => массив (
массив (
'GETvar' => 'Tx_news_pi1 [@ widget_0] [CurrentPage]',
),
),
),
),
),
);
[/ NOEDIT]

ищите правильную вставку в массив. Для этого есть чистый абзац!

1

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

Упомянутая ссылка довольно полезна и содержит подробную информацию:
https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/Realurl/Index.html

Там есть 3 способа объяснения:

  1. основной, который все еще показывает действие и имя контроллера как сегмент пути URL
  2. продвинутый пример (который Бернд Уилк также использует в своем образце)
  3. решение TypoScript, чтобы избежать контроллера и имени действия в URL

Вариант 2 можно использовать только в том случае, если вы отображаете подробные новости на выделенных страницах (отдельная страница для списка и подробный вид), когда вы конфигурируете предустановку для контроллера и имя действия для специальной страницы (uid) — подробный вид новостей.

Вариант 3 в основном делает то же самое, что и Вариант 2, но на уровне TypoScript, и его можно использовать в случае, когда список и подробный вид находятся на одной странице.
Оба варианта могут / должны использоваться в сочетании с настройкой skipControllerAndAction = 1.

В случае, если вы хотите использовать базовую настройку. PostVarSets находится на том же уровне, что и fixedPortsVars или же preVars

Дополнительная подсказка:
Используете ли вы какой-либо другой язык, кроме DE или EN, в качестве языка по умолчанию? Если это так, ваш язык по умолчанию имеет sys язык UID 0 и, следовательно, все хорошо.
Язык по умолчанию обычно имеет значение sys языка, равное 0. Если вам не нужен сегмент языкового пути по умолчанию, вы оставляете его в нашей реальной конфигурации URL, таким образом, его обойдут.
Больше информации о настройке языка: https://github.com/dmitryd/typo3-realurl/wiki/Notes-for-Integrators#configuring-languages

RealUrl Doc:
https://github.com/dmitryd/typo3-realurl/wiki

0

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