Joomla Blog - Die Insider Tipps


Blog über das beliebte Content Management System Joomla. Tipps und Tricks zu allen Joomla Themen, Hacks und Fixes, SEO, sowie allgemeinere Webmaster Themen.
Unser RSS FeedBleibe auf dem Laufenden mit dem Joomla Blog RSS Feed. Klicke auf das Symbol um den Feed zu abonnieren.

twitter-rss-abo.png Joomla Blog Twitter Feed abonnierenblog4mobile.de  Handyversion von Joomla Blog lesen
mail-axialis.png Joomla Blog per E-Mail abonnieren

 Aug   September 2008   Okt

SMDMDFS
   1  2  3  4  5  6
  7  8  910111213
14151617181920
21222324252627
282930 

Blog Roll


Kategorien

Aktuell gibt es  118 Artikel

Fehler gefunden?

Einfach Wort markieren und Shift & Enter drücken. Vielen Dank!

Anzeige
Add to Technorati Favorites


Newsflash Modul - Read more ItemID Fix J1.0.x Drucken
Freitag, 23. Mai 2008
Die Anwendungssituation ist simpel. Du verwendest das Joomla Newsflash Modul unter anderem auf der Startseite. Beim Klick auf den read more Link im Newsflash Modul, gerät aber die gesamte allgemeine Modul Anzeige durcheinander. Die Modul Zuordnungen deines Webdesigns werden ignoriert. Der Artikel wird direkt auf der Startseite geöffnet. Nicht immer wünschenswert. Ein typisches Joomla 1.0 ItemID Problem und seine Lösung.

Ursachen des Read more Problems


Diese Problematik tauchte erstmals mit der Joomla Version 1.0.13 auf. Öffnet man einen solchen Artikel per read more Button im Newsflash Modul, wird dieser in der Modulumgebung der Frontpage geöffnet. Dies ist nicht immer mit den Design Zielen der Webseite vereinbar. Denn meist sollen in bestimmten Kategorien / Sektionen andere Module angezeigt werden. Die Ursache liegt darin, dass alle Artikel auf der Startseite die fixe ItemID = 1 bekommen.

Die Zuweisung, wo ein Modul angezeigt werden soll, erfolgt allein durch die ItemID. Wird ein Artikel mit der falschen ItemID aufgerufen, geraten die Modul Zuordnungen durcheinander. Ein Problem, dass mit der neuen Joomla 1.5 Architektur nicht mehr auftreten wird. Es gibt aber einen Weg, dass Newsflash Modul auf Joomla 1.0 Installationen zur korrekten Anzeige zu "zwingen".


Vorgehensweise – Idee


Die Problemlösung und der Hack stammt vom Admin von electronicmother.com. Das Kernproblem ist die fixe ItemID von 1, wenn einer Artikel von der Startseite aus verlinkt wird. Anstelle der 1 müsste der read more Link des Artikels genau die ItemID der entsprechenden Artikel Kategorie haben. Der Hack von Electronicmother greift genau hier. Durch eine kleine Joomla Core Funktionserweiterung und ein minimal abgeändertes Newsflash Modul (EM-Newsflash), wird das Problem behoben.

Dieses modifizierte Modul fügt allen Artikeln einer bestimmten Kategorie eine beliebig wählbare fixe ItemID hinzu. Der Webmaster muss also nur herausfinden, welche ItemID die entsprechende Kategorie hat. Diese wird im Modul eingetragen und schon gelingt auch die korrekte Verlinkung. Der Artikel wird in seiner realen ItemID Umgebung angezeigt.


5 Minuten für den ItemID read more Fix


Für den Fix des read more Problems muss die Joomla Core Datei content.html.php erweitert werden. Der Fix ergänzt eine weitere Methode und ist damit kein umfassender Core Hack. Die neue Methode wird dann exklusiv vom EM-Newsflash Modul genutzt. Die ganze Sache ist damit relativ simpel.
Zuerst sollte, wie immer, ein Backup der Datei content.html.php gezogen werden. Die Datei befindet sich im Verzeichnis /com_content. Danach wird sie mit einem Editor geöffnet und die folgende Code Zeile gesucht:

function show( &$row, &$params, &$access, $page=0 ) {


Die gesamte show () Funktion wird nun markiert. Dabei muss auf die Syntaktik geachtet und tatsächlich die gesamte Funktion auswählt werden. Die gesuchte Funktion endet mit folgendem Code Schnipsel:

// displays close button in pop-up window
mosHTML::CloseButton ( $params, $hide_js );
// displays back button in pop-up window
mosHTML::BackButton ( $params, $hide_js );
}


Danach wird per Copy & Paste dieser Bereich / diese Funktion direkt unter das Original kopiert. Man erstellt also eine Code Doublette. Diese Kopie wird nun abgeändert. Aus show () wird em_show (). Somit bekommt die Funktion einen eigenen Namen. Dann wird ein neuer Parameter $force_itemID hinzugefügt. Die Funktion fängt dann folgendermaßen an:

function em_show( &$row, &$params, &$access, $page=0, $force_itemID ) {


Nun wird in der neu erstellten em_show Funktion folgende Code Zeile aufgesucht:

// calculate Itemid
HTML_content::_Itemid( $row );


Diese wird ersetzt durch:

// calculate Itemid
$row->_Itemid = $forced_itemID ; // modified by JLW
$row->Itemid_link = '&Itemid='. $forced_itemID ; // modified by JLW


Und fertig ist die modifizierte content.html.php. Zuletzt wird nur noch das entsprechende em_newsflash Modul installiert, veröffentlicht und die gewünschte ItemID eingetragen. Dann sollte die Artikel Anzeige einwandfrei funktionieren.

Das EM Newsflash Modul


Das benötigte Modul gibt es auf electronicmother.com. Eine Anmeldung zum Download ist erforderlich. Es gibt zudem ein gut betreutes Forum. Englische Grundkenntnisse sollten vorhanden sein, um sich auf der Seite zurechtzufinden. Bei Bedarf frage ich an, ob ich das Modul hier auf Joomla Blog, ergänzend zum Download anbieten darf.

Kommentare
Neuer Kommentar Suche RSS
Kommentar schreiben
Name:
Email:
 
Website:
Titel:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
Bitte den Anti-Spam Code eingeben.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Weitere Artikel, die dich interessieren könnten:
Deine StimmeRSS Feed
rss-beitrag.pngabonieren
Link hinzufügen zu: Infopirat Link hinzufügen zu: Webnews Link hinzufügen zu: Oneview Link hinzufügen zu: Readster Link hinzufügen zu: Favoriten.de Link hinzufügen zu: Mr. Wong Link hinzufügen zu: Seekxl Link hinzufügen zu: BoniTrust Link hinzufügen zu: Linkarena
Danke für Deinen Besuch
Amazon Anzeige
Tags:  newsflash joomla itemid read more joomla fix modul