すべての適切なハンドルを特定するのは常に難しいので、ここで我慢してください。私はGoogle、SEを精査し、無数のバリエーションを試しましたが、運がありませんでした。(そして、はい、私はここでテクニックを使用しました:レイアウトの読み込みのデバッグ、しかし出力をどうするかわかりません。
問題:コントローラーがロードされます。レイアウトにはありません。
のページにアクセスすると localhost/magento/mymodule/ajax/cart
'HERE!'に似ています。getLayoutsのvar_dumpは以下を生成します。
array(4) { 
    [0]=> string(17) "mymodule_ajax_cart" 
    [1]=> string(13) "STORE_default" 
    [2]=> string(24) "THEME_frontend_theme_theme" 
    [3]=> string(19) "customer_logged_out" 
}
コード
カスタムコントローラー:
app/code/local/mycompany/mymodule/controllers/AjaxController.php
class Mycompany_Mymodule_AjaxController extends Mage_Core_Controller_Front_Action
{
    public function cartAction() {
        echo 'HERE!';
        $this->loadLayout('mymodule_ajax_cart');
        var_dump($this->getLayout()->getUpdate()->getHandles());
        $this->renderLayout();
    }
}
設定ファイル:
app/code/local/mycompany/mymodule/etc/config.xml
<config>
    <modules>
        <mycompany_mymodule>
            <version>1.0.0</version>
        </mycompany_mymodule>
    </modules>
    <global>
        <helpers>
            <mymodule>  
                    <class>Mycompany_Mymodule_Helper</class>
                </mymodule>
        </helpers>
    </global>
    <frontend>
        <routers>
            <mymodule>
                <use>standard</use>
                <args>
                    <module>Mycompany_Mymodule</module>
                    <frontName>mymodule</frontName>
                </args>
            </mymodule>
        </routers>
        <layout>
            <updates>
                <mymodule>
                    <file>mymodule.xml</file>
                </mymodule>
            </updates>
        </layout>
    </frontend>
</config>
レイアウトファイル
app/design/frontent/base/default/layout/mymodule.xml
<?xml version="1.0"?>
    <layout>
        <mymodule_ajax>
            <block type="core/text_list" name="content" output="toHtml" as="content" />
        </mymodule_ajax>
        <mymodule_ajax_cart>
            <reference name="content">
                <block type="core/template" template="mymodule/ajaxcart.phtml" />
            </reference>
        </mymodule_ajax_cart>
    </layout>
そして最後に、テンプレートファイル
app/design/frontend/theme/theme/template/mymodule/ajaxcart.phtml
<div style="border: 2px solid red">
    Hello world
</div>
お知らせ下さい。私は明らかな何かを見逃していることを知っていますが、私の人生ではそれを見つけることができません。
mycompany_mymodule(最初のハンドル)でモジュールを宣言します。プレフィックスのmymoduleないプレフィックスを持つすべてのxmlタグmycompany_は悪いIMHOです。すべてのタグ名を変更して、前mycompany_に接頭辞を付ける必要がありますmymodule。
                
mycompany_mymoduleすべてのハンドルで接頭辞を使用するべきではありませんか?(mycompany_mymodule_ajax例えば)。