BLOG ĐANG TRONG THỜI GIAN PHÁT TRIỂN, MONG SỰ QUAN TÂM CỦA MỌI NGƯỜI DÀNH CHO BLOG MỚI NÀY CỦA HUNG.PRO.VN

[BLOGGER] Nâng cấp Threaded Comments Blogger với ảnh, video và syntax

[BLOGGER] Nâng cấp Threaded Comments Blogger với ảnh, video và syntax
3 min read
Xin chào các bạn, ở bài viết trước tôi đã hướng dẫn cho các bạn cách chèn bộ icon tùy chỉnh vào Threaded Comments Blogger, và trong bài viết này chúng ta sẽ tăng lực cho nó bằng việc chèn thêm ảnh, video youtubesyntax code
[BLOGGER] Nâng cấp Threaded Comments Blogger với ảnh, video và syntax

Khung bình luận của blogger thô sơ tới nỗi chèn vài thẻ html cơ bản vào cũng bị cấm, vì vậy không còn cách nào khác ta cần tạo các short code và sử dụng js để chuyển chúng về tag html. Nói vậy có nghĩa không chỉ có ảnh (thẻ img), video (thẻ iframe), syntax code (thẻ pre) mà với bất kì thẻ html cơ bản nào ta đều có thể dùng js để biến đổi được
 
Trong bài viết này tôi sử dụng SyntaxHighlighter 3.0.83 (theme Eclipse, 3 module js-html-css) phục vụ cho làm đẹp code và fancybox 3.3.5 phục vụ cho việc xem ảnh trong khung bình luận ở chế độ lightbox. Và đương nhiên điều kiện bắt buộc là bạn không tắt blogger comment trên trang của mình

Đăng nhập vào trang quản trị và vào mục chỉnh sửa HTML
Tìm tới <b:includable id='threaded_comments' var='post'> mở rộng nó ra và chèn code js vào SAU <div class='comments-content'> như hình
[BLOGGER] Nâng cấp Threaded Comments Blogger với ảnh, video và syntax

FULL ĐOẠN CODE

<!-- Required for SyntaxHighlighter -->
<script src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js'/>

<!-- Custom Theme for SyntaxHighlighter : http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/ -->
<link href='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCoreEclipse.min.css' rel='stylesheet' type='text/css'/>
<link href='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeEclipse.min.css' rel='stylesheet' type='text/css'/>

<!-- Module for SyntaxHighlighter : http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/ -->
<script src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.min.js'/>
<script src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJScript.min.js'/>
<script src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCss.min.js'/>

<!-- Required for fancybox -->
<link href='//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.css' rel='stylesheet' type='text/css'/>

