Hallo,
Texte werden unter /assets/tinymce4/js/langs/de.js übersetzt.
Ich habe hier nun kleine Anpassungen vorzunehmen » wo und wie müsste ich das update-sicher eintragen?
ggf. mit Beispiel ?
vielen Dank für die Hilfe
Druckbare Version
Hallo,
Texte werden unter /assets/tinymce4/js/langs/de.js übersetzt.
Ich habe hier nun kleine Anpassungen vorzunehmen » wo und wie müsste ich das update-sicher eintragen?
ggf. mit Beispiel ?
vielen Dank für die Hilfe
Du müsstest mal in der Tiny-Doku gucken, wie man eine eigene Übersetzungsdatei einbinden kann und dann Dein be_tinyMCE.html5 anpassen (Vermutung!)
Edit: https://www.tiny.cloud/docs/configur.../#language_url
nein, leider nicht ...
Auch andere Pfade habe ich versucht.PHP-Code:
<?php $this->extend('be_tinyMCE'); ?>
language_url : 'https://domain.tld/files/theme/languages/de.js'
Auch Versuche, die /languages/de.js direkt in z.b. /templates/ oder noch ausserhalb zu setzen zeigten keine Auswirkung
Kann es sein, dass ich hier language_url im template be_tinyMCE.html5 falsch "platziere"?
mach doch bitte eine (komplette) Kopie des Templates und platziere deine Änderung an der zuständigen Stelle...
auch das hatte ich bereits getestet ... da verschwindet der ganze Editor
dann lass uns an Deine geänderten Template teilhaben - vlt sehen wir da Sachen, die wir mit Vermutungen nur erahnen können...
Kaum kopiert man das korrekte Template ... schon klappt es :D
Fehler: ich hatte von github das be_tinyMCE.html5 von Contao 5.x kopiert.
Für Contao 4.13 das komplett kopierte, und nun funktionierende template:
(Eintrag am unteren Ende des Templates)
vielen Dank für die Hilfestellung!PHP-Code:
<?php
// /templates/be_tinyMCE.html5
namespace Contao;
if ($GLOBALS['TL_CONFIG']['useRTE']):
// Use document.write() here in case TinyMCE is loaded in a subpalette (see #1424)
?>
<script>window.tinymce || document.write('<script src="<?= $this->asset('js/tinymce.min.js', 'contao-components/tinymce4') ?>">\x3C/script>')</script>
<script>
window.tinymce && tinymce.init({
selector: '#<?= $this->selector ?>',
min_height: 336,
language: '<?= Backend::getTinyMceLanguage() ?>',
element_format: 'html',
document_base_url: '<?= Environment::get('base') ?>',
entities: '160,nbsp,60,lt,62,gt,173,shy',
branding: false,
setup: function(editor) {
editor.getElement().removeAttribute('required');
document.querySelectorAll('[accesskey]').forEach(function(el) {
editor.addShortcut('access+' + el.accessKey, el.id, function() { el.click(); });
});
},
init_instance_callback: function(editor) {
if (document.activeElement && document.activeElement.id && document.activeElement.id == editor.id) {
editor.editorManager.get(editor.id).focus();
}
editor.on('focus', function() { Backend.getScrollOffset(); });
},
<?php $this->block('picker'); ?>
file_picker_callback: function (callback, value, meta) {
Backend.openModalSelector({
'id': 'tl_listing',
'title': document.getElement('.tox-dialog__title').get('text'),
'url': Contao.routes.backend_picker + '?context=' + (meta.filetype == 'file' ? 'link' : 'file') + '&extras[fieldType]=radio&extras[filesOnly]=true&extras[source]=<?= $this->source ?>&value=' + value + '&popup=1',
'callback': function(table, val) {
callback(val.join(','));
}
});
},
file_picker_types: <?= json_encode($this->fileBrowserTypes) ?>,
<?php $this->endblock(); ?>
<?php $this->block('content_css'); ?>
content_css: 'system/themes/<?= Backend::getTheme() ?>/tinymce.min.css',
<?php $this->endblock(); ?>
<?php $this->block('plugins'); ?>
plugins: 'autosave charmap code fullscreen image importcss link lists paste searchreplace stripnbsp tabfocus table visualblocks visualchars',
<?php $this->endblock(); ?>
<?php $this->block('valid_elements'); ?>
extended_valid_elements: 'q[cite|class|title],article,section,hgroup,figure,figcaption',
<?php $this->endblock(); ?>
<?php $this->block('menubar'); ?>
menubar: 'file edit insert view format table',
<?php $this->endblock(); ?>
<?php $this->block('toolbar'); ?>
toolbar: 'link unlink | image | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | code',
<?php $this->endblock(); ?>
<?php $this->block('contextmenu'); ?>
contextmenu: false,
<?php $this->endblock(); ?>
<?php $this->block('cache_suffix'); ?>
cache_suffix: '?v=<?= $this->assetVersion('js/tinymce.min.js', 'contao-components/tinymce4') ?>',
<?php $this->endblock(); ?>
<?php $this->block('custom'); ?>
<?php $this->endblock(); ?>
browser_spellcheck: true,
tabfocus_elements: ':prev,:next',
importcss_append: true,
language_url : 'files/theme/languages/de.js' // add own languages
});
</script>
<?php endif; ?>
Sollte aber nach meinem Bauchgefühl auch mit einem extenden des Templates funktionieren.
Ich würde es so probieren (ungetestet!)
PHP-Code:
<?php $this->extend('be_tinyMCE'); ?>
<?php $this->block('custom'); ?>
language_url : 'files/theme/languages/de.js', // add own languages
<?php $this->endblock(); ?>
... auch diese Variante war in meinen Tests mit dabei ;) » da wird der Editor nicht mehr angezeigt.
Wie auch @zonky bereits vermerkte, denke ich, dass die JS-Zeilen ausserhalb von blocks nicht funktionieren
Was wird denn bei dieser Variante im Quelltext generiert und gibt es Fehlermeldungen in der Browser-Console?
ich kann mal Positives vermelden:
in einer Installation (nicht jene, mit der ich zuletzt getestet hatte. ist auch eine andere workstation) funktioniert das.
Wenn ich dann wieder Zugriff auf die andere Installation habe, werde ich das nochmals prüfen, wo es denn da Unterschiede geben könnte :mad:
Und ja, hier klappt das über dem custom-block:
Danke schon mal an alle Beteiligten für die Geduld und Hilfestellungen!PHP-Code:
<?php $this->extend('be_tinyMCE'); ?>
<?php $this->block('custom'); ?>
language_url : 'files/theme/languages/de.js',
<?php $this->endblock(); ?>
Laut Dokumentation sollte language_url "Site absolute" sein, also eher:PHP-Code:
<?php $this->extend('be_tinyMCE'); ?>
<?php $this->block('custom'); ?>
language_url : '/files/theme/languages/de.js',
<?php $this->endblock(); ?>