我以一种我知道不是最准确的方式进行了验证。
我这样做了:
注意:我使用 One Step Checkout 模块巴西和 Youama Ajax Login 和
注册,其中 adcionei 记录中的一些字段,作为税。
可能这对其他人没有用,但不想
不回答这个问题。但是,如果有人有任何其他问题
建议,请告诉我,我将不胜感激。
1 - 第一步:
在 app/code/core/Mage/Page/etc/config.xml
添加:
<checktaxvat module="page" translate="label">
<label>Check taxvat</label>
<template>page/checktaxvat.phtml</template>
<layout_handle>page_checktaxvat</layout_handle>
</checktaxvat>
2 - 第二步:
因此,使用以下代码创建一个新文档:
<?php
$requi = $_SERVER["HTTP_REFERER"];
$requi= strtolower("/$requi/"); //
$server = $_SERVER['SERVER_NAME'];
$server= strtolower("/$server/");
if(preg_match($server, $requi) == 0){
header("Location: http://www.url");
die();
}
if(isset($_POST) && isset($_POST['taxvat']) && $_POST['taxvat'] != ""){
$read = Mage::getSingleton('core/resource')->getConnection('core_read');
if(isset($_POST['taxvatAt']) && $_POST['taxvatAt'] != ""){
$qry = "SELECT * FROM customer_entity_varchar WHERE `value` = '".addslashes($_POST['taxvat'])."' AND `value` != '".addslashes($_POST['taxvatAt'])."'";
}else{
$qry = "SELECT * FROM customer_entity_varchar WHERE `value` = '".addslashes($_POST['taxvat'])."'";
}
$res = $read->fetchAll($qry);
//$result = $read->fetchAll($sql);
$total_rows = count($res);
if($total_rows > 0){
echo 0;
}else{
echo 1;
}
}else{
echo "null";
}
die;
?>
保存在 app/design/frontend/default/magento-bootstrap/template/page/checktaxvat.phtml
3 - 第三步:
Magento 管理员 -> CMS -> 页面 -> 添加新页面
在信息页面中:
页面标题 = 检查税金
关键网址 = checktaxvat
设计方面:
检查税金 = 检查税金
然后保存创建页面
4 - 第四步
在 app/design/frontend/base/default/template/youama/ajaxlogin/ajaxlogin.phtml 中
添加代码
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("input[name=youama-taxvat]").focusout(function() {
jQuery.ajax({
type: "POST",
data: {'taxvat': jQuery("input[name=youama-taxvat]").val()},
url: "http://url/checktaxvat",
success: function (data) {
if(data == 0){
alert("taxvat já cadastrado!");
jQuery("input[name=youama-taxvat]").val("");
}
}
});
});
});
</script>
5 - 第五步
在 app/design/frontend/base/default/template/onepagecheckout/persistent/customer/form/edit.phtml 中
添加代码
<script type="text/javascript">
jQuery(document).ready(function(){
taxvatAt = "<?php echo $this->htmlEscape($this->getCustomer()->getTaxvat()) ?>";
jQuery("input[name=taxvat]").focusout(function() {
jQuery.ajax({
type: "POST",
data: {'taxvat': jQuery("input[name=taxvat]").val(), 'taxvatAt': "<?php echo $this->htmlEscape($this->getCustomer()->getTaxvat()) ?>"},
url: "http://url/checktaxvat",
success: function (data) {
if(data == 0){
alert("taxvat já cadastrado!");
jQuery("input[name=taxvat]").val("");
}
}
});
});
});
</script>
6 - 第六步
在 app/design/frontend/base/default/template/onepagecheckout/onepage/billing.phtml 中
添加代码
<script type="text/javascript">
jQuery(document).ready(function(){
if(typeof taxvatAt=='undefined'){
taxvatAt = "<?php echo $this->htmlEscape($this->getCustomer()->getTaxvat()) ?>";
}
jQuery.ajax({
type: "POST",
data: {'taxvat': jQuery("input[name='billing[taxvat]']").val(), 'taxvatAt': taxvatAt },
url: "http://url/checktaxvat",
success: function (data) {
if(data == 0){
alert("taxvat já cadastrado!");
jQuery("input[name='billing[taxvat]']").val("");
}
}
});
});
</script>
7 - 第七步
在 skin/frontend/base/default/js/onepagecheckout.js 中
BillingAddress.prototype 将函数 newAddress 定位并替换为:
newAddress: function (isNew) {
if (isNew) {
this.resetSelectedAddress();
Element.show('bill_form');
if(jQuery("input[name='billing[taxvat]']").val() !=""){
taxvatAt = jQuery("input[name='billing[taxvat]']").val();
}
} else {
Element.hide('bill_form');
}
}
好吧,这解决了我的问题,但我意识到这不是正确的方法,但由于我对 magento 的了解很少,所以我可以做到。