Mootools entfernen, Modalbox einbinden oder sexy Tooltipps erstellen. Einiges läßt sich durch wenige Zeilen Code realisieren. Einfach die index.php des jeweiligen Templates öffnen und mit folgenden Schnippseln bestücken...

 

code

 

 

 

Mootools entfernen

 

Die Javascript-Bibliothek mootools.js und caption.js lassen sich mit Hilfe von PHP entfernen. Einfach eine der nachfolgenden Methoden auswählen und nach dem -Tag platzieren (PHP) (Quelle: How to pimp your Joomla! Template).

 

Methode 1

 

1
2
3
4
5
6
$user =& JFactory::getUser();
if ($user->get('guest') == 1 or $user->usertype == 'Registered') {
$headerstuff = $this->getHeadData();
$headerstuff['scripts'] = array();
$this->setHeadData($headerstuff);
}

 

Methode 2


1
2
3
4
5
6
$headerstuff=$this->getHeadData();
reset($headerstuff['scripts']);
foreach($headerstuff['scripts'] as $key=>$value){
unset($headerstuff['scripts'][$key]);
}
$this->setHeadData($headerstuff);

 

[UPDATE]Allerdings entfernen diese beiden Methoden alle Skripte aus dem Header, was bei eingesetzten Komponenten zu Fehler führen kann. Um lediglich Mootools zu entfernen benutzt man folgende Methode:

 

Methode 3

 

1
2
3
4
$headerstuff=$this->getHeadData();
reset($headerstuff['scripts']);
unset($headerst uff['scripts'][$this->baseurl.'/media/system/js/mootools.js']);
$this->setHeadData($headerstuff);

 

[/UPDATE]

 

 

Modalbox (Lightbox) einbinden

 

[UPDATE]Die Modalbox setzt Mootools voraus, sprich: Mootools darf nicht (wie oben beschrieben) deaktiviert sein.[/UPDATE] Um den Effekt einer Modalbox nun zu bekommen, platziert man am Anfang der index.php folgende Zeile (PHP-Code) (Quelle: Modal Box im Frontend nutzen)

 

1
JHTML::_('behavior.modal');

 

und den Link, der die Box öffnen soll, mit der Klasse „modal“ versehen.

 

1
<a class="modal">Link</a>

 

 

 

Sexy Tooltipps erstellen

 

Die Tooltipps, die schon im Backend von Joomla genutzt werden, können ganz leicht für das Frontend aktiviert werden. Folgender PHP-Einzeiler am Anfang der index.php aktiviert die Tipps (Quelle: How to add tooltips to your Joomla! website):

 

1
JHTML::_('behavior.tooltip');

 

Dazu ein bißchen Javascript zwischen und ...

 

1
2
3
4
5
6
<script type="text/javascript">
window.addEvent('domready', function(){
var JTooltips = new Tips($$('.hasTip'),
{ maxTitleChars: 50, fixed: false});
});
</script>

 

... und schon bekommen alle Links, die mit der Klasse „hastip“ und einem title versehen sind den schicken Tipp angezeigt.

 

1
<a class="hasTip" title="Tooltipp-Titel::Das ist der Tooltipp-Text">Link</a>

 

Tipp: Im Cascading Style Sheet läßt sich der Tooltipp nach Belieben gestalten.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* Tooltips */
.tool-tip {
float:left;
background:#ffc;
border:1px solid #D4D5AA;
padding:5px;
max-width:200px;
}
.tool-title {
padding: 0;
margin: 0;
font-size: 100%;
font-weight: bold;
margin-top: -15px;
padding-top: 15px;
padding-bottom: 5px;
background: url(../images/selector-arrow.png) no-repeat;
}
.tool-text {
font-size: 100%;
margin: 0;
}

 

 

 

Kontrollstrukturen für das Template

 

Ist das Template z. B. in drei Spalten eingeteilt - left, content, right - kann man durch kleine PHP-Schnippsel die rechte Spalte nur dann anzeigen lassen, wenn darin auch ein Modul angezeigt wird.

 

1
if ($this->countModules( 'right' )) :

 

Danach folgt der Inhalt der rechten Spalte und mit

 

1
endif;

 

schliessen wir die Anweisung wieder. Mit „else“ können wir noch ein Verzweigung einbauen; sprich, einen anderen Inhalt anzeigen lassen, wenn kein Modul angezeigt wird.

 

1
2
3
4
5
if ($this->countModules( 'right' )) :
// Inhalt rechte Spalte
else :
// Anderer Inhalt
endif;

 

Oftmals möchte man nur eine CSS-Klasse (class="...") davon abhängig machen, ob ein Modul angezeigt wird oder nicht. Dann sieht das PHP dafür so aus:

 

1
echo ($this->countModules('right')) ? ('rightclass') : ('otherclass');

 

 

 

Allgemeine Template-Befehle

 

Hier noch einige allgemeine Template-Befehle:

 

// Kein direkter Zugriff
defined( '_JEXEC' ) or die( 'Restricted access' );
 
// Generator Tag auf Null setzen
$this->setGenerator(null);
 
// Anzeiger der Modulpositionen ausschalten
JRequest::setVar('tp', 0);
 
// Template Parameter
$this->params->get('ParameterName');
 
// Seitenname
echo $mainframe->getCfg('sitename');
 
// Titel
echo $mainframe->getPageTitle();
 
// Beschreibung
echo $this->description;
 
// Sprache
echo $this->language;
 
// Datum / Zeit
$date = new JDate(time());
echo $date->toFormat();
 
// Stammverzeichnis
echo $this->baseurl;
 
// Aktives Template; aktiver Template-Ordner
echo $this->template;
 
// Übersetzbarer Text
echo JText::_('Text');
 
// Artikel Parameter
print_r ($this->params);
 
// Artikel Eigenschaften
print_r ($this->article);

 

Alexander Schmidt

Alexander Schmidt

Alexander Schmidt ist Webentwickler und Buchautor. Er lebt mit seiner Familie in Bad Nauheim / Hessen. Seit 2005 realisiert er als Einzelunternehmer Websites mit Joomla und ist fasziniert von der Template-Engine des Content Management Systems.

Website: www.templates4joom.la E-Mail-Adresse: Diese E-Mail-Adresse ist gegen Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann.