magentomodulehttp-status-code-404blockadminhtml

My custom Magento Extension is getting a 404 page not found error


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

}

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>