WYSIWYG pielāgošana

Apskatīsim tādu variantu, ir uzstādīts wysiwyg modulis un CKEditor rīks, kuram nepieciešams šo to pielāgot. Piemēram, nomainīt ādiņu (skin), izveidot definētos stilus, sakārtot pogas rīkjoslā un pievienot paštaisītu plugin. Galvenais nosacījums - izmaiņas nedrīkst notikt Wysiwyg modulī un CKEditor, lai tos varētu droši atjaunot, nezaudējot veiktās izmaiņas.

Ādiņa

Standarta variantā CKEditor ir dažas ādiņas. Tās atrodas /sites/all/libraries/ckeditor/skins/ direktorijā. Lai izveidotu savu ādiņu, ņemam vienu no tām un pārveidojam. Kad sava ādiņa ir gatava, jākonfigurē CKEditor. Failā /sites/all/modules/wysiwyg/editors/ckeditor.inc 137.rindā 'kama' mainam uz savas ādiņas nosaukumu. Labi, tas strādā, bet neatbilst mūsu galvenajam nosacījumam - nehakot moduļus.

Definētie stili

Iepriekš sagatavoti stili, kuri pieejami CKEditor rīkjoslā. Ļoti noderīgi, lai uzturētu lapas saturu noteiktā stilā un atvieglotu darbu ar saturu. Definētie stili atrodas failā /sites/all/libraries/ckeditor/plugins/styles/styles/default.js Varam to labot, bet tā atkal būs nevēlamā hakošana.

Plugin

Wysiwyg modulis nodrošina iespēju izveidot plugin tā, lai tas darbotos jebkurā no piesaistītajiem editoriem. Lai izveidotu savu plugin, jātaisa savu moduli.

wysiwyg_custom modulis

Kā atbilde un risinājums uz augstāk aprakstīto radās wysiwyg_custom modulis, kurā glabāt wysiwyg konfigurāciju un savas ādiņas. Tajā ir arī plugin piemērs. Moduļa saturā ir komentāri, tāpēc, sīkāk šeit nekomentēšu. Laika gaitā šis piemēra modulis tiks papildināts. Savus moduļus vēlams turēt /sites/all/modules/custom/ direktorijā.

21.02.2012 - papildināts ar iespēju norādīt savu css failu satura laukam.
08.08.2012 - izlabotas kļūdas un pilnveidota rīku pogu izvade

Attachment Size
wysiwyg_custom.zip 49.94 KB

Komentāri

wysiwyg modulis ir arī 6. Drupal'am, sākot ar 7. versiju nekas nemainījās. ja lapā liek CKEditor, tad labāk izmantot http://drupal.org/project/ckeditor, kas ir vairāk pielāgojams.

wysiwyg_custom.module failā funkciju wysiwyg_custom_wysiwyg_editor_settings_alter papildinātu ar šo, lai var ātri piemest klāt CKEditor komplektā nākošos plaginus:

$settings['extraPlugins'] = 'tableresize';

Pārējais strādā kapitāli, paldies par šo.

Paldies par ieteikumu! Papildināts ar tableresize, media un pogu uzstādījumiem atsevišķi full_html un filtered_html. Es šo moduli patreiz testēju kopā ar Media moduli, kurš man ļoti ir iepaticies. Bija tāda problēma, ka Media Browser plugin poga nerādījās rīkjoslā. Jau sabēdājos, kad pēkšņi nāca risinājums.

$settings['extraPlugins'] = 'tableresize,media';

Likvidēju šādas tādas aplamības, kas saistītas ar rīkjoslas veidošanu.