|
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.
Vorheriger Artikel: >> Verwandte Artikel Modul - Maximale Anzahl. Tags: newsflash joomla itemid read more joomla fix modul |
Na dann bin ich mal gespannt wann...
Hallo, mich würde mal interessier...
also mir gefällt das video sehr&...
is eh gut
Hi Ralf, danke für dein Feedback...
Hallo zusammen, ich bin jetzt kn...
also mir gefällt das video sehr g...
:D :P Hast du denn eine alternati...
Also ich stimmt euch absolut nich...
inzwischen hat das video sogar 13...
Hi Stef, gut zu wissen, dass der...
Das mit den Alternativen ist ganz...