cancel
Showing results for 
Search instead for 
Did you mean: 

Ruta Post de mi modulo muestra 404

SOLVED

Ruta Post de mi modulo muestra 404

Hola de nuevo, 

He creado un modulo que muestra un buscador en la home, ese buscador buscara por atributos, pero ahora tengo el problema que el form tiene un action que debe de resolver en 

public function getFormAction()
{
return $this->getUrl($this->_storeManager->getStore()->getBaseUrl() . 'index/result', ['_secure' => true]);
} 

 Index/result

Pero siempre muestra un 404 en esa pagina cuando se hace click en buscar.

 

Tengo entendido que Magento tiene un routes.xml "etc/frontend/routes.xml" que es el que resuelve la ruta, dentro del Controller/Index/Result.php

y este es mi código en el routes.xml

<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="result">
<route id="result" frontName="result">
<module name="Mnuhell_FormSearchAttributes" />
</route>
</router>
</config>

 Y no se si me falta o me sobra algo es mi primer módulo en Magento y voy algo despistado.

 

Alguien que controle y me pueda hacer ver donde esta el error?

 

Gracias a todos!!

Desarrollador Front-End
9 REPLIES

Re: Ruta Post de mi modulo muestra 404

Hola @mnuhell,

 

A riesgo de estar haciendo self-promotion, quizás puedas repasar con este ejemplo (que lleva también a código funcional en GitHub): http://www.damianculotta.com.ar/magento/como-crear-un-frontend-controller-en-magento2

--
If you've found one of my answers useful, please give "Kudos" or "Accept as Solution"

Re: Ruta Post de mi modulo muestra 404

Gracias @Damian Culotta voy a revisarlo a ver si me falta algo, otra cosa, el módulo lo tengo activado en local, me muestra el Form en la home, pero cuando hago deploy al servidor de PRE no se activa y no lo muestra, ¿Sabes si hay que hacer algo para para activar los módulos en el servidor?

 

He sustituido el archivo config.php que es donde le dice que el modulo este activado y aun así no me lo detecta ni en el BackEnd.

 

Gracias!

Desarrollador Front-End

Re: Ruta Post de mi modulo muestra 404

Hola @mnuhell,


Probablemente deberías activar manualmente el módulo en el servidor. Dependiendo de algunos factores, no se sincroniza qué módulos están activos y cuáles no.

--
If you've found one of my answers useful, please give "Kudos" or "Accept as Solution"

Re: Ruta Post de mi modulo muestra 404

Hola @Damian Culotta en el System->advance->advance no me aparece el modulo, y el el archivo config.php del servidor lo tengo activado.

 

Hay otra manera de activarlo manualmente?

 

 

Desarrollador Front-End

Re: Ruta Post de mi modulo muestra 404

@Damian Culotta En el tutorial que has pasado, no tengo problema, el problema lo tengo cuando el action del form tiene que apuntar al controlador Controller/Index/Result.php, no lo resuelve la ruta ``` /formsearchattributes/index/result/ ``` Cuando hago submit.

 

Tengo un die en la función execute() pero siempre me devuelve 404. 

 

 

Desarrollador Front-End

Re: Ruta Post de mi modulo muestra 404

Hola @mnuhell,

 

Debería ver todo el código, no sabría decirte porque estaría adivinando.

Se que el código que te he mostrado funciona, pero no se me ocurre qué puede suceder.

 

¿Puedes ejecutar en la consola este comando?

 

bin/magento module:status

Te dirá qué modulo esta activo y cuales no.

--
If you've found one of my answers useful, please give "Kudos" or "Accept as Solution"

Re: Ruta Post de mi modulo muestra 404

@Damian Culotta No te lo vas a crear, pero el archivo registration.php lo tenía como Registration.php con la R mayúscula. Smiley Sad 

 

Ya esta solucionado!!

 

Ahora me falta poder ver porque el action del formulario no me redirige al controllador result y me da error 404.

 

te adjunto el modulo por dropbox 

https://www.dropbox.com/s/rs09igerwx6ah7q/Mnuhell.zip?dl=0

A ver si ves porque no me funciona.

 

Gracias

 

 

 

Desarrollador Front-End

Re: Ruta Post de mi modulo muestra 404

No lo he revisado en detalle pero tu controller result tiene este Namespace:

 

namespace Mnuhell\FormSearchAttributes\Controller\ResultSearch;

Y debería ser:

namespace Mnuhell\FormSearchAttributes\Controller\Index;

Pruébalo y comenta el resultado.

--
If you've found one of my answers useful, please give "Kudos" or "Accept as Solution"

Re: Ruta Post de mi modulo muestra 404

Gracias @Damian Culotta eso era, ahora muestra el mensaje de la función execute, un paso mas ahora ya funciona y no muestra el error.

 

Muchas Gracias!!

 

 

Desarrollador Front-End