2011-07-21 1 views
1

Je cherche une constante ou une variable qui fournira un chemin public à ma racine d'application.CakePHP - Comment obtenir le chemin public vers la racine de l'application

J'ai jusqu'à présent FULL_BASE_URL qui me donne http://www.example.com mais j'ai le problème supplémentaire de mon application étant dans un sous-répertoire (par exemple http://www.example.com/myapp/). Est-il possible d'obtenir le chemin http://www.example.com/myapp/ dans mon contrôleur?

Répondre

8

$this->Html->url('/', true);

En général, vous devez générer tous les liens avec cette fonction, voir http://book.cakephp.org/view/1448/url

+0

j'oublié de mentionner est d'obtenir une URL pour une redirection dans mon contrôleur. Je suppose que c'est une mauvaise pratique d'utiliser le HtmlHelper là-bas? – BadHorsie

+0

Vous n'avez pas besoin de l'URL de base pour les redirections. Faites simplement '$ this-> redirect ('/ controller/action');' – JJJ

+1

Désolé, j'ai fait un peu de mes questions sur les détails de cette question! Ce n'était pas pour une redirection en fait, c'était pour un lien dans un modèle d'email qui ramène l'utilisateur sur le site. J'ai réussi à le faire fonctionner en utilisant Html-> url() comme vous l'avez dit, à l'intérieur de Html-> link(). Merci. – BadHorsie

0
<?php 
    ... 
    $this->redirect(Router::url("/", true)); 
    ... 
?> 

Router est la classe statique utilisée par le HtmlHelper :: lien, Controller :: redirect etc. la méthode Router :: url prend une chaîne ou un tableau et l'associe à une route. Ensuite, il renvoie l'URL correspondant à l'information de l'itinéraire sous la forme d'une chaîne.

Si vous passez "/" à l'appel Router :: url, vous obtenez un lien relatif vers la racine de votre application. Si vous passez "/" et true à l'appel de Router :: url, vous ajouterez la valeur "BASE_URL" au chemin relatif obtenu. Cela devrait vous donner ce dont vous avez besoin. Sinon, voici le lien vers la documentation du routeur. Essayez d'expérimenter avec le second paramètre booléen - cela peut ou non fonctionner comme prévu en fonction de ce que vous avez lu/de vos propres tests.

http://api.cakephp.org/class/router#method-Routerurl

Questions connexes