Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Własne środowiko (inne niż 'prod', 'dev' i 'test')
Forum PHP.pl > Forum > PHP > Frameworki
Cezar708
cześć

mam mały problem związany z nowym środowiskiem..

plik używający środowiska myenv to:

myenv.php:
  1. <?php
  2. require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
  3. $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'myenv', true);
  4. sfContext::createInstance($configuration)->dispatch();
  5. ?>


Następnie chciałbym "pokonfigurować" to środowisko i zacząłem od app/frontend/config/view.yml:
Kod
default:
  # ...
  has_layout:     on
  layout:         main

# moje ustawienia
myenv:
  has_layout:     off
  layout:         ~


przeczyściłem cache, i odpaliłem w celu sprawdzenia za pomocą linka:
Kod
http://sftest/myenv.php


... oczywiście rezultat był taki, że layout main.php się załadował, czyli inaczej niż w ustawieniach środowiska myenv.

Pomóżcie i powiedzcie mi co robię nie tak. Wg dokumentacji wszystko powinno pójść prosto za pomocą ustawień we frontcontrollerze myenv.php... jednakże rzeczywistość jest zupełnie inna.

Pozdrawiam
destroyerr
Nie kojarzę w dokumentacji żadnego tekstu, który by mówił, że w pliku view.yml można konfigurować coś na podstawie środowiska. Może przeoczyłem ale:
Klucz default oznacza, że dla każdego widoku zostaną ustawione podane parametry. Twój klucz: myenv oznacza, że dla widoku o tej samej nazwie layout nie zostanie załączony.
Cezar708
OK, w takim razie jak zrobić, (najwygodniej chyba na podstawie środowiska) aby domyślnie był layout wyłączony?

Oczywiście zmiana w default: na has_layout: off nie wchodzi w grę, ponieważ inne środowiska tego wymagają.

generalnie "na szybko zrobiłem coś w ten deseń:

  1. <?php
  2. class myActions extends sfAction {
  3. public function execute($request)
  4. {
  5. if($this->getContext()->getConfiguration()->getEnvironment() == 'myenv') {
  6. // wylaczenie layoutu dla tego typu srodowiska
  7. $this->setLayout(false);
  8. }
  9. return parent::execute($request);
  10. }
  11. }
  12. ?>


i oczywiście wszystkie akcje dziedziczą po myActions... jakoś to działa... ale to chyba nie jest do końca dobrze co?
qqrq
Cytat(Cezar708 @ 25.08.2008, 15:23:38 ) *
cześć

mam mały problem związany z nowym środowiskiem..

plik używający środowiska myenv to:

myenv.php


A nie powinno być "<nazwa_aplikacji>_myenv.php"? smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.