Ja, das sollte funktionieren.
Benutzerprofilfeld: Icon statt Text anzeigen
-
- WBB 4.0.x
- JuanitoBurrito
-
-
Es funktioniert, aber ich bekomme die Bilderchen in einer Fehlermeldung mit ausgegeben
[quote]
PHP
Display More<?php namespace wcf\system\option\user; use wcf\data\user\option\UserOption; use wcf\data\user\User; use wcf\util\StringUtil; use wcf\system\WCF; /** * User option output implementation for the output of a YouTube user profile. * * @author Marcel Werk / René Fritzsche / John Erfurt * @copyright 2001-2013 WoltLab GmbH / Orlando-Forum.de / CyWa.eu * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> * @package com.woltlab.wcf.user * @subpackage system.option.user * @category Community Framework */ class GamesUserOptionOutput implements IUserOptionOutput { /** * @see wcf\system\option\user\IUserOptionOutput::getOutput() */ public function getOutput(User $user, UserOption $option, $value) { if (empty($value)) return ''; $value = StringUtil::encodeHTML($value); $wcf = WCF::getPath('wcf'); $games = explode("\n", $value); foreach($games as $game) { echo '<img src="'.$wcf.'images/gameIcons/'.$game.'.png" alt="'.$game.'" title="'.$game.'" class="jsTooltip" height="16" width="16" />'; } } }
-
Das echo muss weg, du speicherst den text in einer variable und gibst diese via return zurück
-
Dann kriege ich wieder nur ein Bild ausgegeben.
Das System schickt mir folgende Fehlermeldung (das hat oben scheinbar nicht geklappt mit der Meldung).
QuoteWed, 25 Mar 2015 15:25:34 +0000
Message: PHP warning in file /www/htdocs/w012507f/cms/wcf/lib/system/exception/AJAXException.class.php (102): Cannot modify header information - headers already sent by (output started at /www/htdocs/w012507f/cms/wcf/lib/system/option/user/GamesUserOptionOutput.class.php:30)
File: /www/htdocs/w012507f/cms/wcf/lib/system/WCF.class.php (304)
PHP version: 5.5.22-nmm1
WCF version: 2.0.12 (Maelstrom)
Request URI: /forum/index.php/AJAXProxy/?
Referrer: http://cywa.eu/forum/index.php/User/97-iDOCxz/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.4.10 (KHTML, like Gecko) Version/8.0.4 Safari/600.4.10
Information: ""
Stacktrace:
#0 [internal function]: wcf\system\WCF::handleError(2, 'Cannot modify h...', '/www/htdocs/w01...', 102, Array)
#1 /www/htdocs/w012507f/cms/wcf/lib/system/exception/AJAXException.class.php(102): header('HTTP/1.0 503 Se...')
#2 /www/htdocs/w012507f/cms/wcf/lib/action/AJAXInvokeAction.class.php(169): wcf\system\exception\AJAXException->__construct('PHP warning in ...', 503, '#0 [internal fu...', Array, 'c25b3e10a02596e...')
#3 /www/htdocs/w012507f/cms/wcf/lib/action/AJAXInvokeAction.class.php(70): wcf\action\AJAXInvokeAction->throwException(Object(wcf\system\exception\SystemException))
#4 /www/htdocs/w012507f/cms/wcf/lib/system/request/Request.class.php(58): wcf\action\AJAXInvokeAction->__run()
#5 /www/htdocs/w012507f/cms/wcf/lib/system/request/RequestHandler.class.php(108): wcf\system\request\Request->execute()
#6 /www/htdocs/w012507f/cms/forum/index.php(10): wcf\system\request\RequestHandler->handle('wbb')
#7 {main} -
vor der foreach-schleife kannst du einfach sowas wie $returnValue = ''; schreiben, in der schleife dann $returnValue .= 'DEIN BILD'; und nach der schleife ein return $returnValue;
-
Joah, auf das echo ab ich nicht einmal geachtet.
echo hat im gesamten WCF nirgendwo etwas zu suchen.
QuoteCannot modify header information - headers already sent by (output started at /www/htdocs/w012507f/cms/wcf/lib/system/option/user/GamesUserOptionOutput.class.php:30)
Nicht nur das echo löschen, sondern den String an eine Variable übergeben und zurückgeben. Du gibts immer noch etwas direkt aus...
-
Hat geklappt. Danke und ich hab euch lieb
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!