Magento 1.9 - 创建新页面不起作用

Posted

技术标签:

【中文标题】Magento 1.9 - 创建新页面不起作用【英文标题】:Magento 1.9 - Creating a new page not working 【发布时间】:2017-08-01 02:10:32 【问题描述】:

我正在尝试为我的模块创建一个新页面,但没有成功。我创建了一个包含内容的模块:

app\code\local\CompanyName\Insignias\etc\config.xml

<config>
    <modules>
        <CompanyName_Insignias>
            <version>0.0.1</version>
        </CompanyName_Insignias>
    </modules>
    <frontend>
        <routers>
            <insignias>
                <use>standard</use>
                <args>
                    <module>CompanyName_Insignias</module>
                    <frontName>insignias</frontName>
                </args>
            </insignias>
        </routers>
        <layout>
            <updates>
                <insignias>
                    <file>insignias.xml</file>
                </insignias>
            </updates>
        </layout>
    </frontend>
  <...>
</config>

app\code\local\CompanyName\Insignias\controllers\IndexController.php

<?php

class CompanyName_Insignias_IndexController extends Mage_Core_Controller_Front_Action 

    public function indexAction() 
        $this->loadLayout();
        $this->renderLayout();
    


app/design/frontend/base/default/layout/insignias.xml

<?xml version="1.0"?>
<layout>
  <insignias_index_index>
    <reference name="content">
      <block type="insignias/index" name="insignias_index" template="insignias/index.phtml" />
    </reference>
  </insignias_index_index>
</layout>

我已经在 app/design/frontend/base/default/template/insignias/index.phtml 创建了 index.phtml 文件,并带有 &lt;?php echo "worked" ?&gt; 来测试它,但是当我尝试访问 domain/index.php/ insignias 它向我显示了所有默认的 magento 块和中间的空白页,我的回声应该出现。

有人可以帮我吗?

编辑: 这是我的屏幕图片

【问题讨论】:

【参考方案1】:

日志文件中有什么内容吗?

-- 顺便提一句... 您需要在 renderLayout() 之前在 indexController.php 中调用您的块 调用看起来像

$myBlock = $this->getLayout()->createBlock('Mage_Core_Block_Template', 'newpage', array('template' => 'newpage/content.phtml')); $this->getLayout()->getBlock('content')->append($myBlock);

-- 您可以在根 Magento 安装中找到 Magento 登录 /var/log 默认情况下通常会有两个文件,exception.log 和 system.log。

【讨论】:

【参考方案2】:

app/design/frontend/base/default/template/checkout/onepage/shipping_method/available.phtml

app/etc/modules/AMA_Checkout.xml

<?xml version="1.0"?>
<config>
    <modules>
        <AMA_Checkout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Checkout />
            </depends>
        </AMA_Checkout>
    </modules>
</config>

app/code/local/AMA/Checkout/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <AMA_Checkout>
            <version>1.0.0</version>
        </AMA_Checkout>
    </modules>
    <global>
        <blocks>
            <amacheckout>
                <class>AMA_Checkout_Block</class>
            </amacheckout>
        </blocks>
    </global>
</config>

app/code/local/AMA/Checkout/Block/Onepage/Shipping/Method/Available.php

<?php

class AMA_Checkout_Block_Onepage_Shipping_Method_Available extends Mage_Checkout_Block_Onepage_Shipping_Method_Available

    public function _construct()
    
        parent::_construct();
        $this->setTemplate('amacheckout/checkout/onepage/shipping_method/available.phtml');
    

模板:

app/design/frontend/default/base/template/amacheckout/checkout/onepage/shipping_method/available.phtml

【讨论】:

以上是关于Magento 1.9 - 创建新页面不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Magento密码重置不起作用

magento 1.9 新添加的产品没有显示在分类页面?

Magento 2:自定义属性不起作用

Magento 1.9 创建新的 Hello World 模块

magento:某些 htaccess 重定向不起作用

自定义模块中的 Magento Layout xml 不起作用