eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwJak zintegrować TinyMCE ze skryptem CMS? › Jak zintegrować TinyMCE ze skryptem CMS?
  • 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?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: