1

首先让我说我已禁用并清除缓存并注销并重新登录。但是,我仍然收到此错误。

其次,让我解释一下我要做什么。顺便说一句,这是我的第一个扩展构建:) 我只是想构建一个扩展,如果启用它,它将用我自己的模板文件覆盖原始的 cart/shipping.phtml 文件。

我可以在管理员配置下的左侧边栏中看到我的扩展。但是,当我单击我的扩展程序以拉出允许您禁用或启用它的常规选项卡时,我得到了可怕的 404 页面未找到。你能看看我的代码,让我知道我做错了什么吗?感谢所有帮助的人!

这是我所有的文件:)

等/config.xml

<?xml version="1.0"?>
<config>    
<modules>
<Beckin_DropDownShipping><version>1.0.0</version></Beckin_DropDownShipping>
    </modules>

<global>
            <blocks>
                 <dropdownshipping>
                      <class>Beckin_DropDownShipping_Block</class>
                 </dropdownshipping>
            </blocks>

    <helpers>
         <dropdownshipping>
          <class>Beckin_DropDownShipping_Helper</class>
         </dropdownshipping>
    </helpers>      
</global>

 <frontend>
    <layout>
        <updates>
            <beckin>
                <file><!-- beckin_dropdownshipping.xml --></file>
            </beckin>
        </updates>
    </layout>
    <routers>
        <dropdownshipping>
            <use>standard</use>
            <args>
                <module>Beckin_DropDownShipping</module>
                <frontName>dropdownshipping</frontName>
            </args>
        </dropdownshipping>
    </routers>  
 </frontend>


 <adminhtml>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <config>
                                <children>
                                    <dropdownshipping_options>
                                        <title>Beckin Drop Down Shipping Extension</title>
                                    </dropdownshipping_options>
                                </children>
                            </config>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</adminhtml>

</config>

等/system.xml

<?xml version="1.0"?>
<config>
<tabs>
    <beckin translate="label">
        <label>Beckin Extensions</label>
        <sort_order>100</sort_order>
    </beckin>
</tabs> 
<sections>  
            <dropdownshipping translate="label">
        <label>Drop Down Shipping</label>
        <tab>beckin</tab>
        <frontend_type>text</frontend_type>
        <sort_order>1000</sort_order>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>


            <groups>            

                <settings translate="label">
                <label>Settings</label>
                <frontend_type>text</frontend_type>
                <sort_order>1</sort_order>
                <show_in_default>1</show_in_default>
                <show_in_website>1</show_in_website>
                <show_in_store>1</show_in_store>       
            <fields>
                <enable translate="label">
                <label>Enable</label>
                <comment>
                <![CDATA[Enable or Disable this extension.]]>
                </comment>
                <frontend_type>select</frontend_type>
                <source_model>adminhtml/system_config_source_yesno</source_model>
                <sort_order>1</sort_order>
                <show_in_default>1</show_in_default>
                <show_in_website>1</show_in_website>
                <show_in_store>1</show_in_store>                    
                </enable>           
            </fields>

                </settings>
            </groups>
        </dropdownshipping>
</sections>     
</config>

助手/Data.php

<?php
class Beckin_DropDownShipping_Helper_Data extends Mage_Core_Helper_Abstract
{   

}

块/购物车/Shipping.php

<?php

class Beckin_DropDownShipping_Block_Cart_Shipping extends Mage_Checkout_Block_Cart_Shipping
{

protected function _construct()       
    if(Mage::getStoreConfig('dropdownshipping/general/enable', Mage::app()->getStore()->getId())
    {
    $this->setTemplate('Beckin/dropdownshipping/drop_down_shipping.phtml');
    }

}
4

2 回答 2

5

在您的配置文件中,acl 部分:更改

<dropdownshipping_options>
    <title>Beckin Drop Down Shipping Extension</title>
</dropdownshipping_options>

<dropdownshipping>
    <title>Beckin Drop Down Shipping Extension</title>
</dropdownshipping>
于 2012-12-16T06:41:02.000 回答
0

我也遇到了 404 错误的问题,最终帮助我弄清楚的答案在这里:https ://stackoverflow.com/a/6426041/3424147

在链接到博客文章并阅读了一些评论后,我发现了一篇关于手动清除会话数据的评论。事实证明,对我来说,注销并重新登录不足以更新会话中的 ACL 数据,但是在var/session我从新的管理配置菜单部分手动清除会话文件后开始工作(不再出现 404 错误)。

于 2015-01-31T22:45:20.627 回答