[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.
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 5018
Registriert: 08.06.2009 12:03

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

Beitrag von Talk19zehn »

Switch für Poster-ID im Miniprofil gesucht

Hello, ihr Zwei - zunächst Dank für die Rückmeldung.
modernist hat geschrieben:...(...)... 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... :-?
Mit dem Einsatz der zusätzlichen Profilfelder, konnte auch ich die genannte Idee meinerseits nicht korrekt umsetzen. Da bin ich ebenso --> :-? Warum die Anzeige mal erfolgt und dann wieder nicht?
Ich hatte mich von der positiven Aussage:
Frank1604 hat geschrieben:Dann kannst du in allen Template Dateien den Switch verwenden

Code: Alles auswählen

<!-- IF S_IS_USERID6 -->...<!-- ENDIF -->
verleiten lassen und versucht, den Fehler bei mir zu finden. Stunden habe ich damit verbracht! Tja, so ist das wohl, wenn einem "PHP-Insiderwissen" fehlt.
Unimatrix_0 hat geschrieben:Du müsstest dich "umsehen" un die User-ID des Beitragerstellers - also eine poster_id - als Entscheidungskriterium für dein Switch wählen.
'POSTER_ID': Ein guter neuer Gedanke!! Ich schaute und schaue noch immer..., verstehe den Sachverhalt so, dass sich dann die Codierung auf den UserXX bezieht. Bzw. zumindest ggf. eine erfolgversprechendere Auswahl im Miniprofil getroffen werden kann? :wink: Ist das korrekt? Nur, weder in der funtions.php, der viewtopic.php finde ich einen Eintrag, wie diesen:

Code: Alles auswählen

'POSTER_ID'         => $poster_id,
den ich formatieren könnte, sofern er richtig wäre? Ich habe meine Verzeichnisse auch mit den Originalen verglichen und auch in den Originalen finde ich keinen derartigen Eintrag. Es hätte ja sein können, ich hätte ihn gar "verloren". Jedenfalls finde ich einen derartigen Eintrag leider wirklich nicht. Es entzieht sich leider meiner Kenntnis, ob ich die Poster-Id einfach so verbauen darf und vor allem, ob es eine Regel gibt, diese Angabe in einer bestimmten Zeile in einer php zu positionieren und welche weitere Maßnahmen erforderlich sind, damit diese erkannt werden wird.
Das, was mir gelang: Ich habe erst einmal einige "Parse-Error" konzipiert. :lol:

Code: Alles auswählen

'S_MINIPROFIL_USER'      => [$poster_id->] == 55) ? true, false
oder so

Code: Alles auswählen

'S_MINIPROFIL_USER'      => [$topic_id->] ? true,
Jedenfalls ist es für mich schwierig, gebe ich gern zu.
Allerbeste Grüße



Anfrage: @ Moderatoren
PS.: Eventuell könnte man die neuen Beiträge abtrennen, um den ursprünglichen Thread zu erhalten? Dankeschön...
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
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

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

Beitrag von BNa »

Talk19zehn hat geschrieben: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?
In der viewtopic_body.html einfach nachfolgenden Switch innerhalb von

Code: Alles auswählen

<!-- BEGIN postrow -->
also hierher
<!-- END postrow -->
setzen

Code: Alles auswählen

<!-- IF postrow.POSTER_ID == 2 -->
tu was
<!-- ENDIF -->
Damit zeigt er dann auch nur das betreffende Profil an
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 5018
Registriert: 08.06.2009 12:03

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

Beitrag von Talk19zehn »

Hello @ All und hallo BNa, ich danke dir für den Wink mit dem Zaunpfahl.... Was soll ich dir sagen, ich war nahe dran und übe noch immer. Manche Lösung ist im Nachhinein derart einfach, dass sie mich symbolisch aus den Socken haut, sofern ich welche tragen würde. :lol: Ich danke dir!!! Man lernt eben nie aus.

Demnach habe ich Formatierungen rückabgewickelt und lediglich in der viewtopic.php den Eintrag

Code: Alles auswählen

'POSTER_ID'	=> $poster_id,

Code: Alles auswählen

	'POLL_ENDED_AT'			=> 'Umfrage endete am %s',
	'POLL_RUN_TILL'			=> 'Die Umfrage läuft bis %s.',
	'POLL_VOTED_OPTION'		=> 'Du hast für diese Option gestimmt',
	'POSTER_ID'			=> $poster_id,
	'PRINT_TOPIC'			=> 'Druckansicht',
ergänzend belassen.

"Tu was" ( vgl. deinen Beitrag oben ), habe ich in meinem Falle dahingehend umgesetzt, dass ich eine Box ( Div-Container ) und einen Tooltip ( je CSS-Notation ) eingebaut habe. Das klappt zunächst gut:


Graue Box - nicht linksbündig!!
Ergänzung --> common.css

Code: Alles auswählen

#boxi {
width: 152px;
height: 152px;
background: #CCCCCC;
margin: 30px auto;
position: relative;
}

#boxi1 {
width: 76px;
height: 76px;
background: #C0C0C0;
position: absolute;
top: 76px;
left: 76px;
z-index: 1;
}

#boxi2 {
width: 76px;
height: 48px;
background-image: url("{T_THEME_PATH}/images/menu_ucp.gif");
position: absolute;
top: 48px;
left: 38px;
z-index: 2;
}
Die verwendete Grafik menu_ucp.gif ( "Profil" ) bemisst sich auf 76x48px!!!

Tooltip: --> gelbes Birnchen
Ergänzung --> common.css

Code: Alles auswählen

a.tool { border-bottom: 1px solid #000000; text-decoration: none; }
a.tool:hover { cursor: help; background: #CCCCCC; }
a.tool span { visibility: hidden; position: absolute; left: 22em; width: 26em; padding: 1em; text-decoration: none; }
a.tool:hover span { visibility: visible; border: 0px solid #181818; color: black; background: #FAFAFA; }
Der Abstand, hier 22em = siehe position: absolute; left: 22em; - , wie auch die Farben sind natürlich individuell anzupassen.

Ausgabe:

Code: Alles auswählen

<!-- IF postrow.POSTER_ID == 58 -->
	<dd>
	<div>
		<div id="boxi">
		<i>&diams; Boardmeldung:</i><br /><a href="http://www......../forum/memberlist.php?mode=viewprofile&u=58" title="Profil besuchen">Gewinner im Juli 2011...</a><p font-size:11px"><b>Glückwunsch</b></p>
		<div id="boxi1">
		</div><!--Ende #boxi1-->
		<div id="boxi2">
		</div><!--Ende #boxi2-->
		</div><!--Ende #boxi-->
		</div> <a href="http://www........../forum/memberlist.php?mode=viewprofile&u=58" class="tool"><img style="width:16; height:14px;" src="images/Birnchenonj1.gif" alt="" title="Profil besuchen" /><span>&nbsp; User-Name ist unser Gewinner im Juli 2011 </span></a>
		</dd>
<!-- ENDIF -->
Ausgabe viewtopic.html: Achtung ein wenig mehr Code zwecks Orientierung

Code: Alles auswählen

				<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
			</dt>
				<!-- 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>
<!-- IF postrow.POSTER_ID == 58 -->
	<dd>
	<div>
		<div id="boxi">
		<i>&diams; Boardmeldung:</i><br /><a target="_blank" href="http://www........../forum/memberlist.php?mode=viewprofile&u=58" title="Profil besuchen">Gewinner im Juli 2011...</a><p font-size:11px"><b>Glückwunsch</b></p>
		<div id="boxi1">
		</div><!--Ende #boxi1-->
		<div id="boxi2">
		</div><!--Ende #boxi2-->
		</div><!--Ende #boxi-->
		</div> &nbsp;  <a href="http://www........./forum/memberlist.php?mode=viewprofile&u=58" class="tool"><img style="width:16; height:14px;" src="images/Birnchenonj1.gif" alt="" title="Profil besuchen" /><span>&nbsp; User-Name ist unser Gewinner im Juli 2011 </span></a>
		</dd>
<!-- ENDIF -->
		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Die Einfügung erfolgte nach <dd>&nbsp;</dd>........

Ob sich nun in Kombination ein Automatismus erzeugen ließe, der den User-Namen direkt ausgibt ohne diesen manuell zu setzen, entzieht sich momentan meiner Kenntnis. Ja, ich habe direkt auf das Profil verlinkt. Ist das für phpbb "sauber und ordentlich" genug? Bots und Gäste sehen diese Ausgaben in meinem Konstrukt jedenfalls nicht.
Bitte lasst euch von Inhalten im folgenden Bild nicht irritieren, da ich gerade weitere Konstrukte im Miniprofil, wie

Code: Alles auswählen

<dd><!-- IF postrow.POSTER_ID == 58 --><img src="{T_THEME_PATH}/images/blumen.gif" width="24" height="24" alt="..." />&nbsp;<i>Hallöchen, sehr erfreut!</i><!-- ENDIF --></dd>
testweise und einiges mehr am Laufen habe.

Mein vorläufiges Ergebnis: [ externes Bild ]
IE8, FF und Opera I.O..
Was mich generell noch stört ( ein wenig zumindest ), ist die Tatsache, dass sich der Beginn der Signatur nicht an die Höhe des Miniprofiles anpasst / ausrichtet ( grübel ).

Wer Fehler findet oder Verbesserungsvorschläge hat, möge diese bitte kundtun.
Allerbeste 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.
Antworten

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