Wie entferne ich die ID aus der URL in Joomla 2.5?

Öffne die Datei components\com_content\router.php in einem Editor und ändere folgendes:

in Funktion ContentBuildRoute (&$query) ersetze die Zeile 27

{codecitation class="brush:php"} $advanced = $params->get('sef_advanced_link', 0);{/codecitation}

mit

{codecitation class="brush:php"}$advanced = $params->get('sef_advanced_link', 0);{/codecitation}

In Funktion ContentParseRoute($segments) ersezte Zeile 208

{codecitation class="brush:php"}$advanced = $params->get('sef_advanced_link', 0);{/codecitation}

mit

{codecitation class="brush:php"}$advanced = $params->get('sef_advanced_link', 1);{/codecitation}

Kommentiere die Zeilen 228-232 aus

{codecitation class="brush:php"}/*if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}*/{/codecitation}

Getestet habe ich diese auf meinem Joomla 2.5.4 in einer Testinstallation und es funktioniert. Ob diese Variante in allen Situationen funktioniert kann ich nicht sagen.

Wie aus den Zeilen 27 und 208 Joomla Content Component ersichtlich ist verwendet Joomla den 'sef_advanced_link' Parameter. Das ein und auschalten dieses Parameters eliminiert die Notwendigkeit der Änderungen dieser Zeilen. Das Freischalten dieser Funktion geschieht durch einen Eintrag in einem XML File im Abschnitt fieldset. Den finden Sie unter:

administrator\components\com_content\config.xml:

{codecitation class="brush:xml"}<field name="sef_advanced_link"
type="radio"
default="0"
label="Sef Advanced Mode"
description="Remove ItemID from Content URL?">
<option    value="0">JNO</option>
<option    value="1">JYES</option>
</field>{/codecitation}

 und die Einstellung "Sef Advanced Mode" ist nun ersichtlich in den "Artikel-Manager-Optionen".

 

Google Rezensionen

4.1

Deluxe IT
Ohmstrasse 6, 8050 Zürich, Switzerland

Bewertung abgeben