在Magento 2中,可以通过以下步骤从ui组件表单中获取数据到控制器:
<?php
namespace Custom\Module\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
protected $request;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\App\Request\Http $request
) {
$this->request = $request;
parent::__construct($context);
}
public function execute()
{
$postData = $this->request->getPostValue();
// 在这里处理表单提交的数据
// $postData包含了表单中的所有字段和对应的值
// 示例:获取名为"email"的字段值
$email = $postData['email'];
// 示例:将数据传递给模板并渲染
$this->_view->loadLayout();
$this->_view->getLayout()->getBlock('custom.block')
->setData('email', $email);
$this->_view->renderLayout();
}
}
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" name="custom.block" template="Custom_Module::custom_template.phtml" />
</referenceContainer>
</body>
</page>
<div>
<p>Email: <?php echo $block->getData('email'); ?></p>
</div>
通过以上步骤,你可以从ui组件表单中获取数据到控制器,并将数据传递给模板进行展示。请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改。
关于Magento 2的更多信息和相关产品,你可以参考腾讯云的Magento云托管服务,详情请访问:Magento云托管。
领取专属 10元无门槛券
手把手带您无忧上云