Weblinks mit Genehmigung

Weblinks Komponente Hack

Die Weblinks Komponente so verändern, dass alle Links mit einem Thumbshot erscheinen und die User Links posten können, die vom Administrator freigeschaltet werden müssen.

Die Joomla Standard Komponente com_weblinks genügt in der Standardkonfiguration dem Webmaster eigentlich nicht. Das Problem ist, wenn er einen Link für diese Komponente veröffentlicht, bei dem die Besucher selber Weblinks vorschlagen können, so werden diese im Standard sofort veröffentlicht – und wer weiss als Webmaster denn schon, was die Besucher da so alles verlinken. Mit einer kleinen Änderung, kann man diese Joomla Standard-Komponente jedoch so anpassen, dass die Links nicht sofort veröffentlicht werden und man diese Joomla Komponente für das einsenden von Links problemlos nutzen kann.

Wie schon im Tip Verändern von Komponenten Standard-Layouts beschrieben, legen wir in unserem Template Verzeichnis, innerhalb des Ordners /html einen neuen Ordner mit dem Namen /com_weblinks an. Da wir die Links auch gerne gleich mit netten Thumbnail-Vorschaubilder der Verlinkten Seiten ausstatten möchten, legen wir uns innerhalb dieses Verzeichnisses zwei weitere Verzeichnisse an: /category und /weblink.

Danach kopieren wir die Dateien aus den Verzeichnissen wiel folgt:

/httpdocs/components/com_weblinks/views/category/tmpl/*.*    nach    /httpdocs/templates/mtw_orange/html/com_weblinks/category/*.*   kopieren
/httpdocs/components/com_weblinks/views/weblink/tmpl/ *.*    nach    /httpdocs/templates/mtw_orange/html/com_weblinks/weblink/*.*    kopieren

Weblink Approval

Fangen wir damit an, dass die vorgeschlagenen Weblinks nicht mehr automatisch veröffentlicht werden, sondern erst durch den Joomla Site-Administrator genehmigt werden müssen. Dazu öffnen wir die Datei /httpdocs/templates/mtw_orange/html/com_weblinks/weblink/form.php in unseren bevorzugten (Text-)Editor. Danach ändern wir den HTML Code ab ca. Zeile #61 folgendermaßen:

Achtung: Um die Darstellung zu gewährleisten, musste ich vor den PHP Definitionen ein # einfügen. Dieses bitte im Source nachher wieder entfernen!

Original Source

<tr>
<td valign=“top“>
<label for=“jformpublished“>
<#?php echo JText::_( ‚Published‘ ); ?>:
</label>
</td>
<td>
<#?php echo $this->lists[‚published‘]; ?>
</td>
</tr>
….
….
….
(Zeile #104)
<input type=“hidden“ name=“jform[approved]“ value=““ />

Modifizierter Source

<!–tr>
<td valign=“top“>
<label for=“jformpublished“>
<#?php echo JText::_( ‚Published‘ ); ?>:
</label>
</td>
<td>
<#?php echo $this->lists[‚published‘]; ?>
</td>
</tr–>
….
….
….
(Zeile #104)
<input type=“hidden“ name=“jform[approved]“ value=“0″ />

Wir setzen die Zeilen also nur auf Kommentar – natürlich kan man diese auch einfach löschen und im zweiten Teil setzen wir die Links auf nicht Approved. Wenn wir jetzt in der Menüadministration von Joomla einen Link für die Komponente Weblinks -> Link einreichen veröffentlichen, können die Besucher der Seite einen Link einreichen, welcher allerdings von dem Administrator erst genehmigt werden muss, bevor dieser veröffentlicht wird.

Screen Shot Thumbnais für die Links

Ich persönlich mag es sehr gerne, wenn die Linkseiten einer Homepage mit kleinen Vorschaubildern der Homepages angezeigt werden, auf welche verlinkt werden. Als erstes benötigen wir dafür einen Service, welcher sog. Screen Shot Thumbnails für Internetseiten zur Verfügung stellt – und das beste wäre wenn dieser noch kostenlos ist. Finden tut man so etwas unter der URL https://www.thumbshots.com/

Jetzt öffnen wir die folgende Datei mit unseren bevorzugten (Text-)Editor: /httpdocs/templates/mtw_orange/html/com_weblinks/category/default_items.php

Hier können wir nun das gesamte Layout für die Anzeige der Weblinks verändern. Wie Sie das Layout anpassen oder verändern, bleibt natürlich Ihnen überlassen. Ich selbst habe einmal die Nummerierung  für die Links entfernt (Beispiel MTW Joomla Hosting). An der Stelle, wo Sie den Thumbshot der verlinkten Seite anzeigen möchten, tragen sie den folgenden Code ein:

Achtung: Um die Darstellung zu gewährleisten, musste ich vor den PHP Definitionen ein # einfügen. Dieses bitte im Source nachher wieder entfernen!

<a href=“<#?php echo $item->url; ?>“ target=“_blank“><img src=“https://open.thumbshots.org/image.aspx?url=<#?php echo $item->url; ?>“ border=“0″ align=“left“ style=“margin-right: 6px; margin-bottom: 3px;“ alt=“<#?php echo $item->title; ?>“ /></a>

Um die Anzeige der Thumbshots zu aktivieren, müssen Sie noch einen Link zu dem kostenlosen Thumbshot Service von https://www.thumbshots.com/ anlegen. Am besten tragen Sie diesen an das Ender der default_items.php ein:

<a href=“https://www.thumbshots.com“ target=“_blank“ title=“Thumbnails powered by Thumbshots“>Thumbnails powered by Thumbshots</a>

Ich habe einmal alle benötigten Dateien mit den hier beschrieben Veränderungen für die com_weblinks als Zip-Archiv gepackt, die Anzeige der Links erfolgt dann in der Form wie auf der Seite MTW Joomla Hosting. Wenn Sie diese Dateien herunterladen, laden sie diese per FTP in das aktuelle und genutzte Template Verzeichnis unter dem Zielordner /html herauf.

Modifizierte com_weblinks herunterladen: com_weblinks.zip 8.17 Kb 21/11/2009, 15:27

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.