[Module News] Hướng dẫn thêm chức năng mở ảnh bài viết trong Shadowbox

Thứ bảy - 09/05/2015 20:47
Đoạn code dưới đây giúp bạn thêm chức năng xem tất cả ảnh trong bài viết ở dạng popup (Shadowbox).
[Module News] Hướng dẫn thêm chức năng mở ảnh bài viết trong Shadowbox

Thực hiện trên NukeViet 4

Bước 1: NukeViet 4 đã bỏ thư viện shadowbox ra khỏi hệ thống, nên bạn cần download lại thư viện này.
Download shadowbox:  https://github.com/mjackson/shadowbox
Giải nén tập tin vừa download, đổi tên thư mục source thành shadowbox sau đó copy thư mục này vào assets/js/. Khi đó, sẽ tồn tại đường dẫn assets/js/shadowbox

Bước 2: 
Mở file themes/default/modules/news/detail.tpl (Các theme khác làm tương tự)
Tìm
<!-- END: main -->
Thêm lên trên:
<link href="/assets/js/shadowbox/shadowbox.css" type="text/css" rel="stylesheet"/>
<script src="/assets/js/shadowbox/shadowbox.js" type="text/javascript"></script>
<script>
	$(".bodytext img").wrap(function() {
		var $_this = $(this).parent();
		$_this.html('<a href="' + $(this).attr("src") + '" rel="shadowbox[{NEWSID}]" title="' + $(this).attr("alt") + '">' + $_this.html() + '</a>');
	}); 
</script>

Thực hiện trên NukeViet 3

NukeViet 3 đã có thư viện shadowbox, nên không cần tải thêm như ở NukeViet 4
Mở file themes/default/modules/news/detail.tpl (Các theme khác làm tương tự)
Tìm
<!-- END: main -->
Thêm lên trên
<script type="text/javascript">
	$('#news_detail img').wrap(function() {
		var $_this = $(this).parent();
		$_this.html('<a href="' + $(this).attr("src") + '" rel="shadowbox[{NEWSID}]" title="' + $(this).attr("alt") + '">' + $_this.html() + '</a>');
	}); 
</script>

Khi click vào ảnh trong bài viết, ảnh trong bài viết sẽ hiển thị trong hộp Shadowbox. Nếu bài viết có nhiều ảnh, thì sẽ có nút bấm để chuyển qua ảnh tiếp theo.

Trang xem chi tiết bài viết của news mặc định đã load sẵn thư viện Shadowbox, nên ở bài viết này không đề cập đến việc chèn thư viện. Nếu giao diện các bạn chưa load thư viện Shadowbox thì cần bổ sung.

Với hướng dẫn này các bạn có thể làm tương tự cho các thư viện khác, như colorbox, lightbox,....

Chú ý: Việc đăng lại bài viết này trên ở website hoặc các phương tiện truyền thông khác mà không ghi rõ nguồn http://mynukeviet.net - Trung tâm ứng dụng NukeViet là vi phạm bản quyền.

Tổng số điểm của bài viết là: 102 trong 22 đánh giá

Xếp hạng: 4.6 - 22 phiếu bầu
Click để đánh giá bài viết

Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.

Sử dụng CMS NukeViet, thiết kế bởi TDFOSS.,LTD