Sanity
A Sanity egy headless CMS (Tartalomkezelő Rendszer), amelyet rugalmasság és komponálhatóság jellemez. Strukturált tartalmat használ, lehetővé téve a vállalkozások számára, hogy a tartalmakat különböző csatornákon újrahasznosítsák. Komponálható megközelítése segíti a szervezeteket a harmadik féltől származó technológiákkal, adatforrásokkal és frontend keretrendszerekkel való kapcsolódásban.
Beállítás előtt
Az integráció beállítása előtt győződjön meg arról, hogy hozzáféréssel rendelkezik egy Sanity projekthez.
- Látogasson el a Sanity.io oldalra, és hozzon létre egy új projektet vagy használjon egy meglévőt.
- Azonosítsa a Project ID-t, amely a Sanity projekt irányítópultján a projektnevének alatt található.
- Hozzon létre egy API tokent (vagy használjon egy meglévőt). Új tokent generálhat a Sanity projekt API fülén. Az alkalmazás Editor jogosultságokat igényel az összes funkció eléréséhez. A létrehozás után másolja le a tokent későbbi használatra.
Csatlakozás a Sanity-hez
- Navigáljon az Apps szekcióba és keresse meg a Sanity alkalmazást (kereshet rá).
- Kattintson az Add Connection gombra.
- Nevezze el a kapcsolatot későbbi hivatkozás céljából (pl. ‘Szervezetem’).
- Írja be a Project ID-t a megfelelő mezőbe.
- Írja be az API tokent a megfelelő mezőbe.
- Kattintson az Authorize connection gombra.
- Ellenőrizze, hogy a kapcsolat létrejött, és az állapot Connected-et mutat.
Actions
- Search content: Tartalom keresése egy adott adatkészleten belül. Ha nincs megadva adatkészlet, alapértelmezés szerint a production adatkészlet kerül használatra.
- Get content: Tartalmi objektum lekérése egy adott adatkészletből a tartalom azonosítója alapján.
- Get content as HTML: Lokalizálható tartalmi mezők lekérése HTML fájlként.
- Update content from HTML: Lokalizálható tartalmi mezők frissítése HTML fájl használatával.
- Create content: Tartalmi objektum létrehozása annak típusa és paraméterei alapján.
- Delete content: Tartalmi objektum eltávolítása egy adatkészletből a tartalom azonosítója alapján.
HTML konverzió
Kérjük, vegye figyelembe, hogy ez az alkalmazás jelenleg a sanity-plugin-internationalized-array pluginnal működik. Ez azt jelenti, hogy az alkalmazás csak az ‘internationalizedArrayStringValue’ vagy ‘internationalizedArray’ típusú mezőket támogatja. Nem fogja felismerni vagy frissíteni a normál string típusú tartalmakat. Csak ezek a mezőtípusok támogatottak.
Íme egy példa a támogatott mezőkre:
defineField({ name: 'firstName', description: 'Test description', type: 'internationalizedArrayString',}),defineField({ name: 'lastName', type: 'internationalizedArrayString',}),defineField({ name: 'experience', type: 'internationalizedArrayString'})
A jövőben tervezzük további lokalizációs pluginek támogatását, mint például a document-internationalization plugin, amely dokumentum szinten működik.
Ha normál tartalomtípusokat (például string vagy rich text blokkok) szeretne fordítani, kérjük, vegye fel velünk a kapcsolatot, és megvizsgálunk egy megoldást.
Events
Webhook konfiguráció
A webhookok engedélyezéséhez menjen a projektoldalára a Sanity.io-n. Válassza az API fület, majd kattintson a Create new webhook gombra. Nevezze el a webhookot (pl. Blackbird), adjon hozzá leírást, és írja be a következő URL-t: https://bridge.blackbird.io/api/webhooks/sanity
. Válassza ki azokat a dokumentum műveleteket, amelyek elindítják a webhookot (javasoljuk az összes kiválasztását: create, update, delete). Hagyja a többi beállítást az alapértelmezett értékeiken. Kattintson a Save gombra. Valami ilyesmit kell látnia:
Event lista
- On content created: Akkor aktiválódik, amikor új tartalom jön létre.
- On content updated: Akkor aktiválódik, amikor meglévő tartalom frissül.
Ha az On content updated eseményt használja, legyen óvatos a potenciális végtelen hurok kialakulásával kapcsolatban. Ha a munkafolyamat elindítja ezt az eseményt, és az akció során frissíti a tartalmat, ez újra elindíthatja az eseményt. Ennek elkerülése érdekében két opcionális szűrő paramétert használhat:
- Trigger if all language fields are not present: Ha engedélyezve van, az esemény csak akkor aktiválódik, ha a megadott “Translation language” hiányzik a tartalomból.
- Translation language: Csak akkor alkalmazható, ha az első szűrő engedélyezve van. Állítsa be a célzott fordítási nyelvet. Az esemény csak akkor aktiválódik, ha az adott nyelv összes lokalizációs mezője hiányzik a tartalomból.
Korlátozások
- A Sanity-ben a lokalizáció egy plugin segítségével érhető el, ami azt jelenti, hogy a felhasználó kód írásával (beleértve a területi beállításokat is) hozza létre saját tartalmi modelljeit. Mivel ez egy plugin, nem biztosít közvetlen API végpontokat a területi beállítások vagy egyéb információk lekérdezésére a pluginból.
plugins: [ structureTool(), visionTool(), internationalizedArray({ languages: [ {id: 'en', title: 'English'}, {id: 'fr', title: 'French'} ], defaultLanguages: ['en'], fieldTypes: ['string', 'artist'] })]
Visszajelzés
Szeretné használni ezt az alkalmazást, vagy visszajelzése van a megvalósításunkról? Keressen minket a kialakított csatornákon keresztül, vagy hozzon létre egy problémát.