-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed0
0.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!p
ostnews.google.com!j9g2000vbp.googlegroups.com!not-for-mail
From: WebCM <w...@g...com>
Newsgroups: pl.comp.www
Subject: Jak zintegrować TinyMCE ze skryptem CMS?
Date: Fri, 28 May 2010 04:40:26 -0700 (PDT)
Organization: http://groups.google.com
Lines: 95
Message-ID: <d...@j...googlegroups.com>
NNTP-Posting-Host: 83.1.217.52
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1275046826 9994 127.0.0.1 (28 May 2010 11:40:26 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Fri, 28 May 2010 11:40:26 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: j9g2000vbp.googlegroups.com; posting-host=83.1.217.52;
posting-account=KmuZcQoAAACFwi1E7xIpy-n6K4ZXwoJm
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729),gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.www:395961
[ ukryj nagłówki ]Dostosowałem TinyMCE do skryptu CMS. Teraz zostaje pytanie, jak go
zaimplementować, aby był kompatybilny z dotychczasowym API.
Pierwotnie zaplanowałem utworzyć możliwość podpięcia dowolnego
edytora. Na razie dostosowałem tylko TinyMCE, ale muszę go wprowadzić.
Czy warto stworzyć także furtkę dla innych edytorów WYSIWYG?
Administrator lub redaktor ma mieć wybór, czy chce używać
standardowego (który po prostu wstawia partie HTML lub BBCode do
<textarea>), czy WYSIWYG.
Standardowy edytor ładuję tak:
W kodzie PHP dołączam skrypty:
$content->addScript(LANG_DIR.'edit.js');
$content->addScript('cache/emots.js');
$content->addScript('lib/editor.js');
Edytor wywołuję w szablonach, np. tak:
//formularz
var f = document.forms[0]
//utwórz edytor nad polem txt
var e = new Editor(f.txt)
//dodaj emotikony pod polem <textarea>
e.emots()
//ochroń przed utratą danych
e.protect()
//focus pierwszego elementu formularza
f.elements[0].focus()
Mogę po prostu załadować edytor WYSIWYG w editor.js, ale po co w takim
razie ładować standardowy edytor i jego plik językowy?
Innym wyjściem jest stworzenie mostu dla edytorów WYSIWYG. Jak to
najlepiej uczynić?
Próbuję to zrobić tak, aby zachować kompatybilność z API standardowego
edytora:
function Editor(o, bbcode)
{
this.o = tinymce.add(new tinymce.Editor(o, {
//Global settings
dialog_type: 'modal',
gecko_spellcheck: true,
// i inne opcje, trochę ich jest
}));
this.o.render();
}
Editor.prototype.emots = function() {};
Editor.prototype.protect = function() {};
Czy to dobre podejście? W przeciwnym razie musiałbym osobno obsługiwać
edytor standardowy i graficzny w szablonach.
No dobrze, ale jak to rozwiązać od strony serwera?
Po prostu (to tylko przykład, aby zrozumieć sens):
if( $cfg['typ_edytora'] == 'wysiwyg' )
{
$content->addScript(...);
}
else
{
$content->addScript(LANG_DIR.'edit.js');
$content->addScript('cache/emots.js');
$content->addScript('lib/editor.js');
}
Nie chce zmieniać nazwy pliku tiny_mce.js na inną, a trzeba też gdzieś
zmieścić opcje konfiguracyjne (jak w poprzednim przykładzie). Czy
stworzyć bardziej ambitny i elastyczny port w PHP lub JS? Jakąś klasę,
czy co? Czy po prostu zrobić furtkę dla WYSIWYG w standardowym
edytorze lib/editor.js (on ładowałby TinyMCE, kiedy trzeba)?
Jak najlepiej podejść do problemu?
Następne wpisy z tego wątku
- 28.05.10 12:50 Borys Pogoreło
- 28.05.10 18:01 WebCM
- 28.05.10 19:03 Borys Pogoreło
Najnowsze wątki z tej grupy
- UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- Komisja sejmowa odrzuca petycję ws. obowiązkowych kanałów RSS na stronach podmiotów publicznych
- kol. sukces po polsku: "Samurai Labs. Technologia do zapobiegania samobójstwom"
- Wściekli obywatele spalili budynek parlamentu Nepalu [bo odcięli im amerykańskie serwery społecznościowe - przyp. JMJ]
- UWAGA: MAM PODEJRZENIE, ŻE trojmiasto.pl DOKONUJE ATAKÓW
- Cenzura na wolnemedia.net - likwidacja codziennej sekcji "Sygnały zauważone"
- Nowe style na energokod.pl
- Jak działa hosting w którym wykupuje się sam serwer i domenę, bez IP?
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Do sądu trafił pozew zbiorowy przeciw Google'owi - oskarżenie o praktyki monopolistyczne na rynku reklamy internetowej
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
Najnowsze wątki
- 2025-11-07 Warszawa => International Freight Forwarder <=
- 2025-11-07 Warszawa => C Programmer <=
- 2025-11-07 Warszawa => Starszy Programista C <=
- 2025-11-07 Warszawa => Senior Programmer C <=
- 2025-11-07 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-11-07 Warszawa => Programista C <=
- 2025-11-07 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-11-07 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-07 Lublin => Programista Delphi <=
- 2025-11-07 OBD2 napięcie akumulatora
- 2025-11-06 citek i GP.
- 2025-11-06 envelo - list polecony
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei