Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [javascript] TINYMC - jak dodać dynamicznie nową własność ?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
haryb
Mam następujący problem:

Ładuje sobie wtyczke tinymc w standardowy sposób:
  1. tinyMCE.init({
  2. // General options
  3. mode : "textareas",
  4. theme : "advanced",
  5. // Theme options
  6. theme_advanced_buttons1 :"save,newdocument",
  7.  
  8. theme_advanced_toolbar_location : "top",
  9. theme_advanced_toolbar_align : "left",
  10. theme_advanced_statusbar_location : "bottom",
  11. theme_advanced_resizing : true,
  12.  
  13. });


Domyślnie dla wszystkich na stronie są np. te dwie opcje - save i newdocument
Ale jesli wchodzi na strone user który ma np jakies większe prawa, chciałbym mu dorzucic np jeszcze mozliwosc boldowania czyli dodac wlasnoc do theme_advanced_buttons1 : 'bold'

Jak to zrobić.

Kombinowałem na różne sposóby z metodą
tinyMCE.onInit.add(function (ed) ...
Jednak jak udało mi sie pobrac metoda getParam("theme_advanced_buttons1") to nie mogę znaleźć cos w stylu setParam.

nospor
No to gdy wchodzi wiekszy user to generuj te tinymc z odpowiednim kodem.
Zamiast: theme_advanced_buttons1 :"save,newdocument",
generuj: theme_advanced_buttons1 :"save,newdocument,bold",

Nie kumam w czym masz problem. IF w php nie umiesz zrobić?
haryb
Nic w php nie chce z tym robic - mam ten if w javascript - ale wrzucenie do wywołania tinymc if w srodku inicjalizacji nie bedzie chodzilo, trzeba to dodac pewnei jakas metoda.

  1. np.....
  2. if(cos tam){
  3. theme_advanced_buttons1 : "italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfu
    ll,separator,bullist,numlist"
    ,
  4. } else {
  5. theme_advanced_buttons1 : "italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfu
    ll,separator,bullist,numlist, bold"
    ,
  6. }
  7. ........
  8. theme_advanced_buttons2 : "",
  9. theme_advanced_buttons3 : "",
  10. .....


A tez nie che powielac calego wywolania inicjallizacji tinymc (calosc kodu inicjalizacji, ustawien roznych parametrow zajmuje troszke kodu) gdzie praktycznie zmieni sie jedna własnosc.
nospor
Przepraszam, nie bij, ale.....
wiem, że dałeś to w dziale js, wiem, że chcesz to przy pomocy js zrobić, ale nie kumam why? Przecież jak wejdzie nowy user to on i tak wejdzie po odswiezeniu strony, czyli przejdzie to przez php. Czemu wiec nie wygenerujesz tego tinymce z takimi parametrami od razu?
haryb
Na tą chwile mam wszystko już napisane w JS, i by dodac jedna własność nie chciałbym teraz tego wszystkiego zmieniac, koncepcji.
I wierze że jest napewno taka możliwosc by w metodzie inic tinymc załadowac te property które sie chce bez wywoływania całego bloku tyle ze nie moge sie tego dokopac w ich manualu api

Już znalazłem:

  1. .....
  2. setup: function (ed) {
  3. if (admin) {
  4. ed.settings.theme_advanced_buttons1_add = "separator, forecolor, fontsizeselect";
  5. ed.settings.theme_advanced_font_sizes = "Mała=10px,Średnia=20px,Duża=30px";
  6. ed.settings.theme_advanced_text_colors = "FF00FF,FFFF00,000000";
  7. ed.settings.theme_advanced_more_colors = false;
  8. }
  9. ......
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.