Aneesh . 4 minutes

So richten Sie dynamische SEO-URLs in Shopware ein

Eine dynamische SEO-URL ist eine URL einer Webseite, die dynamisch aus der Datenbank generiert wird. Es muss sich hin und wieder ändern. Hier besprechen wir, wie wir unsere eigenen SEO-URLs definieren.

Für dieses Szenario können Sie die in Shopware integrierten SeoUrlRoute- Klassen nutzen , die alle notwendigen Informationen über Ihre dynamische Route enthalten.

Schauen wir uns ein Beispiel für den Abschnitt „Geschichten“ an. Jede Story-Seite hat in Bezug auf die Sprache eine andere SEO-URL Daher muss die  SEO-URL je nach Sprache geändert werden .

Zuerst muss eine übersetzbare Entität für Geschichten mit dem Feld seo_url erstellt werden:

Im Folgenden finden Sie den Controller-Pfad für den Zugriff auf die  Story-Detailseite im Frontend.

Wie Sie sehen können, hat die Route hier einen ID- Parameter. Wir erhalten die Story- ID anstelle von seo_url und die entsprechenden Storys werden mit der ID abgerufen .

Anschließend wird eine Migration erstellt, um einen Eintrag in die Tabelle seo_url_template einzufügen .

Anschließend werden SeoUrlRoute- Klassen erstellt , die alle erforderlichen Informationen zu Ihrer dynamischen Route enthalten, und anschließend automatisch die entsprechenden seo_url- Einträge erstellt .

Ich werde jeden Schritt im Detail betrachten. Die benutzerdefinierte Klasse „SeoUrlRoute“ muss das SeoUrlRouteInterface implementieren , das die folgenden Methoden enthält

  • getConfig()

Hier müssen Sie eine Instanz von SeoUrlRouteConfig zurückgeben . Dann enthält,

  • Die Definition Ihrer Entität. 
  • Technischer Name der zu verwendenden Route.
  • Gewünschter SEO-Pfad.
  • PrepareCriteria()

Hier können Sie die Kriterieninstanz anpassen, die zum Abrufen Ihrer Entitäten verwendet wird. Sie könnten beispielsweise einen Filter für ein aktives Feld hinzufügen und daher nur SEO-URLs für aktive Entitäten generieren. Außerdem können Sie hier Assoziationen hinzufügen.

  • getMapping()

Bei dieser Methode müssen Sie eine Instanz von SeoUrlMapping zurückgeben.

Es muss die tatsächlich verfügbaren Daten für die SEO-URL-Vorlage enthalten. Wenn Sie verwenden

Wenn Sie in der SEO-URL-Vorlage eine Variable „entry.seoURl“ verwenden , müssen Sie hier die Daten für den Schlüsseleintrag angeben .

Im Folgenden finden Sie den Eintrag „services.xml“ für StorySeoUrlRoute. Es muss mit dem Tag shopware.seo_url.route im Container registriert werden .

Story-Abonnent

Jedes Mal, wenn Ihre Entität geschrieben wird, müssen wir Shopware mitteilen, dass wir die SEO-URLs für diese Entitäten generieren möchten. Das Gleiche gilt, wenn Ihre Entität gelöscht wird, wir müssen sie ebenfalls aktualisieren. Dies geschieht durch Reaktion auf die DAL-Ereignisse Ihrer benutzerdefinierten Entität. Genauer gesagt verwenden wir das geschriebene Ereignis und das gelöschte Ereignis.

Für geschriebene Ereignisse und gelöschte Ereignisse unserer benutzerdefinierten Entität müssen wir den technischen Namen der Entität mit angeben. geschrieben , . Suffix gelöscht . Bei jeder Ausführung verwenden wir lediglich die besagte Update- Methode des SeoUrlUpdater .

Der Abonnent muss für die Nutzung des Containers registriert sein ( services.xml ).

Das folgende Beispiel zeigt die dynamische SEO-URL für eine einzelne Story in englischer und deutscher Sprache sowohl im Backend als auch im Frontend.

Tabelleneinträge für seo_url_template   und seo_url

 

seo_url_template

seo_url

Wenn Sie also den SEO-URL-Pfad (z. B.: story/story-in-english ) im Browser ausführen, checkt Shopware standardmäßig die seo_url- Tabelle ein und das entsprechende Feld path_info   (z. B.: / story/78f619ff640e4cf7a5590cb90a290e75 ) wird an den Controller verarbeitet . Und im Controller könnten wir es als  Entitäts-ID erhalten .

Wenn Sie also diese Methoden befolgen, können Sie dynamische SEO-URLs in Ihren benutzerdefinierten Entitäten in Shopware ganz einfach verwalten .

blog
Grüße! Ich bin Aneesh Sreedharan, CEO von 2Hats Logic Solutions. Bei 2Hats Logic Solutions widmen wir uns der Bereitstellung von technischem Fachwissen und der Lösung Ihrer Probleme in der Welt der Technologie. Unsere Blog-Seite dient als Ressource, in der wir Einblicke und Erfahrungen teilen und wertvolle Perspektiven auf Ihre Fragen bieten.
CEO
Aneesh Sreedharan
Gründer & CEO, 2Hats Logic Solutions
Abonnieren Sie unseren Newsletter
Aneesh ceo

    Bleiben Sie auf dem Laufenden!

    Abonnieren Sie unseren Newsletter und erfahren Sie mehr über die neuesten digitalen Trends.