gelöst Frage an die Coding Gurus: <img> durch SVG XML dynamisch ersetzen

Joined
Sep 15, 2001
Messages
912
Points
310
Juten Abend, liebe Freunde der Web-Coderei...

Ich stehe vor folgendem Problem:
In WBB4.x ist der Default-Avatar leider recht blöd eingebunden. Die grundsätzliche Verarbeitung erfolgt in der Datei 'DefaultAvatar.class.php'. Hier befindet sich der hardcodierte Aufruf:
Code:
return WCF::getPath().'images/avatars/avatar-default.svg';
Desweiteren wird in diversen Templates (zB messageSidebar) dann so
Code:
<div class="userAvatar">
{capture assign='__userAvatar'}{@$userProfile->getAvatar()->getImageTag(128)}{/capture}
<a href="{link controller='User' object=$userProfile->getDecoratedObject()}{/link}" class="framed">{@'<img'|str_replace:'<img itemprop="photo"':$__userAvatar}</a>
dieser HTML Code erzeugt:
Code:
<img src="http://test.pinballz.net/wcf/images/avatars/avatar-default.svg" style="width: 32px; height: 32px" alt="" class="userAvatarImage">

Das Blöde an der Geschichte:
Diesen 'avatar-default.svg' gibt es genau einmal und ich würde ihn gerne per CSS formatieren können (was ja mit .svg die in XML vorliegen problemlos möglich ist). Zudem kommt der obige <img...> Code auch nur zu Stande wenn der User keinen Avatar hochgeladen hat, ansonsten wird da auf seinen Avatar referenziert.

Wie kann ich also dynamisch, fast egal wie (jquery, php, wasauchimmer) den obigen HTML Code abfangen und durch einen SVG XML Code ersetzen?
Allerdings funktioniert der Spaß nicht in den Templates...

Der SVG XML Code den ich gerne da stehen hätte:
Code:
<svg class="userstyle" viewBox="0 0 256 256" height="256" width="256" >
<dc:format>image/svg+xml</dc:format>
<g transform="translate(0,-796.36216)" id="layer1">
    <ellipse 
		ry="40.372906"       
		rx="38.278351"       
		cy="861.95966"       
		cx="45.097691"       
		id="path3363"       
		style="fill-rule:evenodd;stroke:none;" />
    <ellipse       
		ry="20.401205"
        rx="19.036827"
        cy="1000.0436"       
		cx="189.61382"       
		id="path3365"       
		style="fill-rule:evenodd;stroke:none;" />
    <path       
		id="rect3367"       
		d="M 19.61642,892.10519 71.359992,832.29538 203.837,986.43544 179.31814,1017.0393 Z"
        style="fill-rule:evenodd;stroke:none;" />    
    <ellipse       
		ry="26.843689"       
		rx="25.791828"       
		cy="945.06769"       
		cx="223.38884"       
		id="path3370"       
		style="fill-rule:evenodd;stroke:none;" />  
</g>
</svg>

Hat da jemand eine zielführende Idee?
 
Last edited:
Hat sich erledigt. War wohl ein wenig auf den hardcoded Pfad zur Datei fixiert.

Kurz darunter findet sich die eigentliche HTML Ausgabe in der sich der SVG XML Code ganz einfach unterbringen lässt... :D
 
Back
Top Bottom