Eintrags-URLs
Sag cmssy, wo die Einträge eines Modells in deinem Shop liegen, und jeder Eintrag bekommt seinen echten öffentlichen Link - im Admin, über die API und für KI-Assistenten.
cmssy rendert deine Website nicht und kennt deine Routen daher nicht. Das URL-Muster eines Modells teilt sie mit: Ist es gesetzt, hat jeder veröffentlichte Eintrag eine publicUrl - die öffentliche Website-URL plus das mit dem Eintrag gefüllte Muster. Der Eintragseditor zeigt Auf der Website ansehen, und Spotlight und die MCP-Tools liefern den Link als url, statt ihn aus einem Slug zu raten.
Muster setzen
Öffne das Modell, Tab Grundlegend, und fülle URL auf der Website, oder übergib urlPattern an create_model / update_model. Das Muster beginnt mit / und wird an die öffentliche Website-URL aus den Einstellungen angehängt. Leer lassen, wenn Einträge keine Seite haben.
{fieldKey}- ein sichtbares Text-, Zahl-, Datums-, Auswahl- oder Radiofeld dieses Modells, z. B./p/{slug}.{relationField.fieldKey}- ein Feld des Eintrags, auf den eine Einzelrelation zeigt (ein Schritt), z. B./shop/{category.slug}/{slug}.{locale}- die Sprache, für die der Link angefragt wird, z. B./{locale}/p/{slug}.
Jedes Token wird beim Speichern geprüft: ein unbekanntes Feld, ein verborgenes oder Passwortfeld, eine Mehrfachrelation oder falsche Syntax werden mit Grund abgelehnt. Jeder Wert wird zu einem URL-kodierten Pfadsegment.
Wann es keinen Link gibt
publicUrl ist null - und der Button verborgen - wenn:
- das Modell kein Muster oder die Website keine öffentliche URL hat;
- das Modell nicht ausgeliefert wird: Auslieferungszugriff keiner (Standard) oder Login-Modell - stelle öffentlich oder Mitglieder ein;
- der Eintrag oder ein über eine Relation gelesener Eintrag unveröffentlicht ist;
- ein Token für diesen Eintrag leer ist.
Sprachen
Frage eine Sprache mit publicUrl(locale: "pl") an; ohne sie oder für eine nicht aktivierte Sprache gilt die Standardsprache. Ein übersetzbares Feld wird in dieser Sprache gelesen, mit Rückfall auf die Standardsprache - genau wie der Filter der Delivery-API es abgleicht, sodass die Abfrage deines Shops den Eintrag hinter jedem Link findet.
Über die API
query {
record {
get(id: "...") { publicUrl(locale: "en") }
}
}Das Feld gibt es auf Admin-Einträgen und im Produktkatalog; Listen werden in einem Durchgang aufgelöst. In der öffentlichen Delivery-API ist es nicht enthalten.
Nächste Schritte
- Datenmodelle - Felder, Relationen und Auslieferungszugriff.