Empfehlungen: Erweiterte Suche

Root-Verzeichnis herausfinden

Ausgabedaten formatieren und darstellen

Root-Verzeichnis herausfinden

Beitragvon ComFreek » Do 30. Jun 2011, 16:45

Hallo an alle!

Dies ist meine erste Frage ;)

Und zwar habe ich in meinen Views auch Formulare selber erstellt (also nicht mit dem Form Helper).
Dann hatte ich nämlich das Problem, dass ich im action-Attribut des Form-Tags auch den Ordnernamen des CakePHP-Ordner angeben musste. Allerdings möchte ich meine Anwendung möglichst flexibel halten und so keinen festen Ordnernamen vorgeben.
Da ich bis jetzt in der Dokumentation & im Internet über keine Konstante gelesen habe, die den Namen des Root-Ordner von CakePHP beinhaltet, habe ich den Form Helper benutzt:
Code: Alles auswählen

<?php
  echo $this->Form->create('Homework', array('action' => 'add'));
?>
<!-- Mein Formular (eigenes HTML) -->
<?php echo $this->Form->end(); ?>
 


Das ist natürlich nicht sehr elegant gelöst.
Dazu kommt noch, dass ich ein Menü bastle, bei dem ich auch URLs zu einzelnen Controllern und Actions benutze.
Da bräuchte ich jetzt auch so eine Konstante oder eine Funktion, die wie bei vielen CakePHP-Methoden, ein Array annimmt, z.B.:
Code: Alles auswählen

array('controller' => 'users',
        'action' => 'login',
        'admin' => false
       );
 

So meine Frage: Gibt es solch eine Konstante oder - noch besser - eine Funktion?

Ich habe - wie gesagt - schon in der Doku geschaut, aber nichts passendes gefunden.
Unter anderem habe ich das hier gefunden: http://book.cakephp.org/view/1141/Core-Definition-Constants
Aber die ersten zwei Variablen geben den ganzen Pfad an, z.B. bei XAMPP: C:\xampp\htdocs\cake\.
ComFreek
 
Beiträge: 2
Registriert: Do 30. Jun 2011, 16:32

Re: Root-Verzeichnis herausfinden

Beitragvon mbrod » Do 30. Jun 2011, 18:26

Also im Prinzip müsste es doch so aussehen:
Code: Alles auswählen
<form action="/cakephp_project/homework/add">

Statt cakephp_project soll es eine Konstante sein. Die kann man in /app/config/bootstrap.php definieren.

Ich würde aber immer den Form-Helper benutzen. Dafür hat man doch CakePHP :!:
mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: Root-Verzeichnis herausfinden

Beitragvon euromark » Do 30. Jun 2011, 21:14

dafür gibts den url parameter
euromark
 
Beiträge: 644
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Root-Verzeichnis herausfinden

Beitragvon ComFreek » Fr 1. Jul 2011, 19:16

Danke für die Antworten.

@mbrod:
Ja, ich habe jetzt eine Variable mit dem Inhalt von basename(ROOT).

@euromark:
Meinst du das hier? http://book.cakephp.org/de/view/971/url

Edit:
Ich habe jetzt die Funktion url() gefunden: http://book.cakephp.org/view/1448/url.
Allerdings wie kann ich diese Funktion von meiner (eigenen!) View aus benutzen?
Das Problem ist nämlich, dass ich bei meinem Menü eine PHP-Datei per require() einfüge und dass ich dadurch keinen Zugriff auf die Helper habe!
Gibt es da vielleicht irgend ein globales Objekt, das eine Referenz vom Html-Helper zurückliefert.
Oder wie kann ich eine eigene Instanz (wenn empfehlenswert) erzeugen?
ComFreek
 
Beiträge: 2
Registriert: Do 30. Jun 2011, 16:32


Zurück zu Views

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast