В настоящее время я пытаюсь создать красивый URL для моего пользовательского расширения.Как опустить пустой (необязательный) сегмент в realurl?
Я использую плагин на странице «Продукты» (uid: 3), чтобы перечислить все категории.
К примеру есть следующие категории:
- Мужчины
- Рубашки
- фуфайки
- Женщины
- Обувь
- Платья
Я хотел бы иметь эти соответствующие URL-х:
www.mydomain.com/products/men.html
WWW. mydomain.com/products/men/shirts.html
Это, что я получаю:
www.mydomain.com/products//men.html
www.mydomain.com/products/men/shirts.html
Категория «Мужчины» на первом уровне не имеет родительской категории, поэтому этот сегмент остается пустым. Как только есть родительская категория, все в порядке.
TYPO3 Версия: 7.6.15
RealURL Версия: 2.1.6
Это моя текущая конфигурация для fixedPostVars:
'fixedPostVars' => array (
// EXT: productsDb start
'productsDbConfiguration' => array(
array(
'GETvar' => 'tx_productsdb_categories[action]',
'valueMap' => array(
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_productsdb_categories[controller]',
'valueMap' => array(
),
'noMatch' => 'bypass'
),
array(
'GETvar' => 'tx_productsdb_categories[parent]',
'lookUpTable' => array(
'table' => 'tx_productsdb_domain_model_category',
'id_field' => 'uid',
'alias_field' => '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,
),
// 'valueDefault' => '',
),
array(
'GETvar' => 'tx_productsdb_categories[category]',
'lookUpTable' => array(
'table' => 'tx_productsdb_domain_model_category',
'id_field' => 'uid',
'alias_field' => '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,
)
),
),
'3' => 'productsDbConfiguration',
// EXT: productsdb end
),
Итак, вот мой вопрос: Есть ли способ и что мне нужно сделать, чтобы пропустить необязательный сегмент пути, если он пуст?
Заранее благодарим за это.
Поскольку, похоже, нет другого решения, я решил теперь использовать ** encodeSpURL_postProc ** hook of realurl, чтобы изменить кодированный URL-адрес на мои нужды, хотя он выглядит грязным, чтобы сделать это таким образом. – IhsakoOti