You are not connected. Please login or register

 » Forumotion » Share Code » Javascript » Danh sách bài mới cùng chuyên mục và bài viết liên quan cho phpBB2 và punBB

Danh sách bài mới cùng chuyên mục và bài viết liên quan cho phpBB2 và punBB

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

๖ۣۜTom

avatar
Admintrator
Admintrator
Chức năng: Bài viết này sẽ giúp các bạn tạo một danh sách bài viết liên quan và bài viết mới cùng chuyên mục cho phpBB2 và punBB

Demo: [You must be registered and logged in to see this link.]

Hướng dẫn: ACP - Display - Templates - Ganeral - viewtopic_body
Đặt code dưới đây vào vị trí muốn hiển thị trong viewtopic_body. Tốt nhất là nên đặt trước hoặc thay thế promot_trafic

Code:
<!-- BEGIN promot_trafic -->
...
<!-- END promot_trafic -->

punBB

Code:
<div class="main">
   <div class="main-head clearfix">
      <p class="h2">
         Bài viết mới cùng chuyên mục
      </p>
   </div>
   <div id="cungchuyenmuc" class="main-content frm">
   </div>
   <div class="main-head clearfix">
      <p class="h2">
         Bài viết liên quan
      </p>
   </div>
   <div id="bailienquan" class="main-content frm">
   </div>
</div>
<script type="text/javascript">
$(function () {
   $('#cungchuyenmuc').load('/f{FORUM_ID}-forum .tdtopics:not(".tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
      $('#cungchuyenmuc a.topictitle').wrap("<p></p>");
   });
   var topictitleFMvi = '{TOPIC_TITLE}';
   var fmviTopictitle = topictitleFMvi.replace(/ /gi, '+');
   $('#bailienquan').load('/search?mode=searchbox&search_keywords=' + fmviTopictitle + '&show_results=topics .tdtopics:not(".tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
      $('#bailienquan a.topictitle').wrap("<p></p>");
   });
});
</script>

phpBB2

Code:
<table class="forumline" width="100%" border="0" cellpadding="1" cellspacing="0">
    <tr>
        <td class="thead" height="28">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td valign="top">
                        <h1>
                            Bài viết mới cùng chuyên mục
                        </h1>
                    </td>

                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td id="cungchuyenmuc" class="row2 postbody" valign="top">
        </td>
    </tr>
</table>
<table class="forumline" width="100%" border="0" cellpadding="1" cellspacing="0">
    <tr>
        <td class="thead" height="28">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td valign="top">
                        <h1>
                            Bài viết liên quan
                        </h1>
                    </td>

                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td id="bailienquan" class="row2 postbody" valign="top">
        </td>
    </tr>
</table>
<script type="text/javascript">
$(function () {
   $('#cungchuyenmuc').load('/f{FORUM_ID}-forum td:not("td:contains(\"Announcement\"), td:contains(\"Sticky\"), td:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
      $('#cungchuyenmuc a.topictitle').wrap("<p></p>");
   });
   var topictitleFMvi = '{TOPIC_TITLE}';
   var fmviTopictitle = topictitleFMvi.replace(/ /gi, '+');
   $('#bailienquan').load('/search?mode=searchbox&search_keywords=' + fmviTopictitle + '&show_results=topics td:not("td:contains(\"Announcement\"), td:contains(\"Sticky\"), td:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
      $('#bailienquan a.topictitle').wrap("<p></p>");
   });
});
</script>

Ghi chú: Code trong hướng dẫn trên có tác dụng lấy tối đa 10 bài viết, nếu bạn muốn tăng hoặc giảm con số này thì tìm trong code đoạn a.topictitle:lt(10) và thay số 10 bằng số bạn muốn.

Code này cũng loại ra các bài viết thông báo, chú ý trong danh sách bằng cách dò tìm ký tự, nếu forum bạn dùng tiếng Việt hoặc có thay đổi các tên này thì thay các từ sau trong code:
  • Announcement
  • Sticky
  • Global announcement

