Pfad für Shopseiten individuell konfigurieren

Hallo,
Ich möchte bestimmte Shopseiten einen individuellen Pfad in der URL zuweisen.
Zum Beispiel soll die Seite Fluxkompensator nicht unter /Fluxkompensator sondern unter /Lexikon/Fluxkompensator aufrufbar sein.

 

Ich habe es mal manuell mit der s_core_rewrite_urls Tabelle versucht aber das will so nicht.
Beim Aufruf der URL /Lexikon/Fluxkompensator kommt
Fatal error: Uncaught exception ‚Enlight_Controller_Exception‘ with message ‚Controller „Lexikon“ not found‘

Nachdem ich den Cache für SEO-Routen und Index geleert hatte wurde in der Tabelle ein neuer Eintrag für /Fluxkompensator angelegt und bei dem von mir auf /Lexikon/Fluxkompensator geänderten Eintrag der Wert main auf 0 gesetzt.

An einfachsten ist es immer dafür ein Freitextfeld zu benutzen, da bist du vollkommen flexibel ind mit einer If-abfrage bei den Shopseiten-SEO-Url’s, ob das Feld befüllt ist, brauchst du nur die Seiten ändern die du möchtest, der Rest bleibt dann von den Url’s so.

Du musst aber dann aufpassen das du die URL’s nicht zweimal gleich vergibst, denn dann wird keine Seo-Url regeneriert.

Uwe

Es klappt noch nicht…

Ich habe ein neues Freitextfeld “custom_page” mit dem Datenfeld VARCHAR(500) für Shopseiten angelegt.
In den Seo Router Einstellungen habe bei SEO-Urls Shopseiten Template das eingetragen:

{if $s_cms_static_attributes.custom_path}{$s_cms_static_attributes.custom_path}/{/if}{$site.description}

Falsche Variable?

@Kai23 schrieb:

Es klappt noch nicht…

Ich habe ein neues Freitextfeld „custom_page“ mit dem Datenfeld VARCHAR(500) für Shopseiten angelegt.
In den Seo Router Einstellungen habe bei SEO-Urls Shopseiten Template das eingetragen:

{if $s_cms_static_attributes.custom_path}{$s_cms_static_attributes.custom_path}/{/if}{$site.description}

Falsche Variable?

Habe mich mal mit der Sache beschäftigt und habe hier Teilweise eine Antwort gefunden > http://community.shopware.com/SEO-Router-Einstellungen\_detail\_912\_787.html#Shopseiten\_.28Stand\_5.2.6.29

Die Shopseite ist erst man die Variable „$site“ dann „Array“ bedeutet also hier ein Punkt und dann weiter so und für jeder weitere Array ein Punkt.

[attributes] => Array
        (
            [core] => Array
                (
                    [id] => 
                    [cmsStaticID] => 
                    [attr1] => 
                )
 
        )

Habe auch eine Weile gebraucht um das ganze zu verstehen.

Nach deinem angelegten Feld müsste es dann so aussehen

$site.attributes.core.custom_path

Geht aber nicht, weil deine neu angelegte Spalte in der Datenbank die „custom_path“ ist und es funktioniert deshalb nicht weil der Unterstrich stört. Benenne ich die Spalte in „url“ um und nutze folgenden Code geht es:

$site.attributes.core.url

Deine ganzer Eintrag in den Seo-Url’s der Shopseiten müsste dann so aussehen:

{if $site.attributes.core.url}{$site.attributes.core.url}{else}{$site.description}{/if}

Bei den entsprechenden Shopseiten kannst du nun individuell deine Url vergeben.
Wenn die Shopseite z.B. Fluxkompensator heißt kannst du in das Freitextfeld der Shopseite  Lexikon/Fluxkompensator schreiben  und die Seite ist nach leeren der Caches und Aufbau der Seo-Url’s unter dein-shop/Lexikon/Fluxkompensator erreichbar.

Gruß Uwe

1 „Gefällt mir“

Danke für die ausführliche Antwort -  es funktioniert!