In Mambo CMS kann man den Besuchern der Seite die Möglichkeit bieten, Artikel zu drucken, lokal als PDF zu speichern oder direkt über das System als E-Mail an Freunde senden. Leider werden diese Buttons nicht valide eingebunden, was die Realisierung einer validen Seite kaum möglich macht.
Zur Korrektur dieses Fehlers müssen zwei Dateien angefasst werden:
- /includes/mambo.php
- /components/com_content/content.html.php
Warum die Buttons über zwei Dateien verstreut sind kann ich leider nicht sagen. In der mambo.php befindet sich Code zum Einbinden des Druck-Buttons, in der content.html.php die beiden anderen für PDF-Generierung und das versenden einer E-Mail.
Der Fehler wird verursacht durch das falsche, invalide Aufrufen der JS-Funktion für das PopUp-Fenster. Im Original (momentan Mambo 4.5.2.3) sieht der Code so aus:
mambo.php, Zeile 1405 (Drucken)
<a href="javascript:void window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_PRINT;?>">
content.html.php, Zeile 614 (PDF)
<a href="javascript:void window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_PDF;?>">
content.html.php, Zeile 638 (E-Mail)
<a href="javascript:void window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_EMAIL;?>">
Korrekterweise muss es lauten:
mambo.php, Zeile 1405 (Drucken)
<a href="#" onClick="window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_PRINT;?>">
content.html.php, Zeile 614 (PDF)
<a href="#" onClick="window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_PDF;?>">
content.html.php, Zeile 638 (E-Mail)
<a href="#" onClick="window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');" title="<?php echo _CMN_EMAIL;?>">
Jetzt sind die Buttons valide und ein erster Schritt zu einem konformen Mambo ist getan.
danke daniel, super tip. ich wäre froh, wenn die buttons das einzig invalide problem von $ambo wäre ;-).
hi, bin ja kein Mambo Profi, aber um leute die kein JavaScript aktiviert haben nicht auszuschließen, würde ich es vielleicht ehr so formulieren:
href="<?php echo $link; ?>" onClick="window.open('<?php echo $link; ?>', 'win2', '<?php echo $status; ?>');return=false;" title="<?php echo _CMN_PRINT;?>">
dann wird nämlich die Seite nicht als Popup sondern normal geöffnet.
PS: kann ich meine Postings hier auch formatieren und wenn ja wie?
jo danke, das werde ich mal testen und dann meinen post entsprechend ändern bzw. drauf hinweisen. wäre eine lösung mittels
<noscript></noscript>
nicht sauberer?