내 phtml 파일 중 하나에 간단한 버튼을 추가했습니다.
<input type='button' name='emq_zip_btn' class='emq_zip_btn' value='Go'>
사용자 정의 모듈 (Ved_Mymodule)에서 하나의 사용자 정의 js 파일 ( "emq.js")을 추가했습니다.
require([
"jquery",
"jquery/ui"
], function($v){
//<![CDATA[
$v = jQuery.noConflict();
$v(document).ready(function()
{
console.log('jquery loaded from emq.js');
$v(".emq_zip_btn").on('click',function(e)
{
console.log('clicked');
});
});
//]]>
});
위 버튼을 클릭하면 "clicked"가 콘솔에 인쇄됩니다. 즉, jQuery가 올바르게 작동합니다.
다음은 사용자 지정 모듈 Ved_Mymodule의 컨트롤러 파일입니다.
Ved \ Mymodule \ Controller \ Index \ Index.php :
<?php
namespace Ved\Mymodule\Controller\Index;
use Ved\Mymodule\Model\NewsFactory;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
class Index extends Action
{
/**
* @var \Tutorial\SimpleNews\Model\NewsFactory
*/
protected $_modelNewsFactory;
/**
* @param Context $context
* @param NewsFactory $modelNewsFactory
*/
public function __construct(
Context $context,
NewsFactory $modelNewsFactory
) {
parent::__construct($context);
$this->_modelNewsFactory = $modelNewsFactory;
}
public function execute()
{
}
}
Ved / Mymodule / etc / frontend / routes.xml :
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/
App/etc/routes.xsd">
<router id="standard">
<route id="news" frontName="news">
<module name="Ved_Mymodule" />
</route>
</router>
내 질문은이 컨트롤러 메소드에서 데이터를 반환 한 다음 jQuery를 통해 액세스하는 방법입니다. 즉, 버튼을 클릭 한 후 간단한 아약스 호출을 만드는 방법입니다.
vedu 당신은 제품 세부 사항 페이지에 cuctom 확인란을 추가해야 괭이를 설명 할 수 있습니까? 체크했을 때 장바구니에 업데이트 할 prodct 가격에 $ 0.50를 추가하고 싶습니다
—
Ashwini