J!Layout Overrides
Einstieg und Beispiele
Niels Nübel / @Niels_Nuebel
Niels Nübel
- Webentwickler
- Joomla seit 2009
- erster Joomla!Day 2011 in Hamburg
- J and Beyond e.V. Mitglied
Problem
1. Corehack
2. Override-System
Komponenten Override
Ansicht / View
Prüfen der View
Override Template
Templatemanager
Article wählen
Override wurde erstellt
Override-System!!
Ordner & Dateien
templates/protostar/html/com_content/article
default.php
templates/protostar/html/com_content/article/default.php
Module = Komponenten
News
Modul Override
templates/protostar/html/mod_articles_latest
news.php
<div class="span12 latestnews<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item) : ?>
<div class="row-fluid">
<div class="span4">
<?php echo JHtml::_('date', $item->created, 'd.m.Y'); ?>
</div>
<div class="span8">
<h5><?php echo $item->title; ?></h5>
</div>
<div class="span12">
<?php echo $item->introtext; ?>
<a href="<?php echo $item->link; ?>"><span class="icon-arrow-right"></span> <?php echo 'Hier erfahren Sie mehr'; ?></a>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="clearfix"></div>
templates/protostar/html/mod_articles_latest/news.php
Beiträge in News
Alternatives Layout
News
Kategorien
Beiträge
Felder?
Sprach-Overrides
Sprach Override
Sprach Overrides
Override anlegen
Ergebnis
Backend
JLayout
JLayout
components/com_content/views/article/tmpl/default.php:66
components/com_content/views/category/tmpl/blog_item.php:26
components/com_content/views/featured/tmpl/default_item.php:48
JLayoutHelper
JLayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false));
JLayoutHelper
JLayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false));
JLayoutHelper
JLayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false));
JLayout
layouts/joomla/content/icons.php
JLayout
JLayoutHelper Ablauf
JLayoutHelper::render('joomla.content.icons', array('params' => $params, 'item' => $this->item, 'print' => false));
1. templates/meintemplate/html/layouts/com_content/joomla/content/icons.php
2. components/com_content/layouts/joomla/content/icons.php
3. templates/meintemplate/html/layouts/joomla/content/icons.php
4. layouts/joomla/content/icons.php
JLayoutHelper Alternative
$version = new JVersion;
$layout = new JLayoutFile('joomla.content.icons', null,
array (
'suffixes' = array(
'j' . $version->getShortVersion(),
'j' . $version->RELEASE,
'j' . substr($version->RELEASE, 0, 1)
)
)
);
JLayout Suffixes
joomla/content/icons.j3.3.3.php
joomla/content/icons.j3.3.php
joomla/content/icons.j3.php
joomla/content/icons.php
Vielen Dank!
auch an David Jardin