Comienza definiendo una ruta para su módulo. Esto se hace en /etc/frontend/routes.xml
<config xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi: noNamespaceSchemaLocation = “urn: magento: framework: App / etc / routes.xsd”>
- Cómo extraer datos en Pharmsoft de una base de datos Magento
- ¿Qué extensión es esencial para una tienda Magento?
- ¿Cuál es la mejor empresa / desarrollador que ofrece la extensión de tarjeta de regalo Magento 2?
- ¿Cuál es la mejor extensión de comprobación de un paso de magento?
- Cómo vender los productos de mi tienda Magento en Wallmart
Luego, haga el controlador ‘Index’ para esta ruta en /Controller/Index.php
<? php
espacio de nombres Su \ Módulo \ Controlador;
use Magento \ Framework \ App \ Action \ Action;
use Magento \ Framework \ App \ Action \ Context;
use Magento \ Framework \ View \ Result \ PageFactory;
Índice de clase extiende Acción
{
protegido $ resultPageFactory;
función pública __construct (Context $ context, PageFactory $ pageFactory)
{
$ this-> resultPageFactory = $ pageFactory;
parent :: __ construct ($ context);
}
función pública execute ()
{
$ resultPage = $ this-> resultPageFactory-> create ();
return $ resultPage;
}
}
Cree el archivo de diseño para esta página en /view/frontend/layout/timestwo_index.xml
<page xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" layout = "1column"
xsi: noNamespaceSchemaLocation = “urn: magento: framework: View / Layout / etc / page_configuration.xsd”>
Ahora haga la plantilla /view/frontend/templates/form.phtml
Ahora haga el controlador para la página de resultados: /Controller/Result.php
<? php
espacio de nombres Su \ Módulo \ Controlador;
use Magento \ Framework \ App \ Action \ Action;
use Magento \ Framework \ App \ Action \ Context;
use Magento \ Framework \ View \ Element \ Messages;
use Magento \ Framework \ View \ Result \ PageFactory;
clase Resultado extiende Acción
{
/ ** @var PageFactory $ resultPageFactory * /
protegido $ resultPageFactory;
/ **
* Resultado constructor.
* @param Context $ context
* @param PageFactory $ pageFactory
* /
función pública __construct (Context $ context, PageFactory $ pageFactory)
{
$ this-> resultPageFactory = $ pageFactory;
parent :: __ construct ($ context);
}
/ **
* La acción del controlador
* *
* @return \ Magento \ Framework \ View \ Result \ Page
* /
función pública execute ()
{
$ número = $ this-> getRequest () -> getParam (‘número’);
$ resultPage = $ this-> resultPageFactory-> create ();
/ ** @var Messages $ messageBlock * /
$ messageBlock = $ resultPage-> getLayout () -> createBlock (
‘Magento \ Framework \ View \ Element \ Messages’,
‘responder’
);
if (is_numeric ($ number)) {
$ messageBlock-> addSuccess ($ número. ‘por 2 es’. ($ número * 2));
}más{
$ messageBlock-> addError (‘¡No ingresaste un número!’);
}
$ resultPage-> getLayout () -> setChild (
‘contenido’,
$ messageBlock-> getNameInLayout (),
‘answer_alias’
);
return $ resultPage;
}
}
Finalmente, /view/frontend/layout/timestwo_result.xml
el diseño xml para la página de resultados en /view/frontend/layout/timestwo_result.xml
<page xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" layout = "1column"
xsi: noNamespaceSchemaLocation = “urn: magento: framework: View / Layout / etc / page_configuration.xsd”>
Ejecute php bin/magento setup:upgrade
para habilitar su módulo, si aún no lo ha hecho. Ahora borra el caché. Vaya a /timestwo
en el navegador para ver el formulario.