ugrás a tartalomhoz

TinyMCE 4 makacs cleanup

castaw · 2013. Dec. 16. (H), 20.35
Sziasztok!
Inline módban szeretném használni a TinyMCE 4-es verzióját.
Minden szép és jó, de a form elküldésekor kigyilkolja az összes style attribútumot a küldendő html-ből.

Már végigzongoráztam a dokumentáció Cleaup/output szegletét, de mintha minden mindegy lenne.

Kódom:
tinymce.init({  
    selector: "div#tiny_introtext, div#tiny_fulltext",
    theme: "modern",
    plugins: [
        ["advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker"],
        ["searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking"],
        ["save table contextmenu directionality emoticons template paste"]
    ],
    add_unload_trigger: false,
    inline: true,
    toolbar: "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | media",
    statusbar: false, 
    language: 'hu_HU',
    entity_encoding : "raw",
    extended_valid_elements: "p[style]",   
    valid_styles: {
        "p": "text-align"
    }
});
 
1

Fél off

Pepita · 2013. Dec. 16. (H), 22.16
Nagyon rég nem foglalkoztam TinyMCE-vel, ezért nem is tudok a konkrét kérdésedre válaszolni, viszont oka van, hogy nem használom:
ha egy mód csak van rá, akkor meggyőzöm a Megrendelőt, hogy neki is jobb, ha nem HTML jön az űrlapról, hanem pl. Markdown. Sokkal egyszerűbb, és bombabiztos HTML-t lehet csinálni belőle. Főleg amilyen keveset használsz (csak inline), nem is igazán értem, mire kell a style.
Szóval ezt biztosan MD-nal oldanám meg. Hátránya, hogy csak "félig" wysiwyg: kell egy kérés a szerver felé, hogy előnézetet kapj. (Ezt is meg lehet csinálni külön js-ben is, de én nem szeretem ugyanazt két helyen / nyelven lekódolni, mert nem lesz ugyanaz, + ha változtatni kell, stb.)
2

Ha a megrendelő

castaw · 2013. Dec. 16. (H), 23.36
Ha a megrendelő meggyőzhető...

Közben lőn világosság: formats és máris megoldja class-okkal. (ami külön öröm, mivel megtanítható egyből bootstrap-ul is)
3

Így igaz :)

Pepita · 2013. Dec. 17. (K), 21.45
Ha a megrendelő meggyőzhető...

"Csak így mellékesen" kérdem: és a bepostolt HTML-t hogyan ellenőrzöd db-be mentés előtt?... (valid, XSS, stb.)
Szerintem a meggyőzés a könnyebb feladat, ez rajtad is múlik, nem csak a megrendelőn, sőt, főleg rajtad.
4

Hogy is mondjam szépen... ha

castaw · 2013. Dec. 18. (Sze), 10.14
Hogy is mondjam szépen... ha meg is győzhető, de mégsem alkalmas bizonyos feladatokra, vagy sikítozva világgá fut tőlük...

Amúgy token megy a formmal,
felhasználó ellenőrzése mielőtt egyáltalán hozzányúlnék a $_Post-hoz,
html purifiert szoktam használni ellenőrzésre,
ha már codeigniter: active record-ot használok, így escapelés is megoldva,
és nyilván az input class-t használom $_Post helyett.
5

Hát szépen. :)

Pepita · 2013. Dec. 19. (Cs), 00.21
Nem azért, de a MD nem olyan nagy feladat. Ha mégis, bizony sok dolga lesz a purifier-nek, ami szintén nem tökéletes, "és ha már codeigniter": úgy 5x akkora, mint a keretrendszered?

A többi rendben, de én még tökéletes HTML-feldolgozót nem láttam, ezért óvakodok tőle. Meggyőzésben hatni szokott, hogy ha HTML-t szerkeszt hozzáértés nélkül, akármilyen csinos szerkesztőt teszek oda, képes lesz beborítani az egész oldal design-ját. Ami persze nem pontosan igaz, mert "csak" az utána következő tartalmakét, de ezt többnyire senki nem akarja kockáztatni, és inkább bevállalja a leheletnyivel kényelmetlenebb MD-t. Mert meg lehet csinálni viszonylag kényelmesre is az editort hozzá. Annyi, hogy gombra / linkre van előnézet.
Ugyanakkor még TinyMCE-ben is elég nehéz teljesértékűen az oldal design-ját a wysiwyg mögé tenni.