[Gelöst] Switch für user_id

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: [Gelöst] Switch für user_id

Beitrag 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... :lol:
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: [Gelöst] Switch für user_id

Beitrag 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
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Eurodiver
Mitglied
Beiträge: 54
Registriert: 02.02.2010 18:15
Wohnort: Wien
Kontaktdaten:

Re: [Gelöst] Switch für user_id

Beitrag von Eurodiver »

Hallo,
funktioniert so ein Switch nur für Werte die in einer DB Tabelle (wie z.B. USER_ID) stehen?
Man muss gut überlegen, was man sich wünscht.
Es könnte passieren, dass man es bekommt.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: [Gelöst] Switch für user_id

Beitrag 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" :wink: )
Eurodiver
Mitglied
Beiträge: 54
Registriert: 02.02.2010 18:15
Wohnort: Wien
Kontaktdaten:

Re: [Gelöst] Switch für user_id

Beitrag 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.
Man muss gut überlegen, was man sich wünscht.
Es könnte passieren, dass man es bekommt.
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 5018
Registriert: 08.06.2009 12:03

Re: [Gelöst] Switch für user_id

Beitrag von Talk19zehn »

Hello, bei mir funktioniert es ( Prosilver 3.08 ) leider nicht, wie gewollt: Ich hatte beide Varianten ausprobiert... :oops:

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>&nbsp;</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
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: [Gelöst] Switch für user_id

Beitrag von modernist »

Nimm besser diese Variante: viewtopic.php?f=93&t=205304#p1174927

Code: Alles auswählen

              'S_USER_ID'            => $user->data['user_id'], 
Und dann im Template:

Code: Alles auswählen

<!-- IF S_USER_ID == 55 -->
Das klappt bei mir problemlos, egal mit welchem User.
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 5018
Registriert: 08.06.2009 12:03

Re: [Gelöst] Switch für user_id

Beitrag 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>&nbsp;</dd>
nicht. Sie wird in allen Profilen angezeigt ... :o Ich weiß, jedoch nicht warum, da fehlen mir die Kenntnisse. Demnach nicht in jedem Templatebereich beliebig anwendbar? Jedenfalls bei mir, - :oops: .

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... :wink:

Viele Grüße
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Benutzeravatar
Unimatrix_0
Mitglied
Beiträge: 392
Registriert: 03.11.2007 10:50
Kontaktdaten:

Re: [Gelöst] Switch für user_id

Beitrag 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.
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: [Gelöst] Switch für user_id

Beitrag 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... :wink:
(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... :-?
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“