Bạn có thể tìm thấy các từ tương ứng này khi vào một chuyên mục bất kỳ, ví dụ:
[You must be registered and logged in to see this link.]
[You must be registered and logged in to see this link.]
Hoặc trong ACP - Messages and e-mails - Configuration:
  • Define another name for Stickies
  • Define another name for Announcements
  • Customize a global announcement name


Nếu bạn muốn lấy luôn bài viết thông báo và chú ý vào danh sách thì xóa đoạn code sau:
  • punBB
    Code:
    :not(".tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")")
  • phpBB2
    Code:
    :not("td:contains(\"Announcement\"), td:contains(\"Sticky\"), td:contains(\"Global announcement\")")



[+] Nếu bạn muốn sao chép hướng dẫn này đi nơi khác vui lòng không thay đổi bất kỳ thành phần nào trong code và phải ghi bản quyền thuộc [You must be registered and logged in to see this link.]

Viết bởi baivong - [You must be registered and logged in to see this link.]



[center]Yahoo Hỗ Trợ [You must be registered and logged in to see this link.]
Chào Mừng Khách viếng thăm đã đến với 4rum
:000001:
Xem lý lịch thành viên http://www.vn-answer.tk
Share this post on: diggdeliciousredditstumbleuponslashdotyahoogooglelive

PunBB Ver.2: Bổ sung chức năng đánh số, tên bài viết và chuyên mục. Xóa highlight.
Code:
<div class="fmviToggle">
   <div class="main">
      <div class="main-head clearfix">
         <p class="h2">
                          Bài viết mới cùng chuyên mục <span id="chuyenmucnay"></span>
         </p>
      </div>
      <ol style="list-style-type:decimal-leading-zero; padding: 10px 40px" id="cungchuyenmuc" class="main-content frm">
                </ol>
      <div class="main-head clearfix">
         <p class="h2">
            Bài viết liên quan với <a href="{TOPIC_URL}">{TOPIC_TITLE}</a>
         </p>
      </div>
      <ol style="list-style-type:decimal-leading-zero; padding: 10px 40px" id="bailienquan" class="main-content frm">
      </ol>
   </div>
</div>
<script type="text/javascript">
$('.crumbs:first a.nav[href^="/f"]:last').clone().appendTo('#chuyenmucnay');
$('#cungchuyenmuc').load('/f{FORUM_ID}-forum .tdtopics:not(".tdtopics:contains(\"{TOPIC_TITLE}\"), .tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
    $('#cungchuyenmuc a.topictitle').wrap("<li></li>");
});
var topictitleFMvi = '{TOPIC_TITLE}';
var fmviTopictitle = topictitleFMvi.replace(/ /gi, '+');
$('#bailienquan').load('/search?mode=searchbox&search_keywords=' + fmviTopictitle + '&show_results=topics .tdtopics:not(".tdtopics:contains(\"{TOPIC_TITLE}\"), .tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)', function () {
    $('#bailienquan a.topictitle').wrap("<li></li>");
    $('#bailienquan a.topictitle').each(function () {
        $(this).replaceWith('<a href="' + $(this).attr("href").slice(0, $(this).attr("href").indexOf("?")) + '" class="topictitle">' + $(this).text() + '</a>');
    });
});
</script>

PunBB Ver.3: Bổ sung chức năng kiểm tra dữ liệu tải về: Xóa nếu không có dữ liệu và thông báo nếu có lỗi xảy ra.
Code:
<div class="fmviToggle">
    <div class="main">
        <div class="main-head clearfix">
            <p class="h2">
                Bài viết mới cùng chuyên mục
                <span id="chuyenmucnay">
                </span>
            </p>
        </div>
        <ol style="list-style-type:decimal-leading-zero; padding: 10px 40px" id="cungchuyenmuc"
        class="main-content frm">
        </ol>
        <div class="main-head clearfix">
            <p class="h2">
                Bài viết liên quan với
                <a href="{TOPIC_URL}">{TOPIC_TITLE}</a>
            </p>
        </div>
        <ol style="list-style-type:decimal-leading-zero; padding: 10px 40px" id="bailienquan"
        class="main-content frm">
        </ol>
    </div>
</div>
<script type="text/javascript">
    $('.crumbs:first a.nav[href^="/f"]:last').clone().appendTo('#chuyenmucnay');
    var cungchuyenmuc = '.tdtopics:not(".tdtopics:contains(\"{TOPIC_TITLE}\"), .tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)';
    $.ajax({
        url: '/f{FORUM_ID}-forum',
        success: function(data) {
            if ($(data).find(cungchuyenmuc).length == 0) {
                $('#cungchuyenmuc').prev().remove();
                $('#cungchuyenmuc').remove();
            } else {
                $(data).find(cungchuyenmuc).appendTo('#cungchuyenmuc');
                $('#cungchuyenmuc a.topictitle').wrap("<li></li>");
            };
        },
        error: function(jqXHR, textStatus, errorThrown) {
            $('#cungchuyenmuc').html('<p><font face="Courier New"><font color="red">Có lỗi xảy ra trong quá trình tải dữ liệu.</font></font></p>');
        }
    });
    var topictitleFMvi = '{TOPIC_TITLE}';
    var fmviTopictitle = topictitleFMvi.replace(/ /gi, '+');
    var bailienquan = '.tdtopics:not(".tdtopics:contains(\"{TOPIC_TITLE}\"), .tdtopics:contains(\"Announcement\"), .tdtopics:contains(\"Sticky\"), .tdtopics:contains(\"Global announcement\")") .topic-title a.topictitle:lt(10)';
    $.ajax({
        url: '/search?mode=searchbox&search_keywords=' + fmviTopictitle + '&show_results=topics',
        success: function(data) {
            if ($(data).find(bailienquan).length == 0) {
                $('#bailienquan').prev().remove();
                $('#bailienquan').remove();
            } else {
                $(data).find(bailienquan).appendTo('#bailienquan');
                $('#bailienquan a.topictitle').wrap("<li></li>");
                $('#bailienquan a.topictitle').each(function() {
                    $(this).replaceWith('<a href="' + $(this).attr("href").slice(0, $(this).attr("href").indexOf("?")) + '" class="topictitle">' + $(this).text() + '</a>');
                });
            };
        },
        error: function(jqXHR, textStatus, errorThrown) {
            $('#bailienquan').html('<p><font face="Courier New"><font color="red">Có lỗi xảy ra trong quá trình tải dữ liệu.</font></font></p>');
        }
    });
</script>

[+] Nút đóng mở danh sách cho punBB (Ver.2 & 3)
Code:
var partname = location.pathname.slice(1, 5);
$(".fmviToggle .main .clearfix").prepend('<span class="collapsePost" style="float:right"><img src="http://i48.servimg.com/u/f48/16/58/89/73/icon_c10.gif" alt="fmClose" /><img style="display:none" src="http://i48.servimg.com/u/f48/16/58/89/73/icon_e10.gif" alt="fmOpen" /></span>');
$(".collapsePost").each(function(a) {
  $(this).attr("id", "fmvicollapsePost" + partname + a);
  "1" == my_getcookie("fmvicollapsePost" + partname + a) && ($(this).children("img[alt='fmClose']").hide(), $(this).children("img[alt='fmOpen']").show(), $(this).parent().next().hide())
});
$(".collapsePost img[alt='fmClose']").click(function() {
  my_setcookie($(this).parent().attr("id"), 1, 1, 0);
  $(this).hide().next().show();
  $(this).parent().parent().next().slideToggle("slow")
});
$(".collapsePost img[alt='fmOpen']").click(function() {
  my_setcookie($(this).parent().attr("id"), 0, 1, 0);
  $(this).hide().prev().show();
  $(this).parent().parent().next().slideToggle("slow")
});

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết