2016-06-11 14 views
0

Ich arbeite an CakePHP 3 Projekt, das ein wenig groß ist.CakePHP 3: Globale contant Variable definieren

Ich möchte meine Anwendung so sauber wie möglich halten, indem ich alle Mediendateien von der Hauptanwendung abtrenne und deshalb muss ich alle Mediendateien in einer separaten Subdomain als media.myproject.com speichern und auf das Projekt kann von www.myproject.com zugegriffen werden.

Auch in media.myproject.com könnte es viele directories als

/root 
|- users 
    |- avatar 
    |- cover 
|- services 
    |- logo 
    |- banner 
    |- slides 
|- clients 
    |- logo 
    |- avatar 
|- etc 
    |- etc 
    |- etc 
    |- etc 

Jetzt, in der Lage sein, Dateien in der Anwendung für den Zugriff auf view ich globale Variablen festlegen möchten, dass ich in jedem view wie

<img src="<?= $media.$mediaUser.$userAvatar.$user->avatar ?>" /> 
verwenden können

Wie könnte ich das tun?

Antwort

0

Sie können einige wie diese machen:

config/Bootstrap.php

Configure::write('Media', array(
     'users' => array(
      'avatar' => 'media.myproject.com/users/avatar/', 
      'cover' => 'media.myproject.com/users/cover/' 
     ), 
     'services' => array(
      'logo' => 'media.myproject.com/services/logo/', 
      'banner' => 'media.myproject.com/services/banner/' 
     ) 
)); 

YourView.ctp

<?php use Cake\Core\Configure; ?> 

<img src="<?= Configure::read('Media.users.avatar').$user->avatar ?>" /> 
+0

wow, das ist großartig. Ich danke dir sehr. –

+0

Mit ' 'in' default.ctp' Layout funktioniert nicht, aber es funktioniert beim Hinzufügen in Ansichtsdateien. Wie könnte es in 'default.ctp' verwendet werden –

+0

Versuchen Sie das auch. Aber im Standard funktioniert nicht: / – Isengo