Platzhalter ausgabe Problem?

Shorty1968

Erfahrenes Mitglied
Hallo ich möchte aus der UserOptionOutputStatusDisplay.class.php diesen Teil.
PHP:
public function getShortOutput(User $user, $optionData, $value)
	{
		if (empty($value) || $value == '0')
			return '';
			
		WCF :: getTPL()->assign('value', $value);
		WCF :: getTPL()->assign('size', 'S');

		return WCF::getTPL()->append('additionalSidebarUserStatus', WCF::getTPL()->fetch('statusIcon'));
		
	}
Durch diesen Platzhalter anzeigen lassen.
Code:
{if $additionalSidebarUserStatus[$sidebar->getMessageID()]|isset}{@$additionalSidebarUserStatus[$sidebar->getMessageID()]}{/if}
Aber das ergebnis,ist das nur ein I angezeigt wird,was stimmt da nicht oder was habe ich vergessen oder weiss es nicht?
 

Anhänge

  • ergebnis.png
    ergebnis.png
    570 Bytes · Aufrufe: 69
Vermutlich ist der Pfad zu einer Grafik (?) nicht korrekt. Schau mal in den generierten Quellcode.

Das hängt aber alles ein wenig in der Luft, finde ich. Vielleicht bist du beim Support von WCF, was auch immer das ist, besser aufgehoben.
 
Da könntest du recht haben,aber mit dem Support vom WCF oder WBB ist das so eine sache die verstehen unter Helfen etwas ganz anderes als ich.

es geht hier darum das ich ein Plugin an einer andere stelle angezeigt haben möchte,als es das Orginal tut.
Die ausgabe wir soweit ich das erkennen kann über die lib\data\user\option/UserOptionOutput.Status:Display.class.php ausgegeben das Orginal sieht so aus.
PHP:
<?php
require_once (WCF_DIR . 'lib/data/user/option/UserOptionOutput.class.php');
require_once (WCF_DIR . 'lib/data/user/User.class.php');


class UserOptionOutputStatusDisplay implements UserOptionOutput
{

	/**
	 * @see UserOptionOutput::getShortOutput()
	 */
	public function getShortOutput(User $user, $optionData, $value)
	{
		if (empty($value) || $value == '0')
			return '';
			
		WCF :: getTPL()->assign('value', $value);
		WCF :: getTPL()->assign('size', 'S');

		return WCF :: getTPL()->fetch('statusIcon');
		
	}

	/**
	 * @see UserOptionOutput::getMediumOutput()
	 */
	public function getMediumOutput(User $user, $optionData, $value)
	{
		if (empty($value) || $value == '0')
			return '';

		WCF :: getTPL()->assign('value', $value);
		WCF :: getTPL()->assign('size', 'M');

		return WCF :: getTPL()->fetch('statusIcon');
	}

	/**
	 * @see UserOptionOutput::getOutput()
	 */
	public function getOutput(User $user, $optionData, $value)
	{
		if (empty($value) || $value == '0')
			return '';

		WCF :: getTPL()->assign('value', $value);
		WCF :: getTPL()->assign('size', 'L');

		return WCF :: getTPL()->fetch('statusIcon');
	}
}
?>
und wird bei diesen teil in einem template angezeigt.
PHP:
return WCF :: getTPL()->fetch('statusIcon');
Ich finde in diesem Plugin einfach nicht die stelle vo ich einen anderen Platzhalter angeben kann,deshalb muss ich selber etwas finden.

Der Template Code über dem jetzt die ausgabe erfolgt sieht so aus.
HTML:
{if $sidebar->getUserCredits()|count > 0 || $additionalSidebarUserCredits[$sidebar->getMessageID()]|isset}
			<div class="userCredits">
				{foreach from=$sidebar->getUserCredits() item=$userCredit}
					<p>{if $userCredit.url}<a href="{@$userCredit.url}">{@$userCredit.name}: {@$userCredit.value}</a>{else}{@$userCredit.name}: {@$userCredit.value}{/if}</p>
				{/foreach}
				
				{if $additionalSidebarUserCredits[$sidebar->getMessageID()]|isset}{@$additionalSidebarUserCredits[$sidebar->getMessageID()]}{/if}
			</div>
		{/if}
Wobei genau dieser Teil ist der es ausgibt.
HTML:
{@$userCredit.value}
 
es geht hier darum das ich ein Plugin an einer andere stelle angezeigt haben möchte,als es das Orginal tut.

Wobei genau dieser Teil ist der es ausgibt.
Code:
{@$userCredit.value}

Naive Antwort: Dann schreib den Teil doch einfach woanders hin.

Dass wir hier nicht der Support von WCF sind – was auch immer das ist – habe ich ja schon mal so ähnlich angemerkt. Die Chance, hier jemanden zu finden, der sich damit auskennt, ist vermutlich sehr gering.

Einarbeiten werde zumindest ich mich nicht extra. Dazu ist mir das Risiko zu groß, beispielsweise am Ende feststellen zu müssen, dass deine Frage entweder total trivial ist und/oder einfach schlecht gestellt war. Ich meine, du erklärst nicht mal so unwesentliche Details wie das, was WCF eigentlich ist. Ich habe es mir zwar inzwischen gegooglet, aber… na ja, ne. Aus Erfahrung sage ich dir, dass es sich nicht lohnt.
 
Zuletzt bearbeitet:
Ja auf das einfach umsetzen bin ich auch schon gekommen,aber an dieser variable hängen auch noch andere die dann auch an der anderen stelle angezeigt werden.

Meine anfrage hier ist ja wie ich auch schon erwähnt habe , gerade weil der support zum Woltlab Community Frammwork nicht gerade der Hilfreichste ist.

Ich würde auch eine Lösung einfügen die nicht unbedingt dem Programmieren des WCF entspricht wenn sie ihren zweck erfüllt.
 
Zurück