Seite 2 von 3
Re: [Gelöst] Switch für user_id
Verfasst: 15.04.2010 19:23
von modernist
Ah ja...
Ich belasse es mal bei der ersten Variante ohne (int). Wenn mein Forum zusammenbricht, weiß ich ja, wem ich dann die Schuld in die Schuhe schieben kann...

Re: [Gelöst] Switch für user_id
Verfasst: 15.04.2010 19:40
von Frank1604
Jojo, immer auf die Kleinen, und dann sollen se wachsen
Hier ein wenig Lesestoff, falls es dich wirklich interessieren sollte.
http://php.net/manual/de/language.types ... ggling.php
Re: [Gelöst] Switch für user_id
Verfasst: 21.12.2010 20:28
von Eurodiver
Hallo,
funktioniert so ein Switch nur für Werte die in einer DB Tabelle (wie z.B. USER_ID) stehen?
Re: [Gelöst] Switch für user_id
Verfasst: 21.12.2010 20:43
von Dr.Death
Nein, aber falls diese Frage nichts direkt mit der eigentlichen Fragestellung des Themenstarters zu tun hat, wäre es besser Du startest ein neues Thema mit genauerer Fragestellung (Die genaue Antwort lautet bisher nur "Nein"

)
Re: [Gelöst] Switch für user_id
Verfasst: 21.12.2010 21:07
von Eurodiver
Hallo,
ich hatte Tomaten auf den Augen - warum kompliziert wenn es auch einfach geht. Ich habs soeben selber lösen können!
Trotzdem danke.
Re: [Gelöst] Switch für user_id
Verfasst: 27.06.2011 20:42
von Talk19zehn
Hello, bei mir funktioniert es ( Prosilver 3.08 ) leider nicht, wie gewollt: Ich hatte beide Varianten ausprobiert...
functions.php auszugsweise:
Code: Alles auswählen
'S_USER_LOGGED_IN' => ($user->data['user_id'] != ANONYMOUS) ? true : false,
'S_AUTOLOGIN_ENABLED' => ($config['allow_autologin']) ? true : false,
'S_BOARD_DISABLED' => ($config['board_disable']) ? true : false,
'S_REGISTERED_USER' => (!empty($user->data['is_registered'])) ? true : false,
'S_IS_BOT' => (!empty($user->data['is_bot'])) ? true : false,
'S_IS_USERID55' => ($user->data['user_id'] == 55) ? true : false,
viewtopic_body.html auszugsweise:
Code: Alles auswählen
<!-- IF not postrow.S_IGNORE_POST -->
<dl class="postprofile" id="profile{postrow.POST_ID}">
<dt>
<!-- IF postrow.POSTER_AVATAR -->
<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
<!-- ENDIF -->
<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
</dt>
<dd><!-- IF S_IS_USERID55 --><p>Hallo</p><!-- ENDIF --></dd>
<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
<dd> </dd>
Nehme ich die ID des Users 2, wird es in allen Profilen angezeigt. Wo ist mein Denkfehler? Hat jemand Hilfe parat und könnte helfen?
Danke
Re: [Gelöst] Switch für user_id
Verfasst: 28.06.2011 12:09
von modernist
Nimm besser diese Variante:
viewtopic.php?f=93&t=205304#p1174927
Und dann im Template:
Das klappt bei mir problemlos, egal mit welchem User.
Re: [Gelöst] Switch für user_id
Verfasst: 28.06.2011 19:16
von Talk19zehn
OK und
moin moin, habe ich getan. Es löst das Problem in dem Template an der Stelle --> viewtopic_body.html ( auszugsweise) :
Code: Alles auswählen
<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
</dt>
<dd><!-- IF S_USER_ID == 55 --><p>Hello ...</p><!-- ENDIF --></dd>
<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
<dd> </dd>
nicht.
Sie wird in allen Profilen angezeigt ...

Ich weiß, jedoch nicht warum, da fehlen mir die Kenntnisse. Demnach nicht in jedem Templatebereich beliebig anwendbar? Jedenfalls bei mir, -

.
Gebe ich die Codierung in die overall_header.html funktioniert die Ausgabe insofern, dass sie nur für den User 55 nach dem Login erscheint und andere User die nette Nachricht gar nicht sehen.
Ich hätte gedacht ( so im weitesten Sinne ), ich könnte sie in dem Profil des Users ausgeben und ggf. sogar für andere Mitglieder ebenso sichtbar darstellen? Wenn man weiß, wie es geht, ist es ggf. ganz einfach...
Viele Grüße
Re: [Gelöst] Switch für user_id
Verfasst: 28.06.2011 19:44
von Unimatrix_0
wenn du dies machen möchtest darfst du nicht auf das $user objekt zugreifen, da dies nur die Daten des aktuell eingelogten Users enthält. Du müsstest dich "umsehen" un die User-ID des Beitragerstellers - also eine poster_id - als Entscheidungskriterium für dein Switch wählen.
Re: [Gelöst] Switch für user_id
Verfasst: 28.06.2011 22:02
von modernist
@Talk19zehn
Jetzt verstehe ich erst, was du machen willst.
Dafür ist S_USER_ID allein in der Tat nicht geeignet, gleichwohl es in allen Templates verwendbar ist, es klappt ja auch bei dir, nur willst du etwas mehr.
Wie wäre es mit einem benutzerdefinierten Profilfeld, das du als Admin anlegst? Du wählst dann bei Sichtbarkeit nur "Bei der Themen-Ansicht anzeigen" aus, die anderen Optionen
nicht und im Template viewtopic_body.html gibst du dann so was an wie
<!-- IF S_USER_ID == 55 and postrow.S_PROFILE_SPEZIAL -->{postrow.PROFILE_SPEZIAL_VALUE}<!-- ENDIF -->
Das Profilfeld heißt hier
spezial. Beim lokalen Test klappte das so. Dazu ist aber die Angabe der Profilfelder zu ändern und diese sind einzeln im Template aufzurufen. Ich hatte hierzu auch mal was im Forum geschrieben...
(hier z.B.:
viewtopic.php?t=209046 )
Wenn ich im ACP bei der Sichtbarkeit mit "Im persönlichen Bereich des Benutzers anzeigen", "Bei der Themen-Ansicht anzeigen" und "Profilfeld verstecken" rumspiele, klappt es leider nicht, daß nur betroffener Nutzer, Moderatoren und Admins das Profilfeld sehen (hier dann ohne S_USER_ID == 55 im Template). Für den Nutzer ist das Profilfeld dann nicht sichtbar, für den Admin schon...
