【问题标题】:Query to search customer by tax/vat on Mysql在 Mysql 上查询按税/增值税搜索客户
【发布时间】:2014-05-24 07:41:03
【问题描述】:

我必须在注册时验证用户是否报告了已在数据库中注册的税/增值税,因此我避免用户注册两次。

我没有找到用于此的模块,因此计划通过 ajax.jquery 进行此检查。

为此,我需要一个页面来查询数据库以查找税/增值税。

我不知道这是否是最好的方法。但是我对magento知之甚少,那就是我想到的。

在 entando 中仍然不知道如何在板凳上进行此查询,并且在我的教程搜索等中没有获得成功。

你读到这里,你能帮我吗?有材料、文章、技巧、例子吗?

感谢您的关注。

【问题讨论】:

    标签: magento magento-1.6 entando


    【解决方案1】:

    我以一种我知道不是最准确的方式进行了验证。 我这样做了:

    注意:我使用 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 的了解很少,所以我可以做到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      相关资源
      最近更新 更多