2

ビューで次のことを行っています。

 <li><a href='<? Yii::app()->controller->createUrl('sources'); ?>'>sources</a></li>

ただし、「ソース」はパスに追加されず、代わりにコードは現在のコントローラーへのパスを返すだけです。

なぜこれが私の可能性があるのか​​ 誰かが示唆できますか?コードはモジュール内にあります。

私のURLルールは次のとおりです。

'rules'=>array(
 '<controller:\w+>/<id:\d+>'=>'<controller>/view',
 '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
 '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
               ),
4

3 に答える 3

12

あなたは2つのことを試す必要があります

現在のコントローラーまたはアクションに関連しない絶対 URL を取得するには、次のように先頭に「スラッシュ」を追加します。

    Yii::app()->createUrl('/sources/view');

また、エコーを使用するのを忘れるなどの愚かなことをしていないことを確認する必要があります:)それは時々私に起こります...

    <li><a href='<? echo Yii::app()->controller->createUrl('sources'); ?>'>sources</a></li>
于 2012-07-15T13:37:13.040 に答える
3

まず第一に、なぜビューからコントローラにアクセスしようとしているのですか? それは無意味であり、すべてのパターンに反します。

また、 で URL を作成できますYii::app()->createUrl()。また、この関数の使用方法に関するドキュメントを読むと役立つ場合があります。

'sources'がどのルーティング パターンにも適合しません。以下を試してみてください。

  • Yii::app()->createUrl('sources/view');
  • Yii::app()->createUrl('sources/foobar');.
于 2012-07-14T17:21:02.763 に答える
1

エコーを忘れました:

    <a href="<?php 
      echo Yii::app()->createUrl("[/][CONTROLLER][/]ACTION", array("view"=>"VIEW")); 
    ?>">Link name</a>
于 2014-05-26T09:08:50.953 に答える