2012-04-04 7 views
0

cakephpアプリが2.0で動作していて、Firefoxにエンコードの問題があるようです。FireFoxでCakePHPという名前のパラメータが発生する

アクセスしているURLは、/ newcms/core/users/index/conditions [ユーザ] [group_id]:6で、out cmsシステムでフィルタを適用します。すべてで

は、Firefoxが、我々は正しいと私は持っている、我々は

[params] => Array 
     (
      [plugin] => core 
      [controller] => users 
      [action] => newcms_index 
      [named] => Array 
       (
        [conditions%5BUser%5D%5Bgroup_id%5D] => 6 
       ) 

      [pass] => Array 
       (
       ) 

      [prefix] => newcms 
     ) 

をFirefoxで同じURLを取得後藤場合はすべてが、正常に動作要求オブジェクト

[params] => Array 
     (
      [plugin] => core 
      [controller] => users 
      [action] => newcms_index 
      [named] => Array 
       (
        [conditions] => Array 
         (
          [User] => Array 
           (
            [group_id] => 6 
           ) 

         ) 

       ) 

      [pass] => Array 
       (
       ) 

      [prefix] => newcms 
     ) 

で次の取得します名前付き条件の値をエンコードしようとしましたが、運がありません。

+0

なぜあなたは大括弧をURLパラメータの一部として作っていますか?もちろん、URLエンコードされています。なぜ名前付きパラメータを使用しないのですか? –

+0

@Barry、彼は名前付きのパラメータを使用していますが、それらをネスト化しようとしています。それが可能かどうかはわかりません。 – bfavaretto

+0

@bfavaretto thats not true、彼はURLの一部としてそれらを直接渡しています。悪い。 –

答えて

0

GitHubのケーキの最新バージョンを掘り下げて遊んだ後、このFFの問題(https://github.com/cakephp/cakephp/commit/e6905b44c3d4512b6989c59a1489bc983d88bcdc)が修正されました。

URIに角括弧を渡すことについて間違ったことはありませんが、それは他のブラウザとは異なる方法でFFエンコードされた方法で問題に過ぎませんでした。

2

あなたのURLに角括弧と配列構造を使用することはおそらく良い考えではありません。これは

/newcms/core/users/index/user_group:6 

次にコントローラにデータを処理し?:よう

理由だけではなく、何かを使用していません。

+0

動的にフィルタを作成したCMSのように、本当にそれを行うことはできません。 Firefox以外のブラウザでは、すべての解析をコアで行い、理想的な配列として名前パラメータを取得します。 FFに方法がない場合は、角括弧を置き換えるためにパイプのようなものを使用して、それをアプリケーションコントローラでデコードする必要があります...理想的ではありません...愚かなFF – Dean

関連する問題