首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多语言处于活动状态时调整强制ajax过滤器

如何在多语言处于活动状态时调整强制ajax过滤器
EN

Stack Overflow用户
提问于 2018-12-10 19:30:24
回答 1查看 26关注 0票数 0

我目前正在我的网站上建立对多种语言的支持。网站的主要语言是荷兰语,我增加了英语。一切都很好,但我博客上的ajax类别过滤器却不是这样。

荷兰语版本工作正常,英语版本就不行了。

分类过滤器似乎在英文版的博客上生成了正确的url,但它并没有显示正确的帖子:当你点击分类过滤器的英文版上的一个分类时,它会返回每一篇荷兰语的帖子(这是主要语言)。

同样的事情也发生在分页上...

我就是想不出怎么解决这个问题。这是正在使用的JS (底部是分页,顶部是类别过滤器):

代码语言:javascript
复制
$(function() {

  // Filter projects and posts
  $(document).on("change", ".category-selection-field input[type=checkbox]", function(){
    var slugs = $('.category-selection-field input[type=checkbox]:checked')
                  .map(function(){return $(this).attr("data-slug")})
                  .get()
                  .join(",");
    var post_type = $(this).attr("data-post-type");
    var get_url = "/apis?categories="+slugs+"&post_type="+post_type;

    window.history.pushState(null, null, "?categories=" + slugs);
    $.ajax({url: get_url , success: function(result){
      $("#post-card-container").html(result).hide().fadeIn(500);
    }});
  });

  // Ajaxify the pagination
  $(document).on("click", ".paginate-navigation-js a", function(e){
    e.preventDefault();

    var stored_params = $(this).attr("href").split("?")[1];
    if(!stored_params.includes("post_type")){
      stored_params += "&post_type=" + $(".category-selection-field input[type=checkbox]").attr("data-post-type");
    }
    var get_url = "/apis?"+stored_params;

    if(get_url != ""){
      $.ajax({url: get_url , success: function(result){
        $("#post-card-container").html(result).hide().fadeIn(500);
        $('html,body').animate({
          scrollTop: $("#post-card-container").offset().top
        }, 500);
      }});
    }
  })

});

有没有办法解决这个问题?我猜想这是一个url的问题,因为/en/添加到网站的英文版本的url?

该网站是用html/liquid建立的。如果您需要更多信息,请让我知道。

The url of the Dutch blog (这是主语言url)

The url of the English blog (这就是问题所在)

我真的希望你们能帮我解决这个问题,因为我迷路了!:)

EN

回答 1

Stack Overflow用户

发布于 2018-12-11 01:00:12

不要紧,我可以通过将HTML标记更改为:

<html lang={{request.language}}>

并将js更改为:

代码语言:javascript
复制
$(function() {

  // Filter projects and posts
  var lang = $("html").attr("lang");
  $(document).on("change", ".category-selection-field input[type=checkbox]", function(){
    var slugs = $('.category-selection-field input[type=checkbox]:checked')
                  .map(function(){return $(this).attr("data-slug")})
                  .get()
                  .join(",");
    var post_type = $(this).attr("data-post-type");
    var get_url = "/"+ lang +"/apis?categories="+slugs+"&post_type="+post_type;

    window.history.pushState(null, null, "?categories=" + slugs);
    $.ajax({url: get_url , success: function(result){
      $("#post-card-container").html(result).hide().fadeIn(500);
    }});
  });

  // Ajaxify the pagination
  $(document).on("click", ".paginate-navigation-js a", function(e){
    e.preventDefault();

    var stored_params = $(this).attr("href").split("?")[1];
    if(!stored_params.includes("post_type")){
      stored_params += "&post_type=" + $(".category-selection-field input[type=checkbox]").attr("data-post-type");
    }
    var get_url = "/"+ lang +"/apis?"+stored_params;

    if(get_url != ""){
      $.ajax({url: get_url , success: function(result){
        $("#post-card-container").html(result).hide().fadeIn(500);
        $('html,body').animate({
          scrollTop: $("#post-card-container").offset().top
        }, 500);
      }});
    }
  })

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53704745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档