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

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

Fragen?

@Niels_Nuebel

Beispiele

Produktverwaltung
FAQ
Blog
Portfolio

Vielen Dank!

auch an David Jardin

Photo Credits

Layne Lawson
Daniel Cheung
Daniel Cheung
Daniel Cheung