Guten Tag
Versuche mich gerade in Fluid einzuabeiten und hänge jetzt an einen kleinen Problem. Und zwar, möchte ich die Anzeige davon anghängig machen, welcher User gerade eingeloggt ist.
Es wird eine Liste erstellt (Schwarzesbrett) mit verscheidenen Einträgen.
Der User soll bei seinen Einträgen einen [Löschen] Link/Button angezeigt bekommen.
Bin mir auch noch unsicher, ob ich dies in Fluid oder in der Controller.php umsetzen muss.
Schonmal Danke für eine Antwort
Mfg
Power-Poler
Hi Power-Poler,
nur zum Verständnis: Du möchtest, dass einige User diesen Löschen-Button angezeigt bekommen und andere nicht?
Was hast du denn bisher schon erstellt?
Viele Grüße und weiterhin viel Erfolg mit TYPO3
Philipp
Danke für deine Antwort.
Es geht darum, dass nur der Ersteller der jeweiligen Nachricht für seine Nachrichten einen Löschen Button angezeigt bekommt.
Habe inzwischen aber eine Funktionierende Lösung gefunden.
Controller:
if($GLOBALS['TSFE']->fe_user->user['uid'] !== NULL){
$isLogins = $bulletinRepository->isLoginUserId($GLOBALS['TSFE']->fe_user->user['uid']);
$this->view->assign('isLogins', $isLogins);
}
Repository:
public function isLoginUserId($userId = '-1'){
$query = $this->createQuery();
$sql = 'SELECT * FROM tx_bulletinboard_domain_model_bulletinboard WHERE cruserid = "'.$userId.'"';
$query->statement($sql);
return $query->execute();
Template:
<f:for each="{isLogins}" as="isLogin">
<f:if condition="{bulletin.uid} == {isLogin.uid}">
<td width="15%"><f:link.action action="showDelete" arguments="{bulletin : isLogin.uid}">[löschen]</f:link.action></td>
</f:if>
</f:for>
Ich frage also zuerst ab, ob der User eingeloggt ist. Ist dies der Fall, wird in der Datenbank jeder Eintrag rausgesucht, der von dieser userid erstellt wurde. Anschließend frage ich im Template, ob die uid der gerade zu ladenden Nachricht auch in der Liste mit den Nachrichten des users ist, und lasse dann zusätzlich einen Löschen Button (Link in dem Fall) anzeigen.
Ob das jetzt so sinvoll ist, weiß ich leider noch nicht.
Hi,
vielen Dank, dass du uns deine Lösung mitgeteilt hast 🙂
Weiterhin viel Erfolg!
Philipp
Hab es jetzt mal kürzer geschrieben:
<code>Controller
if($GLOBALS['TSFE']->fe_user->user['uid'] !== NULL){
$this->view->assign('isLogin', $GLOBALS['TSFE']->fe_user->user['uid']);
}else{
$this->view->assign('isLogin', '-1');
}
Template:
<f:if condition="{bulletin.cruserid} == {isLogin}">
<td width="15%"><f:link.action action="showDelete" arguments="{bulletin : bulletin.uid}">[löschen]
</f:link.action></td>
</f:if>
</code>
etwas übersichtlicher 😃