Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

Template override für das Banner module

  • goedda
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
30 Mai 2011 14:24 #29260 von goedda
Template override für das Banner module wurde erstellt von goedda
Hallo zusammen,

ich habe sogenannte Tooltips zu meinen Werbeblöcken hinzugefügt und deshalb mein core file 'modules/mod_banners/tmpl/default.php modifiziert:
Code:
<?php // no direct access defined('_JEXEC') or die('Restricted access');?> <div class="bannergroup<?php echo $params->get( 'moduleclass_sfx' ) ?>"> <?php if ($headerText) : ?> <div class="bannerheader"><?php echo $headerText ?></div> <?php endif; foreach($list as $item) : ?><div class="banneritem<?php echo $params->get( 'moduleclass_sfx' ) ?>"><?php echo modBannersHelper::renderBanner($params, $item); ?><div class="clr"></div> </div> <?php endforeach; ?> <?php if ($footerText) : ?> <div class="bannerfooter<?php echo $params->get( 'moduleclass_sfx' ) ?>"> <?php echo $footerText ?> <?php switch ($params->get( 'moduleclass_sfx' )) { case '_netz': echo JHTML::tooltip('This website is hosted by NetZone Internet Services, Swiss quality webhosting since 1997. Unlimited traffic, unlimited Mail accounts, lots of web space for a very modest price and very good support, Admin.', '', '../../../images/tooltip.png'); break; } ?> </div> <?php endif; ?> </div>

und einen Kodeblock in 'modules/mod_banners/helpers.php' eingefügt:
Code:
/* $image = '<img src="'.$baseurl.'images/banners/'.$item->imageurl.'" alt="'.JText::_('Banner').'" />'; */ /* replaced with this by goedda */ $banner_params = new JParameter( $item->params ); $width = $banner_params->get( 'width'); $height = $banner_params->get( 'height'); $image = '<img src="'.$baseurl.'images/banners/'.$item->imageurl.'" alt="'.JText::_('Banner').'"'; if ($width > 0) { $image = $image . ' width="' . $width . '"'; } if ($height > 0) { $image = $image . ' heigth="' . $height . '"'; } $image = $image . ' />'; /* end custom code by goedda */

Das funktioniert einwandfrei, ich möchte aber ein Template override in meinem Joomla! Template erstellen und nicht unbedingt meine Joomla! core files "hacken".

Frage: Wie geht das, wenn ich nicht nur ein Template override für mein /tmpl/default.php file brauche?

Ich hoffe, jemand hat Erfahrung mit komplexeren Template overrides und kann mir weiterhelfen...
Ich bin dankbar für konstruktive Antworten und Hilfe jedweder Art.

mfG goedda
Mehr
30 Mai 2011 19:46 #29263 von jimbo
Funktioniert denn das nicht, wenn Du einfach den Code welchen Du aktuell in die helper.php geschrieben hast zu Beginn in die default.php schreibst? Dann einfach die default.php im verwendeten Template in denselben Pfad legen, wie auch das original liegt:

-> modules/mod_banners/tmpl/default.php (Original)
-> templates/das-verwendete-template/html/mod_banners/default.php (Override)

Gruss Dany (Jimbo)
Kein Support per PN.
  • goedda
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
30 Mai 2011 23:23 #29267 von goedda
Hallo jimbo

Danke für deine schnelle Antwort. Ich verstehe, was du meinst und die Idee ist eigentlich gut.
Ich habe den Kode schon vor längerer Zeit geschrieben, als ich noch ein Joomla! Neuling war und des öfteren core Kode gehackt :o
Ich muss also zuerst nachprüfen, ob sich deine Idee überhaupt umsetzen lässt. Da ich allerdings eine Zeile aus dem helper.php file mit meinem Kodeblock ersetzt habe, würde ich das auf die Schnelle bezweifeln.

Ich hätte die Frage auch grundsätzlicher stellen können, z.B. wie muss man ein Template override gestalten, wenn man verschiedene Dateien in (hierarchisch) verschiedenen Ordnern verändert. Ich dachte nur, dass ein konkretes Beispiel mein Problem veranschaulichen würde...

Ich habe aber auch nirgends gelesen, dass man NUR das default.php modifizieren und im template/html/ Ordner ablegen kann ;)
Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden