2011-01-08 13 views
6

Jak mogę zmienić rozszerzenie dla CakePHP Widoki z .ctp na .phpCakePHP Zobacz przedłużenie zmiana

Widziałem tam jest ta linia w /cake/libs/view.php var $ext = '.ctp'; że ustawia rozszerzenie ale jak Robię to z katalogu/app /, więc nie wpływa to na pliki rdzenia Cake.

Dzięki

Odpowiedz

10

Można ustawić rozszerzenie w twojej AppController z

public $ext = '.yourext'; 
+0

Co z wieloma rozszerzeniami, takimi jak akceptacja .php i .ctp, jest to możliwe? – Cameron

+0

Nie można podać wielu rozszerzeń, jednak wygląda na to, że istnieje powrót do pliku .ctp, jeśli nie znaleziono pliku .php. To jednak nie działa dla elementów (otworzyłem bilet na ten problem). – dhofstet

1

to jest to odpowiedź na komentarz Camerona dotyczącej kwestii korzystania Multiple rozszerzenia w świetle faktu, CakePHP nie pozwala określić wiele rozszerzeń.

Używam Mustache dla pojedynczej witryny, która używa merb, rails2, rails3 i cakephp dla różnych sekcji witryny. Strona z ciastami "odbiera" pliki wąsów dla typowych elementów układu, ale te szablony mają rozszerzenie pliku ".mustache", którego moja witryna z ciastami nie rozpozna. Moje obejście jest w zasadzie tym, co sugeruje dhofstet w kontekście twojego konkretnego zastosowania. W skrócie, stworzyć opakowanie, które może wyglądać tak:

<? 
    $tmp = $this->ext; 
    $this->ext = '.mustache'; 
?> 
<?= $m->render($this->renderElement('moznav/advanced_header'), array('foo' => $bar)) ?><br /> 

<? $this->ext = $tmp; ?> 

Kiedy powraca przepływowe do rozmówcy, zachować się przy użyciu swojego ojczystego rozszerzenie pliku.

0

How can I change the extension for CakePHP Views from .ctp to .php

I have seen there is this line in /cake/libs/view.php var $ext = '.ctp'; that sets the extension but how can I do it from my /app/ folder so it doesn't effect Cake core files.

przykład:

  • masz widok posts/add.ctp
  • teraz zmienić nazwę add.ctp do add.php
  • a następnie uruchomić .../posts/add pokaz błędzie komunikat:

    Error: The view for PostsController::add() was not found.

    do aplikacji może zrozumieć rozszerzenie .php, dodajesz wiersz publiczny $ext = '.php' w PostsController.php

  • teraz znowu biegasz. .posts/add => Okie, CakePHP zrozumieć EXTENTION .php

Zawiadomienie: jeśli używasz atrribute widok $ext = '.php' ale plik o nazwie .ctp, cakephp przedłużeniu .ctp użyje domyślnie

0

Znalazłem ten post, bo miałem taki sam problem. Nie jest to wspomniane w głównej dokumentacji wtyczki TwigView na Github. Mam dość tych dokumentów, które wyjaśniają tylko połowę rzeczy i z którymi musimy zgadnąć drugą połowę. To duża strata czasu, która spowalnia projekty bezcelowo.

Powiązane problemy