<script type='text/javascript'>
//<![CDATA[
function smartComment() {
    a = document.getElementById("comment-holder");
    b = a.innerHTML;
    b = b.replace(/\[pre\]/gi, "<pre>");
    b = b.replace(/\[pre js\]/gi, "<pre class='brush:js'>");
    b = b.replace(/\[pre html\]/gi, "<pre class='brush:html'>");
    b = b.replace(/\[pre css\]/gi, "<pre class='brush:css'>");
    b = b.replace(/\[\/pre\]/gi, "</pre>");
    b = b.replace(/\[img\].*?'.*?\[\/img\]/gi, "");
    b = b.replace(/\[img\]/gi, "<img data-fancybox='gallery' src='");
    b = b.replace(/\[\/img\]/gi, "'/>");
    b = b.replace(/\[youtube\].*?'.*?\[\/youtube\]/gi, "");
    b = b.replace(/\[youtube\]https:\/\/youtu.be/gi, "<iframe width='560' height='315' src='https://www.youtube.com/embed");
    b = b.replace(/\[youtube\]https:\/\/www.youtube.com\/watch\?v=/gi, "<iframe width='560' height='315' src='https://www.youtube.com/embed/");
    b = b.replace(/&amp;feature=/gi, "?rel=0' '");
    b = b.replace(/\[\/youtube\]/gi, "?rel=0' frameborder='0' allowfullscreen></iframe>");
    a.innerHTML = b
}
smartComment();

$("#comment-holder img").each(function() {
    $(this).attr('data-src', $(this).attr("src"));
});

SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();

$(window).on('load', function() {
    var t = document.createElement("script");
    t.src = "//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js";
    document.body.appendChild(t);
    $("#comment-holder img[data-fancybox]").fancybox();
});
//]]></script>

Trong đó
  • + Ảnh và video bạn không cần chỉnh sửa gì
  • + Themes cho SyntaxHighlighter bạn lấy list tại http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/ và lấy link nhúng tại https://cdnjs.com/libraries/SyntaxHighlighter
  • + Phần short code bạn có thể tùy chỉnh thêm bớt các module. Lấy list module tại http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/ và lấy link nhúng tại https://cdnjs.com/libraries/SyntaxHighlighter
Ví dụ tôi muốn thêm syntax cho code php thì phải thêm link nhúng
<script src='//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPhp.min.js'/>
và tạo thêm short code
b = b.replace(/\[pre php\]/gi, "<pre class='brush:php'>");

Phần màu đỏ là short code bạn tự tạo tùy thích, phần màu xanh phải chuẩn Brush aliases của SyntaxHighlighter không code nó không làm đẹp đâu nhé
 
Theo đó với code trình bày ở trên các short code khi bình luận sẽ là
  • chèn ảnh: [img]link ảnh[/img]
  • chèn video youtube: [youtube]link video[/youtube]
  • chèn code HTML: [pre html]code[/pre]
  • chèn code CSS: [pre css]code css[/pre]
  • chèn code JS: [pre js]code js[/pre]
... (bạn có thể thêm các module syntax tùy theo mục đích sử dụng)
Link ảnh: là link dạng trực tiếp ví dụ https://i.imgur.com/0GZdCna.jpg Link video: là link video trên youtube, copy trên thanh địa chỉ của trình duyệt ví dụ https://www.youtube.com/watch?v=MhQKe-aERsU

Các đoạn code js, html, css phải được convert các kí tự đặc biệt, bạn có thể tự tạo tool convert để người dùng chuyển đổi trước khi bình luận
 
KẾT LUẬN: kết hợp với bộ icon và thêm các chức năng trong bài viết này, chắc chắn khung bình luận blog của bạn sẽ rất đắt khách.
 
Để lại bình luận nếu gặp khó khăn và chúc thành công !
DEMO Ở KHUNG BÌNH LUẠN Ở BÀI VIẾT NÀY.

Bạn có thể thích những bài đăng này

  •  Hi mọi người, sau một thời gian tìm hiểu về các thuật toán và thủ thuật về SEO để tăng lượt tìm kiếm từ GOOGLE về SEO mình đã tìm thấy một chương trình cũng khá ok về việc nà…
  • So you try to use the Code to automatically add Logo to the image for Blogspot, also known as the JQuery Watermark Plugin of this article. Advantages: - JQuery Watermark plugin…
  • Hi mọi người, sau một hồi loay hoay tìm hiểu phương thức chỉnh text trên ứng dụng thì mình thấy bài viết này cũng khá hay, nên copy của anh này đem về chia sẽ lại cho mọi người, cô…
  • Hi mọi người, sau một hồi ngồi làm đẹp giao diện hung.pro.vn mình đã tích hợp thêm tiện ích nhận xét mới nhất trên blog cho người dùng cập nhật nhanh bình luận mới của những người …
  • JSON (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh. Chúng dễ dàng cho chúng ta đọc và viết. Dễ dàng cho thiết bị phân tích và phát sinh. Chúng là cơ sở dựa trên…
  • Hi everyone, after a while using the domain name HungVB.Com, the search volume of the blog is not high, and the world and Vietnam rank of HungVB.Com is also high, so after a while,…

5 nhận xét

  1. second ago
    test tool post ok, chúc mừng e nhé
  2. second ago
    ùa mà có xét duyệt chỉnh sữa bài viết nữa hả e?
    1. second ago
      Dạ, e đang tìm hiểu để set ng` dùng đăng bài lên thì khi bình luận sẽ hiển thị huy hiệu ng` viết bài lên blog a . để đọc giả có thể phân biệt đc ng` viết bài và ng` dùng a nhé.

      [img]https://i.imgur.com/MTOPoAV.png[/img]
  3. second ago
    chất lượng.
  4. second ago
    Cũng ổn đó e, ng ta chia sẽ nhiều r
Hung Pro Blog @ 2025
Chia sẽ kiến thức và tư duy sáng tạo về nhiều ngôn ngữ lập trình khác nhau. Csharp, Visual Studio, Blogger, HTML, Javascript, CSS..v.v
Developed by Jago Desain