2016-07-25 8 views
0

私はレコードのリスト(アクションshow)と新しいレコードを送信するフォーム(アクションnew)の両方を持つ拡張機能を開発しています。TYPO3プラグイン - 1つのアクションのパブリックアクセスと1つのプライベート

リストにはパブリックアクセスが必要ですが、フォームにはログインフォームが必要です(私はTYPO3に付属のログインフォームのコンテンツタイプを使用しています)。

プラグインのアクセスタブを使用して、を選択しようとしましたが、ログイン時に表示します。プラグイン全体に適用されます。

現在、このページがどのように見えるかです:

enter image description here

は、どのように私は誰かが新しいレコードを作成しようとした場合にのみ、ログインフォームを表示するために得ることができますか?

注:ExtensionはExtbaseとFluidに基づいています。ターゲットバージョンはTYPO3 6.2です。

答えて

2

フレックスフォームでswitchableControllerActionsと異なる "ビュー"でアクションを分割するのが最も簡単です。次に、別々のプラグインを2つの異なるページに配置する必要があります。そうすることで、プラグインのアクセス設定を変えることができます。フレックスフォームの調整方法がわからない場合は、ここにその内容を掲載することができます。

もう1つの方法はコントローラ内部でチェックすることですが、確認する必要のあるさまざまな役割が多い場合にのみ使用します。

if ($this->loginUser === null && $GLOBALS['TSFE']->loginUser && !empty($GLOBALS['TSFE']->fe_user->user['uid'])) { 
     // the user is logged in 
    } else { 
     // return '' as action content 
     return ''; 
    } 
+0

私は、このようにそれをやっている場合、 'new'アクションが公的にアクセス可能なプラグインにアクセスできない場合わからない - あなたはおそらく公開ページのURLをmanipuate、パラメータを追加する必要があると思います' TX_ _ [action] = new'を追加しました。 – Jost

+0

'switchableControllerActions'を設定する際のポイントは、設定されたアクションだけが呼び出せ、他のアクションはすべてプラグインに存在しないということです。プラグインの設定で希望する「ビュー」を選択することができます –

+0

表示されているように見えて、configurePluginの設定だけが考慮されているように、私にとっては正しいと思われます。私は訂正した。 – Jost

関連する問題