Question

First let me say that I have disabled and cleared the cache and logged out and back in again. However, I am still getting this error.

Second, let me explain what I am trying to do. BTW, this is my first extension build :) I am simply trying to build an extension that if it is enabled it will override the original cart/shipping.phtml file with my own template file..

I am able to see my extension in the left sidebar under the admin configurations. However, when I click on my extension to pull up the general tab which will allow you to disable or enable it I get the dreaded 404 page not found. Can you please have a look at my code and let me know what I am doing wrong? Thanks to all who help!

Here are all of my files :)

etc/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>

etc/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>

Helper/Data.php

<?php
class Beckin_DropDownShipping_Helper_Data extends Mage_Core_Helper_Abstract
{   

}

Block/Cart/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');
    }

}
Was it helpful?

Solution

In your config file, acl section: Change

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

to

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

OTHER TIPS

I also had a problem with getting a 404 error, and the answer that finally helped me figure it out is here: https://stackoverflow.com/a/6426041/3424147

After following a link to a blog post and reading through some comments I found one that talked about manually clearing the session data. Turns out that for me logging out and back in wasn't enough to update ACL data in the session, but after I manually wiped out my session file from var/session my new admin config menu section started working (no more 404 error).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top