Finde uns auf facebook.com Finde uns bei twitter Finde uns bei google+
modx

Modx Alias-Parameter ändern


Modx ist ein sehr einfach bedienbares und schnell erweiterbares Content Management System. Ich nutze es sowohl Privat als auch Beruflich, da sich bis jetzt alles mit Modx realisieren konnte, was ich machen wollte.

 

SEO-Technisch ist ja in zwischen Standard geworden, alle URLs mittels mod_rewrite auf dem Server zu verarbeiten und somit für den Besucher lesbare URLs zu erzeugen. Auch bei Modx gibt es selbstverständlich eine derartige Funktionalität. Problematisch wird es allerdings, wenn man versucht Snippets in Modx einzubinden, die bereits den Parameter $_GET[’q’] verwenden zu nutzen. Modx nutzt diesen auch für sein URL-Rewriting. Bei der neuen Modx Version (Revolution) ist dies einfach über das Backend einstellbar, jedoch habe ich schon mal mit Modx Revolution gearbeitet und konnte mich damit nicht so anfreunden wie mit der Evolution-Version. Aber auch hier ist es mit vier kleinen Änderungen am Code möglich.

 

Zunächst müssen wir die Zeile in der „.htaccess“ bearbeiten:

30
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

durch folgende Zeile ersetzen

30
RewriteRule ^(.*)$ index.php?alias=$1 [L,QSA]

Anschließend noch drei Änderungen in der „document.parser.class.inc.php“ (findet sich in „manager/includes/“)

302
303
304
if (isset ($_REQUEST['q'])) {
    return "alias";
}

ersetzen wir durch:

302
303
304
if (isset ($_REQUEST['alias'])) {
    return "alias";
}
316
317
318
case 'alias' :
    $docIdentifier= $this->db->escape($_REQUEST['q']);
break;

durch das hier ersetzen:

316
317
318
case 'alias' :
    $docIdentifier= $this->db->escape($_REQUEST['alias']);
break;

letztendlich noch diese Änderung:

1115
$_REQUEST['q'] = $_GET['q']= $qp['path'];

durch folgendes:

1115
$_REQUEST['alias'] = $_GET['alias']= $qp['path'];

Ich habe jetzt an dieser Stelle den Übergabeparameter „alias“ getauft. Es bleibt natürlich jeden selbst überlassen wie man diesen nennen möchte.

Keine Kommentare zu: Modx Alias-Parameter ändern

Hinterlasse eine Antwort

Pflichtfelder sind mit einem * markiert.