2016-07-25 35 views
0

Ich entwickle eine Erweiterung, die sowohl eine Liste von Datensätzen (Aktion show) und ein Formular zum Senden eines neuen Datensatzes (Aktion new).TYPO3 Plugin - Eine Aktion öffentlichen Zugriff und eine private

Die Liste muss öffentlich zugänglich sein, aber das Formular muss ein Anmeldeformular erfordern (ich verwende den Inhalt des Anmeldeformulars, das mit TYPO3 geliefert wird).

Ich habe versucht, die Registerkarte Zugriff für das Plugin Show bei jedem Login verwenden, aber es gilt für das gesamte Plugin nicht für jede Aktion.

Derzeit ist dies, wie die Seite aussieht:

enter image description here

Wie konnte ich das Login-Formular angezeigt bekommen nur, wenn jemand einen neuen Datensatz zu erstellen versucht?

Hinweis: Die Erweiterung basiert auf Extbase und Fluid. Die Zielversion ist TYPO3 6.2.

Antwort

2

Am einfachsten wäre es, die Aktionen in verschiedenen "Ansichten" mit switchableControllerActions in Ihrem flexform zu teilen. Dann müssten Sie separate Plugins auf zwei verschiedenen Seiten platzieren, so dass Sie unterschiedliche Zugriffskonfigurationen für die Plugins haben. Wenn Sie nicht wissen, wie Sie die Flexform anpassen, können Sie den Inhalt hier veröffentlichen.

Der andere Weg wäre eine Überprüfung innerhalb des Controllers, aber ich würde es nur verwenden, wenn Sie viele verschiedene Rollen haben, die Sie überprüfen müssen.

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

Ich bin nicht sicher, ob die 'new' Aktion in der öffentlich zugänglichen Plugin unzugänglich ist, wenn es auf diese Weise tun - Sie würden wahrscheinlich müssen nur die URL der öffentlichen Seite manipuate und die Parameter hinzufügen,' tx_ _ [Aktion] = neu 'dazu. – Jost

+0

Der Punkt bei der Konfiguration der 'switchableControllerActions' ist, dass nur die konfigurierten Aktionen aufgerufen werden können, alle anderen Aktionen sind für das Plugin nicht existent. Sie können dann die gewünschte "Ansicht" in der Plugin-Konfiguration wählen. –

+0

Scheint, dass Sie Recht haben, für mich sah das so aus, als wäre es nur eine Display-Sache, und nur die Konfiguration von 'configurePlugin' wurde berücksichtigt. Ich stehe korrigiert. – Jost