Bài viết mới
  • Tin Tức - Thủ Thuật - Download - Lập Trình

    Friday, September 23, 2016

    Bài Viết Liên Quan Trên Sidebar (Related post Sidebar) cho Blogspot

    Posted by   on Pinterest

    Cách thực hiện

    Chú ý: Trước khi thực hiện bất cứ thủ thuật gì bạn nên sao lưu lại 1 bản template phòng khi bị hỏng thì có thể dễ dàng phục hồi

    Bước 1. Đăng nhập Blogger, vào Bố cục>> Thêm tiện ích >> Thêm 1 HTML/Javascript
    Đặt tên cho tiện ích (Bài viết liên quan), dán vào phần nội dung tiện ích bằng đoạn code sau đây (Lưu ý mình đã chú ý script để các bạn có thể hiểu tường tận hơn, có thể tùy biến CSS theo ý thích của bạn). (Thay các thông số cho phù hợp với blog của bạn)
    <script type="text/javascript">
    // Recent and Related Posts for Label on Sidebar
    var post_per_page = 5; // thiết lập số bài viết hiển thị mỗi trang
    var post_snippet = 70; // thiết lập số ký tự tóm tắt bài viết
    var homepage = "http://chiase-thuthuat.blogspot.com"; // đặt địa chỉ trang chủ của bạn
    var img_default = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ4Hj5ovLPDLdn7icWZBpzx6BAegM0Htz_9ZlYHVmm4LPpbU4raCINi81aQcxX_74onRLFPlrfZG8vixJxq8we797K5w9m8I9tDBNtBClKTBvGyofIBVd-9RECF1w2M8azLheyFos6cBo/s1600/recentpostnothumb.png"; // thiết lập URL hình mặc định
    var pr_flagfirst = 0;
    var url_prev, url_next;
    // chức năng tạo tóm tắt bài viết
    function removeHtmlTag(strx,chop){
    var summary = strx.split("<");
    for(var i=0;i<summary.length;i++){
    if(summary[i].indexOf(">")!=-1){
    summary[i] = summary[i].substring(summary[i].indexOf(">")+1,summary[i].length);
    }
    }
    summary = summary.join("");
    summary = summary.substring(0,chop-1);
    return summary;
    }
    // chức năng tạo biến
    function showpagelabel(json) {
    var entry, posttitle, posturl, postimg, postcontent;
    var str_out = "";
    // tìm URL phân trang
    for (var k = 0; k < json.feed.link.length; k++) {
    if (json.feed.link[k].rel == 'previous') {
    // đây là trang trước
    url_prev = json.feed.link[k].href;
    }
    if (json.feed.link[k].rel == 'next') {
    // đây là trang sau
    url_next = json.feed.link[k].href;
    }
    }
    // đọc và xác định bài viết
    for (var i = 0; i < post_per_page; i++) {
    // nếu không có thì kết thúc lệnh
    if (i == json.feed.entry.length) { break; }
    entry = json.feed.entry[i];
    // đây là tiêu đề bài viết
    posttitle = entry.title.$t;
    // tìm URL bài viết
    for (var k = 0; k < entry.link.length; k++) {
    if (entry.link[k].rel == 'alternate') {
    // lưu trữ nó
    posturl = entry.link[k].href;
    break;
    }
    }
    // tìm nội dung bài viết và lưu trữ nó
    if ("content" in entry) {
    postcontent = entry.content.$t;
    } else if ("summary" in entry) {
    postcontent = entry.summary.$t;
    } else {
    postcontent = "";
    }
    // tìm ảnh đại diện hoặc sử dụng ảnh mặc định
    if ("media$thumbnail" in entry) {
    postimg = entry.media$thumbnail.url;
    } else {
    postimg = img_default;
    }
    // kết thúc đọc, tạo code HTML
    str_out += "<div class='pagi_label'>";
    str_out += "<a href='" + posturl + "' target='_blank'><img src='" + postimg + "' /></a>";
    str_out += "<h6>
    <a href='" + posturl + "' target='_blank'>" + posttitle + "</a></h6>
    ";
    str_out += "<p>
    " + removeHtmlTag(postcontent,post_snippet) + " ...</p>
    ";
    str_out += "</div>
    ";
    }
    // kết thúc lệnh và viết kết quả
    document.getElementById("Sidebar_Label").innerHTML = str_out;
    // tạo phần phân trang
    str_out = "";
    // nếu có trang trước, tạo link nhưng chỉ có text
    if(url_prev) {
    str_out += "<a href='javascript:navi_pagi_label(-1);' class='previous'>Prev</a>";
    } else {
    str_out += "<span class='disabled previous'>Prev</span>";
    }
    // nếu có trang sau, tạo link nhưng chỉ có text
    if(url_next) {
    str_out += "<a href='javascript:navi_pagi_label(1);' class='next'>Next</a>";
    } else {
    str_out += "<span class='disabled next'>Next</span>";
    }
    // tạo link cho trang đầu
    str_out += "<a href='javascript:navi_pagi_label(0);' class='first'>First</a>";
    // viết code
    document.getElementById("PR_Label_Sidebar").innerHTML = str_out;
    }
    // chức năng tạo địa chỉ feed sẽ đọc
    function navi_pagi_label(direction){
    var p, parameters;
    if(direction==-1) {
    // trang trước
    p = url_prev.indexOf("?");
    parameters = url_prev.substring(p);
    } else if (direction==1) {
    // trang sau
    p = url_next.indexOf("?");
    parameters = url_next.substring(p);
    } else {
    // trang đầu
    parameters = "?start-index=1&max-results=" + post_per_page + "&orderby=published&alt=json-in-script"
    }
    parameters += "&callback=showpagelabel";
    include_script(parameters);
    }
    // đây là chức năng load script động
    function include_script(parameters) {
    // nếu không phải lần đầu tiên thì loại script trên
    if(pr_flagfirst==1) {remover_script();}
    // xóa mọi thứ và đặt một dòng text hoặc ảnh load
    document.getElementById("Sidebar_Label").innerHTML = "<div id='loading_script'>
    </div>
    ";
    document.getElementById("PR_Label_Sidebar").innerHTML = "";
    // đây là lưu trữ feed
    var archive_feeds = homepage + "/feeds/posts/default/-/" + label_Related + parameters;
    // load và cho chạy
    var nouvo = document.createElement('script');
    nouvo.setAttribute('type', 'text/javascript');
    nouvo.setAttribute('src', archive_feeds);
    nouvo.setAttribute('id', 'LABELTEMPORAL');
    document.getElementsByTagName('head')[0].appendChild(nouvo);
    pr_flagfirst = 1;
    }
    // đây là chức năng loại bỏ script đã được load trước
    function remover_script() {
    var that = document.getElementById("LABELTEMPORAL");
    var father = that.parentNode;
    father.removeChild(that);
    }
    // khi load trang thì bắt đầu chức năng
    onload=function() { navi_pagi_label(0); }
    </script>
    <style type="text/css">
    #Sidebar_Label {margin: 0 auto;width:100%}
    .pagi_label {background-color: #ffffff;border-bottom: 1px dashed #101921;height: 72px;margin: 5px 0;padding: 5px;width: 300px;}
    .pagi_label img {float: left;height: 70px;padding:1px;margin: 0 5px 3px;width: 70px;}
    .pagi_label h6, .pagi_label h6 a {margin:0;font-size:12px !important;font-weight:normal !important;color:#069}
    .pagi_label:hover {-moz-box-shadow: 0px 0px 60px #505961 inset;}
    .pagi_label p {font-size:12px;padding:0 3px 3px}
    #loading_script {color:#888;font-family:Century Gothic;font-size:100px;letter-spacing:-10px;text-align:center;text-shadow:-5px 0 1px #444; background: #ffffff url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqDgLiTNU9wEiW6SCs8n45-jVn8LHUhLBuielCKZ_8Kndo8VLKPRK59j8OlfLVnsP4r5ECcZWAo28mCFuFYZyjrxTvPsu8-O1-YZCdNaQY5_n6-W1RRWfmd4q47i_-9pvgVQISrrHQo60/) no-repeat 50% 50%; height:489px; width:100%}
    #PR_Label_Sidebar {background-color: #ffffff;color: #BBB;font-family: Tahoma;font-size: 18px;text-align: center;margin:0 auto;width:100%}
    #PR_Label_Sidebar a {color: #BBB !important;font-family: Tahoma !important;font-size: 18px !important;font-weight: normal !important;padding: 5px 10px;display:block;}
    #PR_Label_Sidebar a:hover {color: #069 !important;}
    #PR_Label_Sidebar span {padding: 5px 10px;}
    #PR_Label_Sidebar span.disabled {color: #666 !important;}
    #PR_Label_Sidebar .next {float:right;}
    #PR_Label_Sidebar .previous {float:left;}
    #PR_Label_Sidebar .first {text-align:center;}
    </style>
    <div id="Sidebar_Label">
    </div>
    <div id="PR_Label_Sidebar">
    </div>

    Bước 2. Vào Mẫu >> Chỉnh sửa HTML. Dùng (Ctrl + F) tìm từ khóa "Bài cùng chủ đề" (tên tiện ích bạn vừa đặt) mà bạn mới đặt tên cho Widget của tiện ích rồi thay nó thành như sau (phần đánh dấu màu đỏ là phần thêm vào):

    <b:widget id='HTML1' locked='false' title='Bài cùng chủ đề' type='HTML'>
    <b:includable id='main'>
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <!-- only display title if it's non-empty -->
    <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
    </b:if>
    <div class='widget-content'>
    <data:content/>
    </div>
    <b:include name='quickedit'/>
    </b:if>
    </b:includable>
    </b:widget>


    Bước 3. Dùng các từ khóa như: <b:loop values='data:post.labels' var='label'> Và thay thế bằng:
    <b:loop values='data:post.labels' var='label'>
    <script>var label_Related=&quot;<data:label.name/>&quot;;</script>

    Lưu lại và hoàn thành !

    No comments:
    Write comments

    Chia Sẻ Thủ Thuật Máy Tính - Học Làm IT
    Đăng Ký Nhận Tin