Wied Webdesign

Hvilke signaler sender du dine kunder?

Med et content management system (CMS) holder du styr på indhold og brugere. Wied Webdesign er specialiseret i Joomla CMS.

Hjem Blog Template overrides i Joomla

straightright-narrow

Sådan ændrer du Joomlas standard output

Hvis du vil ændre outputtet fra Joomla, kan du selvfølgelig tilpasse corefilerne, og få nøjagtig det output du skal bruge. Men det er uholdbart at ændre de originale corefiler, da de vil blive overskrevet næste gang du opgraderer, og dine tilpasninger vil gå tabt. I stedet kan du ændre Joomlas output i din template ved at bruge template overrides.

Du kan overskrive output fra komponenter og moduler (ikke fra plugins).

Eksempel:
Hvis du vil ændre måden standard modulet 'Latest news' / 'Seneste nyheder' vises, skal du overskrive filen /modules/mod_latestnews/tmpl/default.php. Det gør du ved at kopiere filen til /templates/dinTemplate/html/mod_latestnews/default.php

/modules/mod_latestnews/tmpl/default.php ser sådan ud:

<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<ul class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php foreach ($list as $item) :  ?>
	<li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
		<a href="<?php echo $item->link; ?>" class="latestnews
<?php echo $params->get('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> </li> <?php endforeach; ?> </ul>

Lad os sige at du vil ændre listen til en nummereret liste og have et link nederst der fører til din nyhedsside - så ændrer du /templates/dinTemplate/html/mod_latestnews/default.php til:

<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<ol class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php foreach ($list as $item) :  ?>
	<li class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
		<a href="<?php echo $item->link; ?>" class="latestnews
<?php echo $params->get('moduleclass_sfx'); ?>"> <?php echo $item->text; ?></a> </li> <?php endforeach; ?> </ol> <a href="/linkTilFlereNyheder">Se flere nyheder</a>

Joomla bruger automatisk dit template override i stedet for Joomlas standard layout.

Flere anvendelsesmuligheder:

  • Tilpas login modulet og fjern linksene "Glemt dit brugernavn?" og "Glemt dit password?".
  • Bestem selv layoutet på artikler i et kategori blog layout og flyt dato og forfatternavn til bunden af artiklen.
  • Sørg for at artiklens titel automatisk kommer med i Læs mere-linket.
  • .. og meget mere.

Hvad så hvis du vil ændre outputtet fra en 3. parts udvidelse?

Det er ikke kun Joomla core output du kan overskrive med template overrides. Det samme gør sig gældene for 3. parts moduler og komponenter. Sålænge de er konstrueret efter MVC-modellen (Model-View-Control). Se på mappestrukturen - hvis den følger mønsteret /components/com_komponentnavn/views/komponentnavn/tmpl/ for komponenter og /modules/mod_modulnavn/tmpl/ for moduler (kan variere lidt for moduler), kan de overskrives med et template override.

SEO optimeret Joomla output med template overrides

Tabellayout gavner ikke din søgemaskineoptimering. Ved at overskrive Joomlas output fra com_content, kan du skabe dit eget tabelfrie layout og en semantisk korrekt kode. Yootheme har lavet et komplet sæt overrides, der overskriver alle Joomlas core komponenter og moduler til tabelfrie layouts og sørger for at headings markeres korrekt med <h1>, <h2> og <h3>.

Mere om template overrides:

Kortfattet beskrivelse af template overrides: http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

Detaljeret gennemgang af template overrides: http://docs.joomla.org/Understanding_Output_Overrides

Hands on: Kig på templaten BEEZ der følger med en Joomla standard installation - den gør flittigt brug af overrides.

4 kommentarer

Feed
  1. Det er rart, at der er begyndt at komme lidt mere kød på dine artikler herinde. Tak for det.

    God pointe med at bruge template overwrites, istedet for at ændre i core-filerne. Jeg har tidligere blot gjort det i core-filerne, men når man så opdaterer sitet, så forsvinder de jo alle sammen.
  2. Det er derfor jeg elsker Drupal. Her er det hele mere naturligt .... en del af processen når man laver template. I Joomla er det mere sådan lidt for..... ja bare ikke så naturligt eller hvordan jeg nu skal forklare det :P
  3. Tak for jeres kommentarer.

    Jeg har pt. lidt bøvl med at få lov til at vise php-kode i artikler på en ordentlig måde - så kode-eksemplet er lidt misvisende. Jeg håber alle forstår princippet alligevel.

    Er der nogen der har anbefalinger til en nem måde at vise php i artikler, så læg gerne en kommentar herunder.
  4. Hvordan mener du? Vil du eksekvere php kode, eller blot blot få det vist som tekst?

Tilføj kommentar

Vis ansigt med en Gravatar

    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)

     

    line-wied
    Line Wied blogger om CMS systemet Joomla og webdesign. Her er Tips, tricks og vejledninger i professionelt webdesign og udvikling af Joomla templates og lidt om livet i al almindelighed - som iværksætter og webnørd i særdeleshed.

    Gratis glæder i din indbakke

    Få nye blogindlæg direkte i din indbakke - skriv din email:

    fb
    linkedin

    Iværksæt en iværksætter

    Wied Webdesign støtter andre iværksættere med mikrolån:

    Kiva - loans that change lives

    joomladay2010-small

    joomla_download