Hướng dẫn sửa lỗi breadcrumb bị đảo ngược trên NukeViet 4

  Hướng dẫn sửa lỗi breadcrumb bị đảo ngược trên NukeViet 4

Lỗi này xảy ra khi nào?

Trên bản NukeViet 4, cụ thể từ các phiên bản  4.0.24 đến 4.3.03 (fix trên NukeViet 4.3.04). Xảy ra chỉ khi thanh breadcrumb quá dài bị tràn khỏi chiều rộng của giao diện, khi breadceumb ngắn thì không bị lỗi này.

Lỗi này liên quan đến giao diện mặc định hoặc các giao diện xây dựng bằng cách copy từ giao diện mặc định.

Cách sửa lỗi

Mở file themes/giao-dien-cua-ban/js/main.js tìm hàm sau
// Breadcrumbs
function nvbreadcrumbs() {
    if (brcb.length) {
        var g = $(".display", brcb).innerWidth() - 40,
            b = $(".breadcrumbs", brcb),
            h = $(".temp-breadcrumbs", brcb),
            e = $(".subs-breadcrumbs", brcb),
            f = $(".show-subs-breadcrumbs", brcb),
            a = [],
            c = !1;
        h.find("a").each(function() {
            a.push([$(this).attr("title"), $(this).attr("href")]);
        });
        b.html("");
        e.html("");
        for (i = a.length - 1; 0 <= i; i--) {
            if (!c) {
                var d = 0;
                b.prepend('<li id="brcr_' + i + '" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="' + a[i][1] + '"><span itemprop="title">' + a[i][0] + "</span></a></li>");
                b.find("li").each(function() {
                    d += $(this).outerWidth(!0);
                });
                d > g && (c = !0, $("#brcr_" + i, b).remove());
            }
            c && e.append('<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="' + a[i][1] + '"><span itemprop="title"><em class="fa fa-long-arrow-up"></em> ' + a[i][0] + "</span></a></li>");
        }
        c ? f.removeClass("hidden") : f.addClass("hidden");
    }
}
Thay thế thành 
// Breadcrumbs
function nvbreadcrumbs() {
    if (brcb.length) {
        var g = $(".display", brcb).innerWidth() - 40,
            b = $(".breadcrumbs", brcb),
            h = $(".temp-breadcrumbs", brcb),
            e = $(".subs-breadcrumbs", brcb),
            f = $(".show-subs-breadcrumbs", brcb),
            a = [],
            c = !1;
        h.find("a").each(function() {
            a.push([$(this).attr("title"), $(this).attr("href")]);
        });
        b.html("");
        e.html("");
        for (i = a.length - 1; 0 <= i; i--) {
            if (!c) {
                var d = 0;
                b.prepend('<li id="brcr_' + i + '"><a href="' + a[i][1] + '"><span>' + a[i][0] + "</span></a></li>");
                b.find("li").each(function() {
                    d += $(this).outerWidth(!0);
                });
                d > g && (c = !0, $("#brcr_" + i, b).remove());
            }
            c && e.append('<li><a href="' + a[i][1] + '"><span><em class="fa fa-long-arrow-up"></em> ' + a[i][0] + "</span></a></li>");
        }
        c ? f.removeClass("hidden") : f.addClass("hidden");
    }
}
Cụ thể:

Xóa các phần itemscope, itemtype, itemprop trong thẻ <li> được build lại.

Chú ý: Nếu không tìm thấy file themes/giao-dien-cua-ban/js/main.js tức là giao diện của bạn không gặp lỗi này.
Tags: NukeViet sửa lỗi nukeviet Github
  0 Bình luận
Chia sẻ:  

Hiển thị báo lỗi khi website bị lỗi 500 internal server error
Hướng dẫn thêm trình soạn thảo Ckeditor vào một module NukeViet

Đăng kí nhận tin mới
Hãy để lại email của bạn, tôi sẽ thông báo với bạn khi có bài viết mới nhất.
Bạn đã không sử dụng site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây