Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   fixedPostVars (lookUpTable и noMatch) (http://forum.typo3.ru/showthread.php?t=11827)

Dzmitry 03.09.2015 18:23

fixedPostVars (lookUpTable и noMatch)
 
Здравствуйте!
Возник вопрос относительно некоторых нюансов в настройке RealUrl.
Необходимо получить ссылку вида: http://site.ru/agencies/town/name_agencies.

Привожу пример кода, который есть на данный момент:
PHP код:

'fixedPostVars' => array(
        
'71' => array (
            array (
                
'GETvar' => 'tx_extention_pi1[town_id]',
                
'lookUpTable' => array(
                    
'table' => 'tx_extention_table',
                    
'id_field' => 'uid',
                    
'alias_field' => 'town_name',
                    
'addWhereClause' => ' AND NOT deleted',
                    
'useUniqueCache' => 1,
                    
'useUniqueCache_conf' => array(
                        
'strtolower' => 1,
                        
'spaceCharacter' => '-',
                        ),
                    ),
                    
                ),
            array (
                
'GETvar' => 'tx_extention_pi1[uid]',
                
'lookUpTable' => array(
                    
'table' => 'tx_extention_table2',
                    
'id_field' => 'uid',
                    
'alias_field' => 'IFNULL(NULLIF(pathsegment,""), agency_title)',
                    
'addWhereClause' => ' AND NOT deleted',
                    
'useUniqueCache' => 1,
                    
'useUniqueCache_conf' => array(
                        
'strtolower' => 1,
                        
'spaceCharacter' => '-',
                        ),
                    ),
                    
                ),
            ), 
// pid 71 end
), . 

Результат его работы верный, но с тем учетом, что town_id всегда определено. В случае, если town_id не установлено имеем ссылку вида:
http://site.ru/agencies//name_agencies.
А необходима в таком случае:
http://site.ru/agencies/name_agencies.

Использовать 'noMatch' => 'bypass' нет смысла, так как он предназначен для 'valueMap' => array (). А 'valueDefault' => 'string' всего лишь задает параметр по умолчанию, ели другого не предусмотрено.

Отсюда вопрос: Есть ли какой-либо параметр, который предназначен для 'lookUpTable' => array() , но чтобы работал как 'noMatch' => 'bypass'? Т.е. чтобы переходил к следующему сегменту, если текущий не определен.


Часовой пояс GMT +4, время: 15:03.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot