在Magento 2中,可以通过以下步骤将phtml文件中的输入值传递给block类:
<input type="text" name="input_value" id="input_value" />
<script>
require(['jquery'], function($) {
$(document).ready(function() {
$('#input_value').on('change', function() {
var inputValue = $(this).val();
$.ajax({
url: '<?php echo $block->getUrl("module/controller/action"); ?>',
type: 'POST',
data: {input_value: inputValue},
success: function(response) {
// 处理响应
}
});
});
});
});
</script>
<?php
namespace Vendor\Module\Controller\ControllerName;
class ActionName extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute()
{
$inputValue = $this->getRequest()->getParam('input_value');
$block = $this->_view->getLayout()->getBlock('block_name');
$block->setData('input_value', $inputValue);
return $this->resultPageFactory->create();
}
}
<?php
namespace Vendor\Module\Block;
class BlockName extends \Magento\Framework\View\Element\Template
{
protected $inputValue;
public function setInputValue($inputValue)
{
$this->inputValue = $inputValue;
}
public function getInputValue()
{
return $this->inputValue;
}
}
通过以上步骤,你可以将phtml文件中的输入值传递给block类,并在block类中获取和处理这些值。请注意,上述代码仅为示例,实际实现可能需要根据具体情况进行调整。
关于Magento 2的更多信息和相关产品,你可以访问腾讯云的Magento 2产品介绍页面:Magento 2产品介绍
领取专属 10元无门槛券
手把手带您无忧上云