2017-10-19 9 views
1

私は、コアリンクハンドラを使用して、私のリンクをuserFuncで変更したいと思います。typolink userFunc in TYPO3 V8

それがここに記載されているように、私はあるlinkHandlerを使用し、そしてそれは、単一の詳細ページで動作します: https://usetypo3.com/linkhandler.html

問題がある: 私は私のTypoScriptを変更する場合:

config.recordLinks { 
    tx_news { 
     typolink { 
      userFunc = Vendor\Name\UserFunc\TypolinkUserFunc->parseLinkHandlerTypolink 
      userFunc { 
       newsUid = TEXT 
       newsUid.data = field:uid 

       newsClass = TEXT 
       newsClass.data = parameters:class 

       defaultDetailPid = 53 
      } 
     } 
    } 
} 

それはdoesnの仕事はありません。

私はuserFuncに対処できません。私は内線にいます。私はuserFuncクラスをロードするために

'autoload' => 
     array(
      'psr-4' => array('Vendor\\Name\\' => 'Classes') 
     ), 
); 

を使用しています。 エラーメッセージは表示されません。

+0

クラスファイルはmy_ext/Classes/UserFunc/TypolinkUserFunc.phpですか?クラスはどのように見えるのですか? config.recordLinksコンテキストなしで動作しますか? page.10 = USER_INT、page.10.userFunc = Vendor \ Name \ UserFunc \ TypolinkUserFunc-> parseLinkHandlerTypolink?それ以外の場合は、デバッガを使用して、sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php行5712にブレークポイントを設定してください。 – Wolfgang

+0

typolinkでuserFuncのドキュメントを読んだことはありますか? https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Typolink/Index.html?highlight=typolink userFuncのコードを投稿することはできますか? –

答えて

0

あなたはこれまでに考えたことがありますが、userFuncをUSERとして実行する必要があります。上記は一例であり、それはあなたが始める必要があるとして

config.recordLinks { 
    tx_news { 
     typolink { 
      10 = USER 
      10 { 
       userFunc = Vendor\Name\UserFunc\TypolinkUserFunc->parseLinkHandlerTypolink 
       userFunc { 
        newsUid = TEXT 
        newsUid.data = field:uid 

        newsClass = TEXT 
        newsClass.data = parameters:class 

        defaultDetailPid = 53 
       } 
      } 
     } 
    } 
} 

10 = USER 
10 { 
    userFunc = TYPO3\Extension\Sample->user_exampleUserFunc 
} 

のでサンプルとして、あなたのコードは次のようになります。

関連する問題