Saltar al contenido

Magento 2: envíe los datos del formulario al controlador usando AJAX y devuelva el resultado a PHTML

Ya no tienes que indagar más en internet ya que has llegado al sitio necesario, poseemos la solución que necesitas hallar pero sin problema.

Solución:

Diseño de cálculo –

Proveedor / Módulo / vista / frontend / layout / module_index_index.xml


    
        Calculator
     
    
        
            
        
    

Entrada de cálculo PHTML –

Proveedor / Módulo / vista / frontend / templates / calculate.phtml

Cuadra –

Proveedor / Módulo / Bloque / Index.php

_storeManager = $storeManager;
        parent::__construct($context);
    

    public function getBaseUrl()
    
        return $this->_storeManager->getStore()->getBaseUrl();
    

    public function getHeightData()
    
        return $this->getHeight();
    

    public function getWeightData()
    
        return $this->getWeight();
    

Controlador de cálculo –

Proveedor / Módulo / Controlador / Índice / Index.php

resultPageFactory = $pageFactory;
        parent::__construct($context);
    


    /**
    * The controller action
    *
    * @return MagentoFrameworkViewResultPage
    */
    public function execute()
    
        $resultPage = $this->resultPageFactory->create();
        return $resultPage;
    

Controlador de página de resultados –

Proveedor / Módulo / Controlador / Resultado / Result.php

resultPageFactory = $resultPageFactory;
        $this->resultJsonFactory = $resultJsonFactory; 
        return parent::__construct($context);
    


    public function execute()
    
        $height = $this->getRequest()->getParam('height');
        $weight = $this->getRequest()->getParam('weight');
        $result = $this->resultJsonFactory->create();
        $resultPage = $this->resultPageFactory->create();

        $block = $resultPage->getLayout()
                ->createBlock('VendorModuleBlockIndex')
                ->setTemplate('Vendor_Module::result.phtml')
                ->setData('height',$height)
                ->setData('weight',$weight)
                ->toHtml();

        $result->setData(['output' => $block]);
        return $result;
     

Archivo de diseño de resultados –

Proveedor / Módulo / vista / frontend / layout / module_result_result.xml


    
        Result
     
    
        
            
        
    

Archivo PHTML de resultado –

Proveedor / Módulo / vista / frontend / templates / result.phtml

getHeightData();
    echo $block->getWeightData();

?>

Sección de Reseñas y Valoraciones

Recuerda algo, que tienes la opción de esclarecer .

¡Haz clic para puntuar esta entrada!
(Votos: 4 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *