1

Magento はモジュールのページを表示していますが、ヘッダー、フッター、サイドバーのみです。マイページのコンテンツが表示されません。何度もチェックして再チェックした後、ファイルに問題は見られませんが、レイアウト ファイルが呼び出されていないようです。

コントロールから直接エコーすると、期待される結果が返されます

ブロックから直接エコーしても結果は返されません

layout.xml を壊しても例外は返されません。

config.xml を壊すと、system.log に 404 とエラーが返される

var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());以下を示します

array
0 => string 'default' (length=7)
1 => string 'STORE_default' (length=13)
2 => string 'THEME_frontend_default_default' (length=30)
3 => string 'prefs_index_signup' (length=18)
4 => string 'customer_logged_in' (length=18)

このモジュールは以前は機能していましたが、何が変更されたのかわかりません。また、現在のコードを git のレポにあるコードと比較しましたが、違いはないようです。明らかに何かが変更されています。他に何を確認できますか?

アプリ/デザイン/フロントエンド/ベース/デフォルト/レイアウト/ps_prefs/prefs.xml

<layout>  
<prefs_index_signup>
    <reference name="content">
        <block type="prefs/signup" name="prefs_new" template="ps/prefs/new.phtml" />
    </reference>
</prefs_index_signup>
</layout>

アプリ/コード/ローカル/Ps/Prefs/Block/Signup.php

class Ps_Prefs_Block_Signup
extends Mage_Core_Block_Template
{
public $key;
public $locale;

public function _construct()
{
    $this->setKey();
    $this->getLocale();
}

アプリ/コード/ローカル/Ps/Prefs/etc/config.xml

<config>
<global>
    <models>
        <prefs>
            <class>Ps_Prefs_Model</class>
            <resourceModel>prefs_resource</resourceModel>
        </prefs>

        <prefs_resource>
            ....resources.....
        </prefs_resource>
    </models>
        <blocks>
        <prefs>
            <class>Ps_Prefs_Block</class>
        </prefs>
    </blocks>
</global>
<frontend>
    <layout>
        <updates>
            <prefs>
                <file>ps_prefs/prefs.xml</file>
            </prefs>
        </updates>
    </layout>
    <routers>
        <prefs>
            <use>standard</use>
            <args>
                <module>Ps_Prefs</module>
                <frontName>prefs</frontName>
            </args>
        </prefs>
    </routers>
</frontend>
</config>

アプリ/コード/ローカル/Ps/Prefs/コントローラー/IndexController

 class Ps_Prefs_IndexController
    extends Mage_Core_Controller_Front_Action
{
public function signupAction()
{
    $this->loadLayout()->renderLayout();
}
4

1 に答える 1