2011-06-29 15 views
5

私はformular(フォームヘルパーでは作成されていない)のビューを持っています。 たとえば、CakePHPは「myfolder1」というフォルダにインストールされています。CakePHPのルートディレクトリを取得するには?

だから私のformularは、その行で始まる:

<form id="ctrlAddForm" method="post" action="/myfolder1/ctrl/add" accept-charset="utf-8"> 

しかし、私は、ルートフォルダの名前を変更する場合、私は(まだ2)すべてのformularsを編集する必要があります。 ルートディレクトリ/名前を表す定数または関数はありますか?

定数ROOTについて読んだことがあります。その変数を使うべきですか?あなたがbasename(ROOT)でアプリの\ Webrootウェブルートの\ index.phpの中で一定のROOT_NAMEを定義することができ

ソリューション

  1. HTMLヘルパ機能url()を使用できます。たとえば、formタグのaction属性には次のようになります。

    $ this-> Html-> url(array( 'controller' => 'ctrl'、 'action' => 'add'))); ':それはdoesnののでbasename

    basename(APP); 
    

    PHPの関数'

答えて

4

さて、あなたはこの通常のオールを試みることができるがあります私は実際に私自身のCakeをインストールしました。これを試してみてください:

basename(dirname(APP)); 
+0

「app」のみを返します。しかし、私はCakePHPのインストールのルートディレクトリである "myfolder"を使いたいと思っています。 – ComFreek

+0

ありがとう秒コードが正常に動作します! 'basename(ROOT)' に編集しましたので、 'app \ webroot \ index 'で使用できます。php'で定数を定義します。 – ComFreek

1

このページでは、使用できる定数のリスト、http://book.cakephp.org/view/1141/Core-Definition-Constants

+0

ありがとうございますが、APPはXAMPPのフルパスを提供しています:C:\ xampp \ htdocs \ myfolder1 \ ... しかし、私のブラウザには間違いがあります。 それから、空のAPP_PATHと、 'CAKE'だけを返すCAKEを試しました! – ComFreek

1

あなたがルートに /var/www/yourprojectname/cake/conf/paths.php

をチェックすることができますは、CakePHPを介して使用されているすべての定数の変数を取得することができます。

私は役立つことを願っています。

よろしくお願いします。 Archit。

+0

ルートディレクトリの名前だけを格納する変数が見つかりませんでした。 しかしチャールズの答えを見てください。 – ComFreek

3

私はJavascriptで使用するCakePHPのドキュメントルートのURLを取得しなければならなかった、と私は上記の溶液を使用してそれを設定することができました:

<script language="Javascript"> 
$(document).ready(function() { 
     docRoot = '<?php echo $this->Html->url('/'); ?>'; 
} 
</script> 

とコードのその部分 - $this->Html->url('/')は - 完璧に動作CakePHPのルートディレクトリ/ URLを取得する際に使用します。

関連する問題