TinyMCE und AjaxFileManager: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(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…“)
 
K
Zeile 16: Zeile 16:
 
plugins/tinyMCE/plugins/ajaxfilemanager/inc/config.base.php öffnen,
 
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:
 
darin in den Zeilen 52/53 CONFIG_SYS_DEFAULT_PATH und CONFIG_SYS_ROOT_PATH folgendermaßen setzen:
<pre>
+
<source lang="php">
 
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
</pre>
+
</source>
  
 
= tinyMCE.php bearbeiten =
 
= tinyMCE.php bearbeiten =
Zeile 26: Zeile 26:
 
== ajaxfilemanager hinzufügen ==
 
== ajaxfilemanager hinzufügen ==
 
In der Zeile, die mit elements: beginnt, ajaxfilemanager hinzufügen, sieht dann so aus:
 
In der Zeile, die mit elements: beginnt, ajaxfilemanager hinzufügen, sieht dann so aus:
<pre>
+
<source lang="php">
 
elements : "<?php echo $this->rteFields; ?>,ajaxfilemanager",
 
elements : "<?php echo $this->rteFields; ?>,ajaxfilemanager",
</pre>
+
</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:
<pre>
+
<source lang="php">
 
file_browser_callback : "ajaxfilemanager",
 
file_browser_callback : "ajaxfilemanager",
</pre>
+
</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 ==
 
Unten in der Datei vor </script> folgendes einfügen:
 
Unten in der Datei vor </script> folgendes einfügen:
<pre>
+
<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 72:
 
         }
 
         }
 
// end ajaxfilemanager configuration
 
// end ajaxfilemanager configuration
</pre>
+
</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.
 
Im Forum findet sich meine tinyMCE.php mit allen Änderungen mit allen Änderungen: [http://www.contao-community.de/showthread.php?22358&p=149890&viewfull=1#post149890 Tutorial zu Contao, tinyMCE und AjaxFileManager], s. Anhang.
 
Im Forum findet sich meine tinyMCE.php mit allen Änderungen mit allen Änderungen: [http://www.contao-community.de/showthread.php?22358&p=149890&viewfull=1#post149890 Tutorial zu Contao, tinyMCE und AjaxFileManager], s. Anhang.
Zeile 81: Zeile 81:
 
Dann alle Änderungen des Punktes 4 in tinyCustom.php eintragen.
 
Dann alle Änderungen des Punktes 4 in tinyCustom.php eintragen.
 
Zum Einbinden der tinyCustom.php folgende Zeile in system/config/dcaconfig.php eintragen:
 
Zum Einbinden der tinyCustom.php folgende Zeile in system/config/dcaconfig.php eintragen:
<pre>
+
<source lang="php">
 
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';
 
$GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';
</pre>
+
</source>
  
 
= Deutsche Sprachdatei hinzufügen =
 
= Deutsche Sprachdatei hinzufügen =
Zeile 94: Zeile 94:
  
 
= 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 SafeMode-Hack)
+
(ebenfalls nur nötig für Installationen mit SafeMode-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.
 
Damit alle Vorgänge reibungslos funktionieren, brauchen die Dateien im tl_files/media-Ordner (zu /media s. oben, Abschnitt Konfigurationsdatei bearbeiten) und der Ordner selbst die Dateirechte 0775.
 
Damit alle Vorgänge reibungslos funktionieren, brauchen die Dateien im tl_files/media-Ordner (zu /media s. oben, Abschnitt Konfigurationsdatei bearbeiten) und der Ordner selbst die Dateirechte 0775.
 
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):
<pre>
+
<source lang="php">
 
var $uploadFileMode = 0775;
 
var $uploadFileMode = 0775;
</pre>
+
</source>

Version vom 3. September 2011, 20:34 Uhr

betrifft
Contao Version 2.10.0/1

Download des AjaxFileManagers

Das Paket "Ajax File and Image Manager Version 1.0 Final" von php.letter.com downloaden, zurzeit aktueller Link: ajaxfilemanagerV1.0.Final.zip

Dateien kopieren

Aus diesem heruntergeladenen Paket (s.o.) den Ordner ajaxfilemanager kopieren nach plugins/tinyMCE/plugins/ajaxfilemanager. 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

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, 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

Unten in 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 Forum findet sich meine tinyMCE.php mit allen Änderungen mit allen Änderungen: Tutorial zu Contao, tinyMCE und AjaxFileManager, s. Anhang.

Nachtrag

Wer es gerne updatesicher möchte, kann AjaxFileManager auch so einbinden: Die Datei system/config/tinyMCE.php kopieren und umbenennen in z.B. tinyCustom.php Dann alle Änderungen des Punktes 4 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';

Deutsche Sprachdatei hinzufügen

Die deutsche Sprachdatei findet sich hier: Tutorial zu Contao, tinyMCE und AjaxFileManager, s. Anhang. Bitte kopieren in das Verzeichnis plugins/tinyMCE/plugins/ajaxfilemanager/langs

Ordner- und Dateirechte setzen

Wie ein Forumsmitglied bestätigte, ist dieser Abschnitt nur wichtig, wenn Contao im Safe-Mode-Hack-Modus läuft. Im SMH-Modus 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 SafeMode-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 (zu /media s. oben, 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;
Ansichten
Meine Werkzeuge

Contao Community Documentation

Das hier ist eine abstrakte Konversation

Marc A. Harnos
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge