Apr 08

Ich möchte euch heute ein kleines Smarty-Plugin mit dem Namen uniqSEO vorstellen, wobei die Namensähnlichkeit nicht bloß zufälliger Natur ist. ;)

Ihr könnt euch das Plugin hier herunterladen. Anschließend kopiert ihr die Datei function.uniqSEO.php aus der vorher entpackten ZIP-Datei in euer Smarty-Pluginverzeichnis. Ab sofort wird nun uniqSEO geladen.

So, jetzt zeige ich euch an einem kleinen Beispiel, wie ihr es verwenden könnt:

Wenn ich mit Smarty programmiere, verwende ich immer eine Struktur, welche dann in etwa so aussieht:
http://www.meine-seite.de/index.php?module=news
Mittels ‘module=news’ rufe ich in diesem Fall die Datei ‘news.php’ aus dem Verzeichnis ‘module’ auf, welche wiederum die Datei news.tpl dazu läd.

Nun kann es vorkommen, dass die URL jetzt so aussieht:
http://www.meine-seite.de/module=news&id=45
In diesem Fall rufe ich das Modul ‘news’ auf und will den Inhalt mit der ‘ID 45′ haben. Ich hoffe, ihr konntet mir bis hierher folgen.

Als erstes modifizieren wir die Datei ‘.htaccess‘ folgendermaßen:

RewriteEngine on
RewriteRule ^(.*)/([0-9]+)/(.*)$ index.php?module=$1&post=$2

Wie wir sehen, ist ‘$1′ der Name des Moduls und ‘$2′ der Wert, die ID, der jeweiligen News.

Die Form ‘index.php?module=…’ entspricht eurer regulären URL. Aus dieser machen wir jetzt eine SEO-optimierte URL, die dann so aussieht:
http://www.meine-seite.de/news/45/Das-ist-mein-smarty-seo-plugin-post

Wir sehen ‘news’, das ist unser Modul, dann sehen wir die ’45′, also die ID der betreffenden News. Den Teil ‘Das-ist-mein-smarty-seo-plugin-post’ übergeben wir einfach so. Dies wird immer der Titel einer News sein.

Jetzt gehen wir in unser Template (*.tpl)

Haben wir jetzt eine Stelle mit einem a-Tag z.B. ‘<a href=”index.php?module=news&post=45″ titel=”Das-ist-mein-smarty-seo-plugin-post”>Mein Smarty-SEO-Plugin</a>’, ändern wir diese wie folgt ab:

<a href=”{uniqSEO status=”Enable” module=”news” post=”45″ titel=”Das-ist-mein-smarty-seo-plugin-post” type”extern” }” titel=”Das-ist-mein-smarty-seo-plugin-post”>Mein Smarty-SEO-Plugin</a>

‘status=”Enable”‘ => sagt aus, dass wir das Plugin verwenden wollen. Der Wert ‘Disable’ oder jedes andere Wort verhindert dies. Sollte es nicht auf ‘Enabled’ gesetzt sein, benutzen wir unsere alte reguläre URL, so wie in der .htacces definiert.
‘module=”news”‘ => ist wieder unser Modul.
‘post=”45″‘ => ist in diesem Fall wieder die ID unserer betreffenden News.
‘titel=”Das-ist-mein-smarty-seo-plugin-post”‘ => ist der Titel, also die Überschrift der News, welche wir in der URL einfach mit übergeben. Da wir später die Tags des SEO-Plugins mit Variablen füllen werden, also z.B. ‘{$news.titel}’, sollten wir besser ‘{$news.titel|strip:”-”}’ verwenden. Dadurch werden die Leerstellen unseres Titels automatisch durch Bindestriche ersetzt. Auf diese Weise verhindern wir, dass unsere URL so aussieht: ‘http://www.meine-seite.e/news/45/Das%20ist%20mein%20smarty%20seo%20plugin%20post’.

Sollten Verständnisprobleme auftreten, einfach melden. :)

 

Viel Spaß damit…