1

Alanのブログの説明から、config.xmlにルーターを追加しました。

<?xml version="1.0"?>
<config>
    <modules>
        <Clean_Integration>
            <version>1.0.0</version>
        </Clean_Integration>
    </modules>
    <admin>
        <routers>
            <wellnesscoach_app_redirect>
                <use>admin</use>
                <args>
                    <module>Clean_Integration</module>
                    <frontName>appsync</frontName>
                </args>
            </wellnesscoach_app_redirect>
        </routers>
    </admin>
</config>

そして、ここでコントローラーを定義しますapp/code/local/Clean/Integration/Controllers/IndexController.php

<?php

die('checkpoint1');

class Clean_Integration_IndexController extends Mage_Adminhtml_Controller_Action {

    public function indexAction() {
        $this->_redirectUrl('/appointments/sync/backend/');
        die('checkpoint2');
    }
}

このURLを開こうとすると、フロントエンド側に移動して404をスローします。

magentoがこの管理ルーターを取得しない原因は何ですか?

4

3 に答える 3

4
<?xml version="1.0"?>
<config>
  <modules>
      <Clean_Integration>
          <version>1.0.0</version>
      </Clean_Integration>
  </modules>
  <admin>
    <routers>
        <integration>
            <use>admin</use>
            <args>
                <module>Clean_Integration</module>
                <frontName>appsync</frontName>
            </args>
        </integration>
    </routers>
  </admin>

小文字にする必要がありますcontrollers

app / code / local / Clean / Integration / controllers / IndexController.php

frontendとコントローラーを追加する場合に将来問題が発生しないように、これをAdminhtmlフォルダーに配置することもできますadmin

app / code / local / Clean / Integration / controllers / Adminhtml / IndexController.php

于 2012-12-03T12:41:08.773 に答える
1

あなたが犯した間違いの1つは、コントローラーを「controllers」ではなく「Controllers」というフォルダーに配置することです(大文字と小文字の間違い)。

于 2012-12-03T12:12:49.223 に答える
0

この問題を抱えている他の人への将来の参照のために:

コントローラがの標準名を使用しない場合でも、規則を使用してファイル名とクラスIndexController.php名の両方に名前を付ける必要があります。...Controller

したがって、コントローラーがAdminhtmlフォルダーにある場合は、コントローラーに名前ExtensionController.phpを付け、クラスに名前を付けます。My_Module_Adminhtml_ExtensionController extends ...

この優れた記事に行くためのクレジット。HTH。

于 2013-06-08T19:49:08.267 に答える