2011-12-06 14 views
10

Estoy desarrollando un módulo de SMS personalizado en Magento 1.6.error 404 en la configuración personalizada de Magento en admin

He configurado el archivo system.xml para administrar los campos de configuración personalizados relacionados.

Aparece la entrada del menú, pero cuando hago clic en ella, se muestra una página de error 404 en lugar de la lista de campos de configuración esperados.

¿Puedes ver algún error en mi código?

<config> 
<tabs> 
    <mynew_tab translate="label"> 
     <label>SMS Gateway Integration</label> 
     <sort_order>100</sort_order> 
    </mynew_tab> 
</tabs> 
<sections> 
    <smsconfig translate="label"> 
     <label>SMS Gateway Integration</label> 
     <sort_order>200</sort_order> 
     <show_in_default>1</show_in_default> 
     <show_in_website>1</show_in_website> 
     <show_in_store>1</show_in_store> 
     <tab>mynew_tab</tab> 
     <groups> 
      <sms_group translate="label"> 
       <label>My Custom Configurations</label> 
       <comment>This is example of custom configuration.</comment> 
       <sort_order>10</sort_order> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>1</show_in_store> 
       <fields> 
        <sms_enabled translate="label tooltip comment"> 
         <label>Is Enabled</label> 
         <frontend_type>select</frontend_type> 
         <source_model>adminhtml/system_config_source_yesno</source_model> 
         <sort_order>0</sort_order> 
         <show_in_default>1</show_in_default> 
         <show_in_website>1</show_in_website> 
         <show_in_store>1</show_in_store> 
         <comment>Enable this module.</comment> 
        </sms_enabled> 
        <sms_username translate="label tooltip comment"> 
         <label>Sender Email</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> 
         <comment>Username of the SMS gateway.</comment> 
        </sms_username> 
        <sms_password translate="label tooltip comment"> 
         <label>Sender Email</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> 
         <comment>Password of the SMS gateway.</comment> 
        </sms_password> 
       </fields> 
      </sms_group> 
     </groups> 
    </smsconfig> 
</sections> 

Después de la petición de ben, colocamos el archivo adminhtml.xml. Coloqué el contenido del archivo XML.

<config> 
<acl> 
    <resources> 
     <admin> 
      <children> 
       <system> 
        <children> 
         <config> 
          <children> 
           <sms translate="title" module="sms"> 
            <title>SMS Gateway Section</title> 
           </sms> 
          </children> 
         </config> 
        </children> 
       </system> 
      </children> 
     </admin> 
    </resources> 
</acl> 

Pero hasta que llegue el error 404 ...

+0

A f Indíquese el error exacto: Esto funcionó para mí http://pradhab.blogspot.com/2013/03/magento-404-error.html Pruebe esto –

+1

No proporcione respuestas de "solo enlace" (lo que sucederá si la página en el sitio remoto se retira?). Si el contenido externo es relevante, agregue los pasos/código a su respuesta y puede citar la fuente como una nota adicional. – newfurniturey

Respuesta

36

un error 404 en la configuración del sistema a menudo significa que hay un problema con ACL. Es probable que esté perdiendo el nodo ACL apropiada en adminhtml.xml de archivos del módulo:

<acl> 
    <resources> 
     <admin> 
      <children> 
       <system> 
        <children> 
         <config> 
          <children> 
           <smsconfig> <!-- translate="title" module="sms_config" if appropriate and depending on config --> 
            <title>Your Section</title> 
</...> 

Después de la adición de lo anterior se tendrán que cerrar la sesión y volver a iniciarla para los usuarios con todos los roles de administración y explícitamente agregar esta función a las funciones de usuario de administración personalizada .

+0

Coloqué el archivo adminhtml.xml y sigo sus instrucciones. Pero hasta el error 404. –

+0

¿puedes pegar tu código en alguna parte? – benmarks

+1

Tienes razón, Ben, tengo algunos errores en mi código. Ahora estaba funcionando. Gracias por tu ayuda. –

2

No subestime la necesidad de desconectarse y luego volver a iniciar sesión después de realizar cambios en la ACL. Incluso si se borra la memoria caché, todavía 404 hasta que finalice la sesión y volver a iniciarla.

3

Haz lo @benmarks dijo además Asegúrese de añadir a los niños adecuados (en su caso) smsconfig

(@benmarks sms_config utilizado en lugar de smsconfig)

<!-- namespace/modulename/etc/adminhtml.xml --> 
<acl> 
    <resources> 
     <admin> 
      <children> 
       <system> 
        <children> 
         <config> 
          <children> 
           <smsconfig> <!-- translate="title" module="sms_config" if appropriate and depending on config --> 
            <title>Your Section</title> 
</...> 

caché clara, administrador de cierre de sesión, inicio de sesión de administrador == obras

Indirecta: Si recibe 404 vistazo a t que url (cuando se hace clic en la pestaña):

/index.php/admin/system_config/edit/section/mymodulename_something/...

Esta url parece a punto de a mymodulename_something:

<!-- namespace/modulename/etc/system.xml --> 
<?xml version="1.0"?> 
<config> 
    <tabs> 
     <mymodulename translate="label" module="mymodulename"> 
      <label>MyModuleName Awesome Label</label> 
      <sort_order>1</sort_order> 
     </mymodulename> 
    </tabs> 
    <sections> 
     <mymodulename_something translate="label" module="mymodulename"> 
<!-- ... --> 

por lo que su adminhtml.xml se vería así:

<!-- namespace/modulename/etc/adminhtml.xml --> 
<?xml version="1.0"?> 
<config> 
    <acl> 
     <resources> 
      <admin> 
       <children> 
        <system> 
         <children> 
          <config> 
           <children> 
            <mymodulename_something translate="title" module="mymodulename"> 
             <title>have no idea where this is showing up btw</title> 
            </mymodulename_something> 
           </children> 
          </config> 
         </children> 
        </system> 
       </children> 
      </admin> 
     </resources> 
    </acl> 
</config> 
Cuestiones relacionadas