it-swarm.com.de

Breadcrumbs Falscher URL-Pfad

Verwenden von Joomla 3.9.12 und SP Portfolio v1.7

Ich habe einen Menüpunkt namens Locations, dies ist ein Menüpunkttyp SP Simple Portfolio "Items

Immer wenn ich example.com/locations Besuche, kann ich alle meine Portfolio-Artikel sehen, großartig. Wenn ich eines der Portfolioelemente auswähle, z. Paris, ich werde zu example.com/locations/paris Geführt, funktioniert wie erwartet.

Ich habe das Joomla Breadcrumbs-Modul auf dieser Seite aktiviert und es wird angezeigt.

Sie sind hier: Zuhause/Standorte/Paris

  • Wenn Sie Home erfolgreich auswählen, gelangen Sie zur Startseite example.com
  • Wenn Sie Locations auswählen, gelangen Sie zu example.com/locations/items. Diese Seite ist nicht vorhanden, daher wird ein 404-Fehler angezeigt.

Wenn ich in den Brotkrumen Locations auswähle, möchte ich zu example.com/locations Gehen.

Keine Ahnung, woher der zusätzliche URL-Parameter /items Stammt. Ich kann ihn nirgendwo in meinem Menü-Setup konfigurieren.

Was muss ich tun, damit dies so funktioniert, wie ich es möchte?

1
jonboy

Ich habe es geschafft, dies durch Bearbeiten der (bereits vorhandenen Helix/Joomshaper) Überschreibung zum Laufen zu bringen.

Nachdem ich eine (sehr!) Lange Zeit damit verbracht habe herauszufinden, wo die /items url Parameter kam von, ich gab auf und änderte die Überschreibung.

Ich weiß, dass dies keine Lösung ist, aber es löst mein Problem und möglicherweise jemanden, der das Helix-Framework oder eine Joomshaper-Vorlage verwendet.

Fügen Sie diesen Code zu your-template\html\mod_breadcrumbs\default.php, vor dem Block foreach.

array_walk($list, function (&$v) { 
    if ($v->name == 'Items') $v->link = dirname($v->link); 
});

Der Breadcrumbs-Code gibt ein Array mit den Schlüsseln name und link zurück. Dies überprüft das link und wenn es Items enthält, wird es entfernt.

Bisher arbeiten ..

1
jonboy

Das macht mich verrückt und es hat lange gedauert, bis ich es gelöst habe.

Fügen Sie rtrim($item->link,"items") vor class="pathway".

Detail ist wie folgt:

echo '<a href="' . rtrim($item->link,"items") . '" class="pathway">' . $item->name . '</a>';
0
user13994