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 abonnieren
  Joomla Blog per E-Mail abonnieren mail-axialis.png Joomla Blog - Twitter E-Mail Abo !
       
Aktuell gibt es  131 Artikel

Vorsprung durch Wissen

Website Boosting - Der E-Marketing Knaller
Das SEO Standardwerk, nicht nur für Anfänger, sondern auch für Fortgeschrittene. Meiner Meinung nach eine Pflichtlektüre für jeden Webworker. Schaut euch mal die Rezensionen an.

Fehler gefunden?

Einfach Wort markieren und Shift & Enter drücken. Vielen Dank!
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
CyberBob  - So etwas brauchen wir auch für andere Module     ID:88.68.107.xxx 12-10-2008 23:30:20
Kann man so eine Funktion nicht grundsätzlich werden Beiträge ohne ItemID nicht angezeigt, zumindest wenn man kein Manager oder höher ist.

Für die Suche und Archivierung habe ich das Problem gelöst, indem ich eine ItemID dem Link hinzufüge.

Seit gestern haben wir mad4joomla installiert und hier gibt es zwei Links die ich nicht anpassen kann. :(

Vielleicht einfach zu Blond.

Gibt es nicht die Möglichkeit, die ItemID zu vernachlässigen oder grundsätzlich eine hinzu zu fügen falls keine mitgeliefert wird?
Joomla Blog   ID:217.235.163.xxx 13-10-2008 11:24:08
Hi CyberBob,

eigentlich sollte die itemid Problematik mit Joomla 1.5 besser geworden sein :) Aber es bleibt wohl das "spannendste" Thema bei Joomla.

Natürlich wird es Bereiche im Code geben, wo du deine Änderung realisieren kannst.
Konkrete Tipps kann ich dir da aber leider nicht geben.

Mir fällt da nur die SEF Komponenten sh404SEF ein, welche die Option bietet itemids an die URL anzuhängen!

Vielleicht hilft dir diese Komponente weiter?

Viele Grüße,
Joomla Blog
Bento124  - Einbinden von em_newsflash in Joomla Front Page   ID:189.81.104.xxx 16-02-2009 11:37:55
Liebe Gemeinde,
wollte an dieser Stelle mal eine kleine Frage los werden: Diesen em_newsflash habe ich installiert, allerdings ist mir nicht klar, wie ich diesen nun in die Front Page von Joomla einbinde. Meine Front Page scheint nach wie vor das "alte" modul zu nutzen.
Kann mir hier jemand einen Tip geben?
Schon jetzt ein herzliches Dankeschön!
Joomla Blog   ID:217.235.162.xxx 16-02-2009 12:04:13
Hi Bento,

im Grunde besteht der Trick darin, dass man einfach ein anderes Modul für die Frontpage News benutzt. Das Modul ist gerade das em_newsflash.

Das original Joomla Newsflash Modul wird also deaktiviert und das modifizierte em_newsflash Modul genau an diese Stelle gesetzt.

Schalte also mal dein "altes" Modul ab :)

Viele Grüße,
Joomla Blog
Bento124   ID:189.81.104.xxx 17-02-2009 04:02:15
Vielen Dan k für die Antwort, und sorry, wenn ich es immer noch nicht kapiert habe.

Unter Modules > Site Modules > Module Manager wurde mod_newsflash ursprünglich nur an einer Stelle genutzt (Provérbios). Diese wurde
Bento124   ID:189.81.104.xxx 17-02-2009 04:04:31
...
Bento124   ID:189.81.104.xxx 17-02-2009 04:07:10
hier gehts weiter ...
Diese wurde Unpublished und durch einen neuen Eintrag mit mod_em_newsflash ersetzt. Im Module Manager existier aber meines Wissens keine Verlinkung zwischen mod_newsflash und der Front Page Komponente.

Die Front Page Komponente binde ich, doch über einen Menu Eintrag auf die Home Page, d.h. letztlich im Menu Manager. Der Menu Eintrag bietet jedoch keine Option ein anders Modul, wie z.B. mod_em_newsflash zu nutzen, oder?

Sorry, ich hoffe ich bin jetzt nicht zu Blond!

LG
Joomla Blog   ID:217.235.173.xxx 17-02-2009 12:32:22
Hi,

im Menu Manager definierst du ein Menü "mainmenu". Nun gehst du ins em_newsflash Modul über den Module Manager. Dort stellst du die Position ein, das Modul auf "published" und schließlich rechts den Bereich, wo es angezeigt werden soll. Um es nun auf der Startseite anzeigen zu lassen, wählst du beispielsweise den Bereich "mainmenu" - "Start". "Start" ist der erste Eintrag im Menü "mainmenu".

Bin grad kurz angebunden - hoffentlich hilft dir das Beispiel weiter.

Viele Grüße,
Joomla Blog
Bento124   ID:189.81.104.xxx 18-02-2009 00:27:05
Nochmals Dank für Deine Geduld und Mühe. Werf doch bitte mal einen Blick auf die Seite http://yogavital.net! Hier findest Du den Status meines Treibens.

Mir geht es nicht darum, das Modul mod_em_newsflash an einer speziellen Position darzustellen, ich möchte es mit der Komponente com_frontpage im normalen Content Container darstellen. Das geht meines Wissens nur über die Front Page Komponente - diese wiederum wird erstellt über den Menu Manager (mainmenu) > New > Component! Hier wird als Komponente die Front Page ausgewählt. Diese Komponente nutzt nun jedoch wieder das alte mod_newsflash. Aber an dieser Stelle sollte nun aber das neue und fehlerfreie mod_em_newsflash nutzen.
Joomla Blog   ID:217.235.163.xxx 18-02-2009 00:37:11
Hi Bento,

dann hilft wahrscheinlich nur das hier:
Joomla Module im Content anzeigen

Viele Grüße,
Joomla Blog
janni  - Moduleinstellungen   ID:91.138.21.xxx 26-07-2010 16:37:34
Hatte auch grad das Problem und ich hab es an einer anderen Stelle gelösst bekommen. Schreibe dies, damit es ggf. jemand anderem hilft.

Bei mir war der Hacken "alternativer WeiterlesenText" im Modul selbst nicht gesetzt. Hab es geändert und es ging auf einmal.
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."

Tags:  newsflash joomla itemid read more joomla fix modul