HTML sablon szerkesztés WYSIWYG webes szerkesztővel

Van egy webalkalamazásom amiben van egy olyan funkció, hogy a felhasználó tud összerakni magának egy munkalapsablont a következő módon:
Van egy Ckeditor alapú form amibe az user szabadon gépelhet, illetve vannak gombok alatta amikkel sablonelemeket (kvázi ezek helyre fognak kerülni a megrendelés adatai legeneráláskor) szúrhat be.
Ez úgy működik, hogy a szerkesztőbe beilleszt egy span-t amibe a sablonmező neve kerül illetve kap egy classt ami megmondja, hogy ő egy sablonmező illetve egy random attribútumot ami tartalmazza a sablonelem ID-jét.

Munkalap legenerálásakor pedig egy kliensoldali javascript írja át ezen span-ek tartalmát a megrendelés mezői alapján.

Ez mind szép és jó, azonban a szerkesztés során a felhasználónak lehetősége van ugyanebbe a span-ba beleírni. Ez annyit tesz, hogy az a szöveg generáláskor felülíródik a mező tartalmával.
Igen tudom, hogy lehet figyelmeztetni az usereket illetve a ckeditor alulra kiírja hogy milyen tagben állsz éppen, de ez egy visszatérő probléma és kifogytam az ötletekből.

Ha valakinek van valami ötete legyen az bármilyen elbodult is kérem ne fogja vissza magát!
Köszi

Hozzászólások

ckeditort cseréld le codemirrorra és js-ből beforeChange -es eventnél ellenőrizd, csinál-e valami nem okésat a user.

ha nem okés a dolog, nem engeded.

nem "elbodult" ötlet, de legalább elborult kicsit. szerver oldalon kéne validálni inkább....

Adja spannak egy ilyet: contenteditable="false"

// Happy debugging, suckers
#define true (rand() > 10)

Ott a pont.

Ezt megspékeltem még a következő snipplettel, hogy lépjen el a kurzorral spanból a szomszédba, hogy az user egyből tudjon tovább gépelni:


CKEDITOR.instances['WorksheetTemplateHtml'].focus();
		var selection = CKEDITOR.instances['WorksheetTemplateHtml'].getSelection();
		var range = selection.getRanges()[0];
		var newRange = new CKEDITOR.dom.range(range.document);
		newRange.moveToPosition(range.startContainer, CKEDITOR.POSITION_AFTER_END);
		newRange.select();

--
zsebHUP-ot használok!

Szia,
Csak egy buta kérdés: Feltétlenül szükséges számodra html tagekkel templatelni?
Mivel a leírásod alapján ezek a span tagek csak helyőrzöként funkcionálnak, esetleg lecserélhetnéd őket más értékekre, mondjuk $template_elem_neve vagy #template_elem_neve formában. A Ckeditor ezeket szúrná be a megadott gombnyomásra, s a leleményes felhasználó ezt még akár el is kerülhetnél.
Feldolgozásgól pedig elég csak elég az ismert elemeket keresni...
Üdv,
LuiseX

Az a gond ezzel, hogy ezeket a sablonmezőket az userek hozzák létre a szintén általuk létrehozható megrendelésesablon elemeiből úgy hogy egyedi nevet tudnak adni neki. Ez azért jó, mert általában besaccolják azt, hogy egy sort vagy egy 3 soros litániát írnak akkor a sablonszerekesztésnél látnak egy próba sablont.