2016-11-14 6 views
1
私はRealURLは1.12.8とTYPO3 6.2.27を使用して http://www.example.com/page/MyArticleNumber/http://www.example.com/page/extensionname/MyArticleNumber/から私の生成されたURLを変更しようと

中がextensionNameを取り除きます。 マイrealurl_conf.php:私はこの問題を解決するために編集しなければならないのは何とどこRealURLは

'postVarSets' => array(
      '_DEFAULT' => array(
       'extensionname' => array(
        array(
         'GETvar' => 'extensionname_plugin[article]', 
         'lookUpTable' => array(
          'table' => 'tx_extensionname_domain_model_article', 
          'id_field' => 'uid', 
          'alias_field' => 'CONCAT(short_title, \'-\', juq)', 
          'addWhereClause' => ' AND NOT deleted', 
          'useUniqueCache' => 1, 
          'useUniqueCache_conf' => array(
           'spaceCharacter' => '-', 
          ), 
         ), 
        ), 
       ), 
      ), 

? ありがとうございます。

答えて

2

使用すると、1つの特定のページであなたの拡張機能を使用する場合、使用できる「fixedPostVars」

'fixedPostVars' => array(
    # extension configuration 
    'extensionname' => array(
     array(
      'GETvar' => 'extensionname_plugin[article]', 
      'lookUpTable' => array(
       'table' => 'tx_extensionname_domain_model_article', 
       'id_field' => 'uid', 
       'alias_field' => 'CONCAT(short_title, \'-\', juq)', 
       'addWhereClause' => ' AND NOT deleted', 
       'useUniqueCache' => 1, 
       'useUniqueCache_conf' => array(
        'spaceCharacter' => '-', 
       ), 
      ), 
     ), 
    ), 
    # PID for extension configurations 
    '99' => 'extensionname', 
), 
0

私はRealURLはのencodeSpURL_postProcdecodeSpURL_preProc機能を利用することができます。

<?php 
    $GLOBALS['realURLEncodeSpURLArray'] = array(
    'url/by/realurl/' => 'new/url/', 
    'page/extensionname/' => 'page/' 
); 

    function user_encodeSpURL_postProc(&$params, &$ref) 
    { 
    $params['URL'] = str_replace(array_keys($GLOBALS['realURLEncodeSpURLArray']), array_values($GLOBALS['realURLEncodeSpURLArray']), $params['URL']); 
    } 

    function user_decodeSpURL_preProc(&$params, &$ref) 
    { 
    $params['URL'] = str_replace(array_values($GLOBALS['realURLEncodeSpURLArray']), array_keys($GLOBALS['realURLEncodeSpURLArray']), $params['URL']); 
    } 

    $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
    'encodeSpURL_postProc'    => array('user_encodeSpURL_postProc'), 
    'decodeSpURL_preProc'    => array('user_decodeSpURL_preProc'), 
    '_DEFAULT'       => array(
     ... 
); 

競合がないようにnew/url/は一意である必要があることを確認してください:

次のコードは、私は私のrealurl_conf.phpファイルに追加しました。

例:txnewsをマップする場合は、mynewspage/details/txnews/articleのようなURLがあります。mynewspage/details/txnews/mynewspage/details/に置き換える必要があります。 txnews//に置き換えないでください!

関連する問題