2012-04-22 14 views
1

urlmanagerでseourlmanagerクラスを使用しています。
Multicomplete Extensionを使用するajaxオートコンプリートのフィールドがあります。
拡張機能は 'controller/action?term = searchterm'のようなajaxリクエストを送信します。
問題は、url manager(seourlmanager)がgetクエリを処理できないことです。 URL Managerで
私はこのルールを持っている:YUI urlManagerとjquery ajax GETリクエスト

'controller/action/<term:.*>'=>'controller/action' 

Multicomplete拡張とseourlmanagerの両方で動作するように、URLマネージャを調整する方法は?

答えて

0

私が最後にクエリ文字列を追加するseourlmanagerクラスを変更した:

protected $_query; 
public function init() { 
    .. 
    $this -> _query = (!empty($urlParts['query'])) ? $urlParts['query'] : ''; 
    .. 
} 
protected function _connectUrlParts() { 
    $scheme = $this -> _scheme . '://'; 

    $port = (!empty($this -> _port)) ? ':' . $this -> _port : ''; 
    if($this->_query=='') 
    return $scheme . $this -> _host . $port . $this -> _path; 
    else 
    return $scheme . $this -> _host . $port . $this -> _path.'?'.$this->_query; 
} 
0

てみてください、あなたの設定ファイルに次のようなものを、一般的なルールを追加するには:

'<controller:\w+>/<action:\w+>' => '<controller>/<action>', 

これはとか、追加のクエリパラメータなしの典型的なcontroller/action形式と一致します。

オートコンプリートの拡張子は?term=searchtermを使用しているので、?termは、ルールで定義する必要はありません。

​​
+0

これは助けにはならない。私はまだ301errorを持っています – lvil

+0

.htmlサフィックスセット( '' urlSuffix '=>' .html'')はありますか?その場合は、URLに接尾辞も使用する必要があります。あなたのブラウザに直接URLを入力して、どのような組み合わせで正しい応答が得られるかを確認してください。 –

+0

いいえ、設定ファイルにurlSuffixが設定されていません。 – lvil

関連する問題