Fckeditor

Witam!

Doinstalowałem sobie ostatnio fckeditor i mimo małych problemów związanych z wersją ROR zaczął on działać i powiem, że jest naprawdę świetnym pluginem (jeśli się ktoś waha, to polecam).

Problem w tym, że z jego pomocą jestem w stanie wysyłać do bazy danych wygląd tekstu przekonwertowany na html, ale nie wiem, jak później ponownie go edytować…

Chodzi o to, żeby użytownik mógł wprowadzać tekst na strony i dzięki fckeditor-owi mógł go dowolnie formować, ale żeby przy każdej drobnej zmianie nie musiał na nowo tworzyć całego tekstu…

fragment kontrolera:

[code]def edytuj_start

@page=Page.find(:all)

if request.post? and params[:page]
  
  strona = Page.new(params[:page]) //to pewnie musi się zmienić, bo jest new, ale chwilowo głównie chodzi o to, 
                                                      //żeby tekst pojawiał się w edytorze
  
  strona.save
  flash[:notice] = "Zmieniono stronę startową!"
end
flash[:notice] = params[:page]

end[/code]
fragment widoku:

[code]<% form_for :page do |form| %>

<legend>Wprowadź dane:</legend>
<%= javascript_include_tag :fckeditor %>

Opis

<%= fckeditor_textarea(“page”, “start”,
:toolbarSet => ‘Simple’, :width => ‘100%’, :height => ‘800px’) %>

  <%= submit_tag "Wyślij!", :class => "submit" %>
</div>

<% end %>[/code]
W instrukacji fckeditor-a jest wzór:

<%= javascript_include_tag :fckeditor %>

<%= fckeditor_textarea(“object”, “field”, :toolbarSet => ‘Simple’, :width => ‘100%’, :height => ‘200px’) %>

Ale jak istniejący już obiekt z bazy danych wrzucić do tego edytora?

Za wszelkie podpowiedzi będę bardzo wdzięczny.

Pozdrawiam!

Wiem że rada trochę z d…, ale – TinyMCE robi to wszystko (tj. w obie strony) i jest bardzo sympatyczny w użyciu (z railsowym pluginem).

to ja może przedstawie mój sposób na fckeditora - znacznie prostszy w implementacji imho.
Ponieważ fckeditor i tak nie działa bez javascriptu, więc zamiana zwykłego textarea na fckeditora odbywa się właśnie z jego pomocą(odpada edycja każdego widoku po kolei, w którym ma się pojawić fck)
ponieważ korzystam z jquery, nie z prototype, rozwiązanie dla niego:
1.pobieramy plugin jquery fckeditor (http://www.fyneworks.com/jquery/FCKEditor/)
2. instalujemy, instalujemy fckeditora
3. podmieniamy wszystkie textarea* na fckeditora:

$('textarea').fck();
  1. cieszymy się fckeditorem, bez edytowania widoków.
    *- oczywiście można to rozszerzyć na textarea o odpowiedniej klasie, tu korzystamy z dobrodziejstw samego jquery :wink:

Czy komuś z was udało się zmusić TinyMCE albo FCKeditora do współpracy ze zdjęciami?
Chodzi o to, żeby móc wybierać zdjęcia, które są na serwerze.
Ewentualnie możliwość uploadu zdjęć, choć wolałbym to pierwsze.

Tak, udało się – jedno i drugie :wink:

Jedno i drugie znaczy, że wybieranie zdjęć i upload?
Czy jedno i drugie znaczy Tiny i FCK?

Tak czy owak, jestem zainteresowany. Jakbyś mógł się podzielić wiedzą, to chętnie bym się dowiedział tego i owego, bo właśnie z tym walczę :slight_smile:

Wieczorem z domu podam odpowiednie linki i fragmenty kodu. Generalnie TinyMCE, ostatnia wersja (3) ma dość fajne pluginy właśnie na to pozwalające.

OK, w takim razie czekam z niecierpliwością na linki, bo wczoraj spędziłem trochę czasu z TinyMCE i oprócz tego, że jest fajne, to jednak pluginów do wybierania zdjęć z dysku nie znalazłem, a te co były, były zbyt stare i nie chciały współpracować.

TinyMCE ma plugin ImageBrowser, ale nie ma implementacji tego w Ruby. Tylko PHP, .Net i chyba tyle, może jeszcze Python. Niestety nie udało mi się więc zmusić Tiny do wybierania zdjęć z serwera. A szkoda, bo sam Tiny wygląda lepiej, niż FCK i chętnie bym go używał.

Ja korzystałem z tego: http://github.com/devon/tiny_mce_plus/tree/master
Pozwala na upload zdjęć i wstawianie bezpośrednio do edytowanego pola.

[quote=GhandaL]Ja korzystałem z tego: http://github.com/devon/tiny_mce_plus/tree/master
Pozwala na upload zdjęć i wstawianie bezpośrednio do edytowanego pola.[/quote]
Bardziej mi zależy na wybieraniu/wstawianiu zdjęć z serwera, bo upload i resizing mam załatwiony paperclipem.
Powyższy link chyba nie pozwala na wybieranie zdjęć. Na dodatek używa attachment_fu, dodatkowo komplikując aplikację.

Hmm nie wiem dlaczego ten tiny_mce_plus miałby nie umożliwiać wybierania zdjęć?

http://github.com/devon/tiny_mce_plus/blob/0101b02f4b1ae4b01fbe20839c95123b2ab13d00/assets/app/controllers/tiny_mce_photos_controller.rb Tutaj jest kontroler, którego akcja :index jest wywoływana przy kliknięciu na ikonkę wstawiania obrazka w pasku TinyMCE. Nie widzę problemu w zamianie obecnego tam modelu TinyMcePhoto na dowolny inny model (w szczególności paperclipowy). Potem tylko ewentualna zmiana partiala i voila!

BTW. Swego czasu pisałem też takie wstawianie obrazków z serwera bez pośrednictwa żadnego fckeditor/tinymce - tylko javascriptowe window.open i window.parent - po kliknięciu na zdjęcie wstawiany był kod Textile dla danego zdjęcia. Jak to znajdę, to postaram się gdzieś wrzucić, może pomoże.

[quote=GhandaL]Hmm nie wiem dlaczego ten tiny_mce_plus miałby nie umożliwiać wybierania zdjęć?

http://github.com/devon/tiny_mce_plus/blob/0101b02f4b1ae4b01fbe20839c95123b2ab13d00/assets/app/controllers/tiny_mce_photos_controller.rb Tutaj jest kontroler, którego akcja :index jest wywoływana przy kliknięciu na ikonkę wstawiania obrazka w pasku TinyMCE. Nie widzę problemu w zamianie obecnego tam modelu TinyMcePhoto na dowolny inny model (w szczególności paperclipowy). Potem tylko ewentualna zmiana partiala i voila!

BTW. Swego czasu pisałem też takie wstawianie obrazków z serwera bez pośrednictwa żadnego fckeditor/tinymce - tylko javascriptowe window.open i window.parent - po kliknięciu na zdjęcie wstawiany był kod Textile dla danego zdjęcia. Jak to znajdę, to postaram się gdzieś wrzucić, może pomoże.[/quote]
W sumie takie proste rozwiązanie też mogłoby działać. Jakbyś to gdzieś znalazł, to chętnie bym się przyjrzał.

Bardzo prymitywna wersja: http://github.com/ghandal/photoapp/tree/master