Friday, March 18, 2011

Ẩn nội dung nhận xét của Nặc danh

Cách đây một thời gian ngắn, bạn Noct đã hỏi tôi có thủ thuật nào giúp ẩn nội dung nhận xét của Nặc danh (Anonymous) hay không, bởi vì thông thường nếu muốn không cho phép Nặc danh đăng nhận xét trên một blogspot thì bạn phải cài đặt phần Comments theo lựa chọn Registered Users - includes OpenID; mà theo lựa chọn này thì ở phần nhận xét trên các bài viết sẽ mất đi tùy chọn Tên/URL (Name/URL). Vậy làm cách nào để ẩn đi nhận xét của Nặc danh mà vẫn để tùy chọn cài đặt nhận xét là Anyone - includes Anonymous Users (để người nhận xét với tư cách Tên/URL vẫn có thể đăng nhận xét).

Để trả lời câu hỏi này, lúc đầu tôi nghĩ đến việc dùng Javascript để tạo thủ thuật liên quan, tuy nhiên nhận thấy nếu dùng Javascript cho một vấn đề tuy nhỏ nhưng không kém phần quan trọng như vậy thì dù sao cũng hơi phung phí. Thế là tôi nghĩ đến việc không cần dùng Javascript mà vẫn tạo được thủ thuật này. Và cuối cùng tôi đã thành công, tuy kỹ xảo rất là đơn giản nhưng kết quả thì trên cả tuyệt vời. Bạn có thể xem kết quả ở hình minh họa bên dưới.



Bằng thủ thuật này, bạn sẽ ẩn đi nội dung nhận xét của Nặc danh (Anonymous), song vẫn có thể đọc được nội dung của nhận xét đó khi Đăng nhập Blogger vào phần Comments để xem. Để cài đặt thủ thuật này, trước tiên bạn Đăng nhập Blogger, vào Settings (Cài đặt) >> Comments (Nhận xét), chọn người có thể nhận xét là Bất kỳ ai – Kể cả Nặc danh (Anyone - includes Anonymous Users).

Tiếp tục vào Edit HTML, chọn Expand Widget Templates.

Tìm đến đoạn code giống như thế này.

<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>

Đối với một số Template sẽ trông giống thế này.

<div id='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</div>

Bạn chỉ việc thay dòng <p><data:comment.body/></p>

Bằng đoạn code bên dưới.

<b:if cond='data:comment.author == &quot;Nặc danh&quot;'>
<b:else/>
<p><data:comment.body/></p>
</b:if>

Lưu Template là xong.

Chú ý, bạn cần thay Nặc danh bằng Anonymous nếu tên hiển thị người nhận xét Nặc danh trên blog của bạn là Anonymous.

No comments:

Post a Comment