10. lépés: Beágyazott összetevők használata közvetlen szerkesztéssel

Az Oracle Content Management összetevőinek megvalósításához a KnockoutJS összetevő-architektúrát használja a rendszer. Ez azt jelenti, hogy ha a KnockoutJS rendszert használja összetevőinek megvalósításához, az Oracle Content Management beépített összetevőit közvetlenül belefoglalhatja sablonjába.

Megjegyzés:

Mivel az Oracle Content Management beépített összetevői csak az Oracle Content Management oldalán futhatnak, nem használhat beágyazott összetevőket, ha összetevője beágyazott keretben van megjelenítve.

Beágyazott összetevők hasznosítása:

  1. Valósítsa meg összetevőjét a KnockoutJS használatával.

  2. A RequireJS segítségével vegye fel összetevőjét, és használja ugyanazt a "ko" Knockout példányváltozót, amelyet az Oracle Content Management létrehozott.

    Ez azért szükséges, mert az Oracle Content Management összetevőkkel terjeszti ki a Knockout rendszert, és ezek az összetevők nem lesznek elérhetők, ha a KnockoutJS saját példányát használja.

Ebben a lépésben áttekintheti, hogy az Oracle Content Management kép, bekezdés és cím összetevője hogyan lesz megjelenítve egyéni összetevőjében. A felhasználók közvetlenül szerkeszthetik ezt az oldalon belül, és hozzáférnek a beágyazott összetevőhöz tartozó Beállítások panelhez.

Az összetevők sablonba való befoglalásának megtekintéséhez szerkessze a render.js fájlt, és nézze meg a sampleComponentTemplate objektumot. A megjelenített alapértelmezett szakasz látható itt:

'<!-- ko if: alignImage() !== \'right\' -->' +
'<div style="display:flex;">' +
'<div data-bind="attr: {style: imageStyle, \'data-layout\': alignImage()}, click: imageClicked">' +
'<scs-image params="{ scsComponent: { \'renderMode\': mode, \'parentId\': id, \'id\': \'imageId\', \'data\': imageData } }"></scs-image>' +
'</div>' +
'<div data-bind="attr: {style: paragraphStyle}">' +
'<scs-title params="{ scsComponent: { \'renderMode\': mode, \'parentId\': id, \'id\': \'titleId\', \'data\': titleData } }"></scs-title>' +
'<scs-paragraph params="{ scsComponent: { \'renderMode\': mode, \'parentId\': id, \'id\': \'paragraphId\', \'data\': paragraphData } }"></scs-paragraph>' +
'</div>' +
'</div>' +
'<!-- /ko -->' +

Az <scs-image> beágyazott összetevőnél a következő bejegyzés szerepel:

'<scs-image params="{ scsComponent: { \'renderMode\': mode, \'parentId\': id, \'id\': \'imageId\', \'data\': imageData }}"></scs-image>' +
A params sablonkötésnek átadott scsComponent adatok a következőket tartalmazzák:
  • renderMode: Ez a Site Builder aktuális üzemmódjára hivatkozik. Ezt funkciók engedélyezésére és letiltására használhatja. Például amikor az <scs-title> összetevő használja, ez felveszi a rich text szerkesztőt az edit üzemmódban való futtatáskor.

  • parentId: Ez azért szükséges, hogy az Oracle Content Management összetevője tudja, hogy beágyazott összetevőként van megjelenítve. A beágyazott összetevőn végrehajtott valamennyi módosítást az egyéni összetevő adatainál menti a rendszer.

  • id: A beágyazott összetevőhöz tartozó egyedi azonosító. Ez később az egyéni összetevő azonosítójának névterébe fog tartozni.

  • data: A beágyazott összetevőhöz tartozó kezdeti adatok. Ha az összetevőt a későbbiekben nem módosítják, ezekkel az adatokkal lesz megjelenítve.

A hivatkozott id és mode értékét a SampleComponentViewModel objektumban adja a rendszer egyéni összetevőjének, ezért nem szükséges módosítania az objektumot a következő értékekhez:

// Store the args
self.mode = args.viewMode;
self.id = args.id;

Az összes többi támogatott beágyazott összetevőnél, ilyen az <scs-image>, <scs-title> és az <scs-button>, a szintaxis az <scs-paragraph> mintáját követi.

A 10. lépéshez tartozó eredmények ellenőrzése

  1. Frissítse az oldalt webhelyén, így a Site Builder át tudja venni az összetevő módosításait.

  2. Jelenítse meg az oldalt szerkesztési módban.

  3. Húzza át összetevőjét az oldalra.

  4. Kattintson összetevőjében az As a page author, you can edit. . . szövegre, és módosítsa a leírást a rich text szerkesztő használatával.

  5. A módosítás megtekintéséhez váltson előnézeti módba.

  6. Térjen vissza szerkesztési módba.

  7. Nyissa meg az összetevőhöz tartozó Beállítások panelt.

  8. Kattintson az Összetevők hivatkozásra, amely most megjelenik, mivel észlelte a beágyazott összetevőt.

  9. Kattintson a Bekezdés elemre, amely a megtalált beágyazott összetevő.

Ekkor összetevőjén belül módosíthatja a bekezdés összetevőhöz tartozó tulajdonságokat.

Megjegyzés:

Az összetevő példányának létrehozásáig az Oracle Content Management nem tud a sablonban esetleg létező beágyazott összetevőkről. Az Oracle Content Management szolgáltatást úgy tájékoztathatja a rejtett beágyazott összetevőkről, hogy a SitesSDK.setProperty('visibleNestedComponents', []); API felületet használja. A rejtett beágyazott összetevők alapértelmezés szerinti megjelenítéséhez módosítania kell a "nestedComponents": [] tömböt az összetevő regisztrációjában.

A következő témakör: 11. lépés: Különböző elrendezések támogatása.