3069 Posts in 868 Topics by 650 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 4259 Views |
-
TinyMCE in ModelAdmin

22 January 2009 at 4:51pm
Hi, I'm working in 2.3 rc2 with ModelAdmin, and I'm noticing TinyMCE doesn't seem to work in it. HtmlEditor fields just display as textareas...I'm guessing this is a Javascript issue? Does TinyMCE just not work in ModelAdmin pages or am I doing something wrong here?
-
Re: TinyMCE in ModelAdmin

23 January 2009 at 9:50am
I'm just getting to working with ModelAdmin as well ... looks really promising!
I did some digging into CMSMain and found that the Tiny MCE components are manually added in, so if you just add an HtmlEditorField it's not enough.
I pulled this code from CMSMain. Try adding this to your init() function in your extended ModelAdmin page:
// collect languages for TinyMCE spellchecker plugin
if(Translatable::is_enabled()) {
$spellcheckLangs = i18n::get_existing_content_languages();
} else {
$defaultLang = Translatable::default_lang();
$spellcheckLangs = array($defaultLang => i18n::get_language_name($defaultLang));
}
$spellcheckSpec = array();
foreach($spellcheckLangs as $lang => $title) $spellcheckSpec[] = "{$title}={$lang}";// We don't want this showing up in every ajax-response, it should always be present in a CMS-environment
if(!Director::is_ajax()) {
Requirements::javascript(MCE_ROOT . "tiny_mce_src.js");
Requirements::javascriptTemplate(CMS_DIR . "/javascript/tinymce.template.js", array(
"ContentCSS" => (SSViewer::current_theme() ? THEMES_DIR . "/" . SSViewer::current_theme() : project()) . "/css/editor.css",
"BaseURL" => Director::absoluteBaseURL(),
"Lang" => i18n::get_tinymce_lang(),
'SpellcheckLangs' => '+' . implode(',', $spellcheckSpec)
));
} -
Re: TinyMCE in ModelAdmin

25 January 2009 at 8:41pm
Yeah, the crux of the problem is that the tinymce javascript sources are not included at page load time. We have routines trying to include new javascript code "after the fact" dynamically into the existing DOM, but that doesn't seem to work too well with tinymce. I've created a new ticket: http://open.silverstripe.com/ticket/3428
For now, manually including tinymce_src.js in your ModelAdmin subclass is your best bet.
-
Re: TinyMCE in ModelAdmin

27 January 2009 at 11:29am
Thanks for the responses, unfortunately just including these makes TinyMCE appear ONCE, but it doesn't save any changes and won't appear after any subsequent AJAX loads. I've been digging through the TinyMCE code and it seems like it breaking because it thinks the editor already exists. No idea why it's not saving, though. Probaby both related to one simple thing that's not happening.
Anyway I'll keep digging around in it later when I have the time and see if I can find the problem.
-
Re: TinyMCE in ModelAdmin

17 October 2009 at 8:31am
I'm not sure if this has been solved upstream in 2.4 development, but I've gone ahead and added a patch to the [core] ModelAdmin.js that resolves this issue. The patch is available @ the ticket Ingo opened; http://open.silverstripe.com/ticket/3428
Hope this helps!
~ Brice
-
Re: TinyMCE in ModelAdmin

20 October 2009 at 3:01am Last edited: 20 October 2009 3:02am
Hi,
i want to use the TinyMCE Editor together with the data object manager. I have to insert tables with text and images into a database field. I have already had a look at HTMLField, SimpleTinyMCEField or SimpleHTMLEditorField. But with these fields can not manage the task.
@Brice: Does this patch resolves this problem? I am using 2.3.3 but my ModelAdmin.js differs from yours?!
@ALL: How can i use TinyMCE together with Uncle Chees Data Object Manager?Best regards ~ Carsten
-
Re: TinyMCE in ModelAdmin

22 October 2009 at 1:04am
Hi brice,
i have tested your patch and it works fine for me. Thanks a lot.
Will theses fixes automatically be include in 2.4.0?Greetings, Carsten.
-
Re: TinyMCE in ModelAdmin

12 May 2010 at 8:55pm
For the record it seems to not be included in 2.4, but init() function in extended ModelAdmin page should look like:
function init(){
parent::init();
if($this->getRequest()->requestVar("Locale")) {
$this->Locale = $this->getRequest()->requestVar("Locale");
} elseif($this->getRequest()->requestVar("locale")) {
$this->Locale = $this->getRequest()->requestVar("locale");
} else {
$this->Locale = Translatable::default_locale();
}
Translatable::set_current_locale($this->Locale);
// collect languages for TinyMCE spellchecker plugin.
// see http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker
$langName = i18n::get_locale_name($this->Locale);
HtmlEditorConfig::get('cms')->setOption('spellchecker_languages', "+{$langName}={$this->Locale}");
Requirements::javascript(CMS_DIR . '/javascript/CMSMain.js');
Requirements::javascript(CMS_DIR . '/javascript/CMSMain_left.js');
Requirements::javascript(CMS_DIR . '/javascript/CMSMain_right.js');
}
| 4259 Views | ||
|
Page:
1
|
Go to Top |





