/Submit.php/
**<?php
namespace EaglerocketCustomquoteControllerIndex;
use MagentoFrameworkAppActionContext;
use MagentoFrameworkViewResultPageFactory;
use EaglerocketCustomquoteModelExtensionFactory;
use MagentoFrameworkControllerResultFactory;
use MagentoFrameworkAppActionAction;
class Submit extends Action
{
protected $resultPageFactory;
protected $extensionFactory;
public function __construct(
Context $context,
PageFactory $resultPageFactory,
ExtensionFactory $extensionFactory
)
{
$this->resultPageFactory = $resultPageFactory;
$this->extensionFactory = $extensionFactory;
parent::__construct($context);
}
public function execute()
{
try {
$data = (array)$this->getRequest()->getPost();
if ($data) {
$model = $this->extensionFactory->create();
$model->setData($data)->save();
$this->messageManager->addSuccessMessage(__("Data Saved Successfully."));
}
} catch (Exception $e) {
$this->messageManager->addErrorMessage($e, __("We can't submit your request, Please try again."));
}
$resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
$resultRedirect->setUrl($this->_redirect->getRefererUrl());
return $resultRedirect;
}
}**
/addtocart.phtml/
<?php $_product = $block->getProduct(); ?>
<?php $buttonTitle = __('Add to Cart'); ?>
<?php $buttonTitl = __('Get Quote'); ?>
<?php if ($_product->isSaleable()) :?>
<div class="box-tocart">
<div class="fieldset">
<?php if ($block->shouldRenderQuantity()) :?>
<div class="field qty">
<label class="label" for="qty"><span><?= $block->escapeHtml(__('Qty')) ?></span></label>
<div class="control">
<input type="number"
name="qty"
id="qty"
min="0"
value="<?= $block->getProductDefaultQty() * 1 ?>"
title="<?= $block->escapeHtmlAttr(__('Qty')) ?>"
class="input-text qty"
data-validate="<?= $block->escapeHtml(json_encode($block->getQuantityValidators())) ?>"
/>
</div>
</div>
<?php endif; ?>
<div class="actions">
<button type="submit"
title="<?= $block->escapeHtmlAttr($buttonTitle) ?>"
class="action primary tocart"
id="product-addtocart-button" disabled>
<span><?= $block->escapeHtml($buttonTitle) ?></span>
</button>
<?= $block->getChildHtml('', true) ?>
<button type="submit"
title="<?= $block->escapeHtmlAttr($buttonTitl) ?>"
class="action primary"
disabled>
<span><?= $block->escapeHtml($buttonTitl) ?></span>
</button>
</div>
</div>
</div>
<a href="#" id="click-me">Get Quote</a>
<div id="popup-modal" style="display:none;">
<form class="form" id="custom-form" method="post"
action="<?php echo $block->getBaseUrl().'customquote/index/submit'; ?>"
autocomplete="off">
<fieldset class="fieldset">
<div class="field required">
<label for="product_name" class="label"><span><?php echo __('Product Name') ?></span></label>
<div class="control">
<input type="text" name="product_name"
id="product_name" value="<?php echo $_product->getName();?>"
title="<?php echo __('Product Name') ?>" class="input-text" disabled>
</div>
</div>
<div class="field required">
<label for="answer_name" class="label"><span><?php echo __('Answer Name') ?></span></label>
<div class="control">
<textarea name="answer"></textarea>
<!-- <input type="text" name="product_name"
id="product_name" value="<?php //echo $_product->getName();?>"
title="<?php //echo __('Product Name') ?>" class="input-text" disabled> -->
</div>
</div>
</fieldset>
<div class="actions-toolbar">
<div class="primary">
<button type="submit" class="action submit primary"
title="<?php echo __('Submit') ?>">
<span><?php echo __('Submit') ?></span>
</button>
</div>
</div>
</form>
</div>
<script>
require(
[
'jquery',
'Magento_Ui/js/modal/modal'
],
function(
$,
modal
) {
var options = {
type: 'popup',
responsive: true,
innerScroll: true,
title: 'Get Quote',
buttons: [{
text: $.mage.__('Continue'),
class: '',
click: function () {
this.closeModal();
}
}]
};
var popup = modal(options, $('#popup-modal'));
$("#click-me").on('click',function(){
$("#popup-modal").modal("openModal");
});
}
);
</script>
<?php endif; ?>
<script type="text/x-magento-init">
{
"#product_addtocart_form": {
"Magento_Catalog/js/validate-product": {}
}
}
</script>