TinyMCE und AjaxFileManager: Unterschied zwischen den Versionen
Aus Contao Community Documentation
Ulrike (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{AppliesTo |Version=2.10.0/1 }} Category:Admin HOWTOS = Download des AjaxFileManagers = Das Paket "Ajax File and Image Manager Version 1.0 Final" von php.le…“) |
Ulrike (Diskussion | Beiträge) |
||
(21 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{AppliesTo | {{AppliesTo | ||
− | |Version=2.10.0 | + | |Version=2.10.0 |
}} | }} | ||
[[Category:Admin HOWTOS]] | [[Category:Admin HOWTOS]] | ||
+ | Eine Anleitung, wie man den kostenlosen und durchaus brauchbaren "AjaxFileManager" in Contao einbindet.<br /> | ||
+ | Ein Hinweis aus dem Forenthread:<br /> | ||
+ | AjaxFileManager ist eine Erweiterung für TinyMCE und nicht speziell auf Contao zugeschnitten, d.h., contao-spezifische Einstellungen (z.B. Berechtigungen aus der Benutzerverwaltung, Einstellungen für Upload-Dateitypen und -größen) werden nicht unterstützt. | ||
− | = Download des AjaxFileManagers = | + | =Download des AjaxFileManagers= |
− | Das Paket | + | Das Paket [http://www.phpletter.com/download_project_version.php?version_id=33 Ajax File and Image Manager Version 1.0 Final] downloaden. |
− | = Dateien kopieren = | + | =Dateien kopieren= |
− | Aus | + | Aus dem heruntergeladenen Paket (s.o.) den Ordner ''ajaxfilemanager'' nach ''plugins/tinyMCE/plugins/ajaxfilemanager'' kopieren.<br /> |
− | + | ||
Alles andere aus der heruntergeladenen zip-Datei wird nicht gebraucht. | Alles andere aus der heruntergeladenen zip-Datei wird nicht gebraucht. | ||
− | = Konfigurationsdatei bearbeiten = | + | =Konfigurationsdatei bearbeiten= |
− | Die Datei | + | Die Datei ''plugins/tinyMCE/plugins/ajaxfilemanager/inc/config.base.php'' öffnen, darin in den Zeilen 52/53 CONFIG_SYS_DEFAULT_PATH und CONFIG_SYS_ROOT_PATH folgendermaßen setzen: |
− | plugins/tinyMCE/plugins/ajaxfilemanager/inc/config.base.php öffnen, | + | <source lang="php"> |
− | darin in den Zeilen 52/53 CONFIG_SYS_DEFAULT_PATH und CONFIG_SYS_ROOT_PATH folgendermaßen setzen: | + | |
− | < | + | |
define('CONFIG_SYS_DEFAULT_PATH', '../../../../tl_files/media'); //accept relative path only | define('CONFIG_SYS_DEFAULT_PATH', '../../../../tl_files/media'); //accept relative path only | ||
define('CONFIG_SYS_ROOT_PATH', '../../../../tl_files/media'); //accept relative path only | define('CONFIG_SYS_ROOT_PATH', '../../../../tl_files/media'); //accept relative path only | ||
− | </ | + | </source> |
+ | Dabei /media nach eigenen Wünschen anpassen oder auch weglassen... | ||
− | = tinyMCE.php bearbeiten = | + | =tinyMCE.php bearbeiten= |
− | Die Konfigurationsdatei system/config/tinyMCE.php folgendermaßen bearbeiten: | + | Die Konfigurationsdatei ''system/config/tinyMCE.php'' folgendermaßen bearbeiten: |
− | == ajaxfilemanager hinzufügen == | + | ==ajaxfilemanager hinzufügen== |
− | In der Zeile, die mit elements: beginnt, ajaxfilemanager hinzufügen | + | In der Zeile, die mit ''elements:'' beginnt, ajaxfilemanager hinzufügen. Dies sieht dann so aus: |
− | < | + | <source lang="php"> |
elements : "<?php echo $this->rteFields; ?>,ajaxfilemanager", | elements : "<?php echo $this->rteFields; ?>,ajaxfilemanager", | ||
− | </ | + | </source> |
− | == file_browser_callback ergänzen == | + | ==file_browser_callback ergänzen== |
Hinter theme_advanced_resizing: true, folgende Zeile einfügen: | Hinter theme_advanced_resizing: true, folgende Zeile einfügen: | ||
− | < | + | <source lang="php"> |
file_browser_callback : "ajaxfilemanager", | file_browser_callback : "ajaxfilemanager", | ||
− | </ | + | </source> |
Ob es genau diese Position innerhalb der tinyMCE.php sein muss, weiß ich nicht, aber irgendwo stand diese Empfehlung und es funktioniert so bei mir. | Ob es genau diese Position innerhalb der tinyMCE.php sein muss, weiß ich nicht, aber irgendwo stand diese Empfehlung und es funktioniert so bei mir. | ||
− | == Skript einfügen == | + | ==Skript einfügen== |
− | + | Am Ende der Datei vor </script> folgendes einfügen: | |
− | < | + | <source lang="php"> |
// start ajaxfilemanager configuration | // start ajaxfilemanager configuration | ||
function ajaxfilemanager(field_name, url, type, win) { | function ajaxfilemanager(field_name, url, type, win) { | ||
Zeile 72: | Zeile 73: | ||
} | } | ||
// end ajaxfilemanager configuration | // end ajaxfilemanager configuration | ||
− | </ | + | </source> |
− | Wenn man als Grundeinstellung nicht thumbnail, sondern detail wünscht, kann man die Zeile mit var view = 'thumbnail' entsprechend anpassen. | + | Wenn man als Grundeinstellung nicht thumbnail, sondern detail wünscht, kann man die Zeile mit var view = 'thumbnail' entsprechend anpassen.<br /> |
− | Im | + | Im Forenthread befindet sich [http://www.contao-community.de/showthread.php?22358&p=149890&viewfull=1#post149890 in diesem Post] (s. Anhang) meine tinyMCE.php mit allen Änderungen. |
− | == Nachtrag == | + | ==Nachtrag== |
− | + | Um die Änderungen updatesicher zu machen, kann man AjaxFileManager auch so einbinden:<br /> | |
− | Die Datei system/config/tinyMCE.php kopieren und umbenennen in z.B. tinyCustom.php | + | Die Datei ''system/config/tinyMCE.php'' kopieren und umbenennen in z.B. ''tinyCustom.php''.<br /> |
− | Dann alle Änderungen | + | ''tinyCustom.php'' soll sich dann ebenfalls im Verzeichnis ''system/config/'' befinden.<br /> |
− | Zum Einbinden der tinyCustom.php folgende Zeile in system/config/dcaconfig.php eintragen: | + | Dann alle angeführten Änderungen in ''tinyCustom.php'' eintragen.<br /> |
− | < | + | Zum Einbinden der ''tinyCustom.php'' folgende Zeile in ''system/config/dcaconfig.php'' eintragen: |
+ | <source lang="php"> | ||
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom'; | $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom'; | ||
− | </ | + | </source> |
+ | Im Forenthread wurde darauf hingewiesen, dass die updatesichere Methode einen weiteren Vorteil besitzt: AjaxFileManager wird auf diese Weise nur im Backend zur Verfügung gestellt. | ||
− | = Deutsche Sprachdatei hinzufügen = | + | =Deutsche Sprachdatei hinzufügen= |
− | Die deutsche Sprachdatei findet sich | + | Die deutsche Sprachdatei findet sich im Forenthread und kann von diesem [http://www.contao-community.de/showthread.php?22358&p=149890&viewfull=1#post149890 Posting] (s. Anhang) herunter geladen werden.<br /> |
− | + | Diese Datei muss in das Verzeichnis ''plugins/tinyMCE/plugins/ajaxfilemanager/langs'' kopiert werden. | |
− | = Ordner- und Dateirechte setzen = | + | =Ordner- und Dateirechte setzen= |
− | Wie ein Forumsmitglied bestätigte, ist dieser Abschnitt nur wichtig, wenn Contao | + | Wie ein Forumsmitglied bestätigte, ist dieser Abschnitt nur wichtig, wenn Contao mit dem [[Safemode_Hack|Safe-Mode-Hack]] läuft.<br /> |
− | + | Bei Verwendung des Safe-Mode-Hack brauchen der Ordner ''plugins/tinyMCE/plugins/ajaxfilemanager/session'' und die beiden darin enthaltenen Dateien die Dateirechte 0775, damit AjaxFileManager nicht die fehlenden Rechte moniert. | |
− | = Dateirechte setzen für Dateien, die mit AjaxFileManager hochgeladen werden = | + | =Dateirechte setzen für Dateien, die mit AjaxFileManager hochgeladen werden= |
− | (ebenfalls nur nötig für Installationen mit | + | (ebenfalls nur nötig für Installationen mit Safe-Mode-Hack)<br /> |
− | AjaxFileManager bearbeitet Dateien nicht als ftp-user, sondern als Webserveruser. Das bedeutet u. U. Einschränkungen für AjaxFileManager bei Dateien, die dem ftp-user gehören, und umgekehrt. | + | AjaxFileManager bearbeitet Dateien nicht als ftp-user, sondern als Webserveruser. Das bedeutet u. U. Einschränkungen für AjaxFileManager bei Dateien, die dem ftp-user gehören, und umgekehrt.<br /> |
− | Damit alle Vorgänge reibungslos funktionieren, brauchen die Dateien im tl_files/media-Ordner ( | + | Damit alle Vorgänge reibungslos funktionieren, brauchen die Dateien im ''tl_files/media''-Ordner (siehe Abschnitt [[#Konfigurationsdatei_bearbeiten|Konfigurationsdatei bearbeiten]]) und der Ordner selbst die Dateirechte 0775.<br /> |
− | AjaxFileManager vergibt beim Upload aber nur die Dateirechte 0755. | + | AjaxFileManager vergibt beim Upload aber nur die Dateirechte 0755. Um dies abzuändern, muss man in der Datei ''plugins/tinyMCE/plugins/ajaxfilemanager/inc/class.upload.php'' den Wert 0775 für var $uploadFileMode eintragen (Zeile 30): |
− | Um dies abzuändern, muss man in der Datei plugins/tinyMCE/plugins/ajaxfilemanager/inc/class.upload.php den Wert 0775 für var $uploadFileMode eintragen (Zeile 30): | + | <source lang="php"> |
− | < | + | |
var $uploadFileMode = 0775; | var $uploadFileMode = 0775; | ||
− | </ | + | </source> |
+ | |||
+ | =Forenthread= | ||
+ | [http://www.contao-community.de/showthread.php?22358-Contao-tinyMCE-und-AjaxFileManger-HowTo Diskussionsthread im Forum] | ||
+ | |||
+ | Wenn jemand etwas mit dieser Anleitung anfangen kann, dann würde es mich freuen.<br /> | ||
+ | Ulrike |
Aktuelle Version vom 7. September 2011, 19:16 Uhr
betrifft | |
---|---|
Contao Version | 2.10.0 |
Eine Anleitung, wie man den kostenlosen und durchaus brauchbaren "AjaxFileManager" in Contao einbindet.
Ein Hinweis aus dem Forenthread:
AjaxFileManager ist eine Erweiterung für TinyMCE und nicht speziell auf Contao zugeschnitten, d.h., contao-spezifische Einstellungen (z.B. Berechtigungen aus der Benutzerverwaltung, Einstellungen für Upload-Dateitypen und -größen) werden nicht unterstützt.
Inhaltsverzeichnis
Download des AjaxFileManagers
Das Paket Ajax File and Image Manager Version 1.0 Final downloaden.
Dateien kopieren
Aus dem heruntergeladenen Paket (s.o.) den Ordner ajaxfilemanager nach plugins/tinyMCE/plugins/ajaxfilemanager kopieren.
Alles andere aus der heruntergeladenen zip-Datei wird nicht gebraucht.
Konfigurationsdatei bearbeiten
Die Datei plugins/tinyMCE/plugins/ajaxfilemanager/inc/config.base.php öffnen, darin in den Zeilen 52/53 CONFIG_SYS_DEFAULT_PATH und CONFIG_SYS_ROOT_PATH folgendermaßen setzen:
define('CONFIG_SYS_DEFAULT_PATH', '../../../../tl_files/media'); //accept relative path only define('CONFIG_SYS_ROOT_PATH', '../../../../tl_files/media'); //accept relative path only
Dabei /media nach eigenen Wünschen anpassen oder auch weglassen...
tinyMCE.php bearbeiten
Die Konfigurationsdatei system/config/tinyMCE.php folgendermaßen bearbeiten:
ajaxfilemanager hinzufügen
In der Zeile, die mit elements: beginnt, ajaxfilemanager hinzufügen. Dies sieht dann so aus:
elements : "<?php echo $this->rteFields; ?>,ajaxfilemanager",
file_browser_callback ergänzen
Hinter theme_advanced_resizing: true, folgende Zeile einfügen:
file_browser_callback : "ajaxfilemanager",
Ob es genau diese Position innerhalb der tinyMCE.php sein muss, weiß ich nicht, aber irgendwo stand diese Empfehlung und es funktioniert so bei mir.
Skript einfügen
Am Ende der Datei vor </script> folgendes einfügen:
// start ajaxfilemanager configuration function ajaxfilemanager(field_name, url, type, win) { var ajaxfilemanagerurl = "plugins/tinyMCE/plugins/ajaxfilemanager/ajaxfilemanager.php"; switch (type) { case "image": break; case "media": break; case "flash": break; case "file": break; default: return false; } var view='thumbnail'; //alternativ: 'detail' var language='de'; tinyMCE.activeEditor.windowManager.open({ url: ajaxfilemanagerurl + '?view=' + view + '&language=' + language, title: "Ajax Dateimanager", width: 882, height: 540, inline : "yes", close_previous : "no" },{ window : win, input : field_name, resizable: "yes" }); return false; } // end ajaxfilemanager configuration
Wenn man als Grundeinstellung nicht thumbnail, sondern detail wünscht, kann man die Zeile mit var view = 'thumbnail' entsprechend anpassen.
Im Forenthread befindet sich in diesem Post (s. Anhang) meine tinyMCE.php mit allen Änderungen.
Nachtrag
Um die Änderungen updatesicher zu machen, kann man AjaxFileManager auch so einbinden:
Die Datei system/config/tinyMCE.php kopieren und umbenennen in z.B. tinyCustom.php.
tinyCustom.php soll sich dann ebenfalls im Verzeichnis system/config/ befinden.
Dann alle angeführten Änderungen in tinyCustom.php eintragen.
Zum Einbinden der tinyCustom.php folgende Zeile in system/config/dcaconfig.php eintragen:
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';
Im Forenthread wurde darauf hingewiesen, dass die updatesichere Methode einen weiteren Vorteil besitzt: AjaxFileManager wird auf diese Weise nur im Backend zur Verfügung gestellt.
Deutsche Sprachdatei hinzufügen
Die deutsche Sprachdatei findet sich im Forenthread und kann von diesem Posting (s. Anhang) herunter geladen werden.
Diese Datei muss in das Verzeichnis plugins/tinyMCE/plugins/ajaxfilemanager/langs kopiert werden.
Ordner- und Dateirechte setzen
Wie ein Forumsmitglied bestätigte, ist dieser Abschnitt nur wichtig, wenn Contao mit dem Safe-Mode-Hack läuft.
Bei Verwendung des Safe-Mode-Hack brauchen der Ordner plugins/tinyMCE/plugins/ajaxfilemanager/session und die beiden darin enthaltenen Dateien die Dateirechte 0775, damit AjaxFileManager nicht die fehlenden Rechte moniert.
Dateirechte setzen für Dateien, die mit AjaxFileManager hochgeladen werden
(ebenfalls nur nötig für Installationen mit Safe-Mode-Hack)
AjaxFileManager bearbeitet Dateien nicht als ftp-user, sondern als Webserveruser. Das bedeutet u. U. Einschränkungen für AjaxFileManager bei Dateien, die dem ftp-user gehören, und umgekehrt.
Damit alle Vorgänge reibungslos funktionieren, brauchen die Dateien im tl_files/media-Ordner (siehe Abschnitt Konfigurationsdatei bearbeiten) und der Ordner selbst die Dateirechte 0775.
AjaxFileManager vergibt beim Upload aber nur die Dateirechte 0755. Um dies abzuändern, muss man in der Datei plugins/tinyMCE/plugins/ajaxfilemanager/inc/class.upload.php den Wert 0775 für var $uploadFileMode eintragen (Zeile 30):
var $uploadFileMode = 0775;
Forenthread
Wenn jemand etwas mit dieser Anleitung anfangen kann, dann würde es mich freuen.
Ulrike