Feb 24, 2012

Tự động chèn link bài viết khi người khác coppy từ website của mình

Chắc chắn các bạn đã từng một vài lần copy bài viết ở một trang web nào đó và khi paste vào các bạn thấy có một link đến bài viết gốc của nó phải không? Hôm nay mình xin chia sẻ với các bạn tự động chèn link này. Đầu tiên các bạn truy cập vào http://www.tynt.com/ làm theo hướng dẫn ở các hình dưới đây


Cửa sổ mới hiện ra, các bạn điền thông tin tương tự như hình



Sau khi nhấn “next” đến trang thiết lập



Nhấn "Next" để lấy code chèn vào site (Blog,web) (thông tin bản quyền).


Vậy là xong. Bây giờ các bạn có thể kiểm soát được ai đã copy bài của bạn bằng cách đăng nhập vào tài khoản của mình ( đợi một thời gian sau với có thống kê được nhá) .

Lưu ý :
Khi các bạn chèn đoạn code vào vBB thì bạn vào trong admincp -->Style & Templates -->Find Updated Templates-->header rồi chèn vào !

Chúc bạn thành công !

ĐEMO: Xem thêm: http://kenhdaihoc.com/forum/showthread.php?t=2697

Feb 23, 2012

Quản lý file đính kèm trong VBB



VBulletin Options > vBulletin Options > Message Attachment Options


* Limit Space Taken Up By Attachments (Total)
Sử dụng tùy chọn này để giới hạn tổng số lượng của các file đính kèm
tính bằng đơn vị bytes có thể chiếm dụng trên tổng số lượng Space của
Host. Nếu nhập vào số 0, nghĩa là bạn cho vô hạn.

* Attachments Per Post
Số lượng file có thể đính kèm trong một bài viết. Nhập vào số 0, nghĩa là đính kèm bao nhiêu cũng được.

* Attachment Upload Inputs
Số lượng file đính kèm cho phép mỗi một lần upload, nó sẽ hiển thị ở Popup đính kèm.

* Attachment URL Inputs
Số lượng URL cho phép của mỗi một lần đính kèm upload, nó sẽ hiển thị ở Popup đính kèm.

* Allow Deletion of Attachments Beyond Edit Time Limit
Cho phép thành viên có quyền sửa hoặc xóa file đính kèm, ngay cả khi quyền edit bài viết bị giới hạn thời gian.

* Allow Deletion of Attachments in Closed Threads
Cho phép thành viên có quyền sửa hoặc xóa file đính kèm, ngay cả khi Chủ đề đó đã bị Khóa lại.

* Allow Duplicate Attached Images
Tùy chọn này chỉ kiểm tra file đính kèm đã được gởi bởi một thành viên như là một bài.

* Resize Images
Nếu một file ảnh có kích thước lớn hơn so với mức quy định của diễn đàn
thì tùy chọn này sẽ làm giảm kích thước của file ảnh đó, nhưng nếu kích
thước quá cở thì cũng không thể làm được gì. Nếu bạn mở chức năng này
thì bạn nên giới hạn số lần được nhập file đính kèm trong một lần
upload.

* View Attached Images Inline
Nếu file đính kèm được thu nhỏ, một số hình ảnh không được thu nhỏ sẽ hiển thị dạng link, không phụ thuộc vào thiết lập này.

* Thumbnail Creation
Nếu phiên bản PHP mà bạn đang sử dụng có hổ trợ phần này, thì bạn nên mở chức năng này.


Hãy vào Attachments -> Attachment Manager -> Edit -> và chỉnh
lại những loại đuôi file nào mà bạn muốn nó hiển thị dạng Thumbnail.


Sau khi bạn kích hoạt chức năng này xong, bạn nên vào Maintenance ->
Update Counters -> Rebuild Attachment Thumbnails để chạy lại một
lần cho nó hoạt động.

* Thumbnail Size
Chiều rộng và chiều cao lớn nhất của một Thumbnail. File ảnh sẽ tự động resize như thiết đặt mà bạn chọn ở đây.


Sau khi bạn kích hoạt chức năng này xong, bạn nên vào Maintenance ->
Update Counters -> Rebuild Attachment Thumbnails để chạy lại một
lần cho nó hoạt động.

* Thumbnail Quality
Chất lượng file ảnh Thumbnail, 75 là lựa chọn tốt nhất. Vì vậy, phần này bạn nên giữ nguyên.


* Thumbnails Per Row
Bao nhiêu ảnh Thumbnail được hiển thị trên một hàng trong bài viết.

* Thumbnail Color
Thiết lập này cho bạn chọn màu đường viền của file ảnh Thumbnail.

* Use Image Lightbox
Sử dụng hiển thị ảnh kiểu Lightbox, sẽ tốt hơn khi nhấn vào ảnh sẽ ra một trang mới.

Feb 22, 2012

Code tạo đoạn text hiển thị ngẫu nhiên và luân phiên


Trên blogspot của bạn, đôi khi bạn thích hiển thị một số dòng text thông báo hoặc một vài câu danh ngôn mà bạn tâm đắc. Hiệu ứng tạo text hiển thị ngẫu nhiên hoặc luân phiên sẽ giúp cho trang web trở nên sinh động và bớt đơn điệu hơn. Qua bài viết này mình sẽ giới thiệu bạn cách tạo 2 kiểu text như thế.

1. Hiển thị text ngẫu nhiên: Đặt đoạn code sau đây vào một tiện ích HTML/Javascript.

<div style="width:500px;height:50px;background:#DDD;padding:5px 5px 5px 5px;margin:0px auto">
<!-- RANDOM QUOTES -->
<script type="text/javascript">
quotes = new Array()
quotes[0] = "Nội dung đoạn text 1"
quotes[1] = "Nội dung đoạn text 2"
quotes[2] = "Nội dung đoạn text 3"
quotes[3] = "Nội dung đoạn text 4"
quotes[4] = "Nội dung đoạn text 5"
quotes[5] = "Nội dung đoạn text 6"
randomquote = Math.random() * (quotes.length)
randomquote = Math.floor(randomquote)
document.write(quotes[randomquote])
</script>
<!-- RANDOM QUOTES -->
</div>

DEMO



Lần lượt thay nội dung các đoạn text cần hiển thị ngẫu nhiên.



2. Hiển thị text luân phiên: Đặt đoạn code sau đây vào một tiện ích HTML/Javascript.

<!-- ROTATING QUOTES -->

<script type="text/javascript">
var index = 0;
quotes = new Array();
quotes[0] = "Nội dung đoạn Text 1";
quotes[1] = "Nội dung đoạn Text 2";
quotes[2] = "Nội dung đoạn Text 3";
quotes[3] = "Nội dung đoạn Text 4";
quotes[4] = "Nội dung đoạn Text 5";
quotes[5] = "Nội dung đoạn Text 6";

index = Math.random()*(quotes.length);
index = Math.floor(index);

function rotator() {
if (index == quotes.length) {index = 0;}
document.getElementById("rotation").innerHTML = quotes[index];
index++;
setTimeout("rotator();",5000);
}
</script>
<!-- ROTATING QUOTES -->
<div id="rotation" style="width:500px;height:50px;background:#DDD;padding:5px 5px 5px 5px;margin:0px auto"></div>
<script type="text/javascript">rotator();</script>

Lần lượt thay nội dung các đoạn text cần hiển thị luân phiên. Chú ý có thể thay đổi số 5000 tượng trưng cho 5 giây chỉ khoảng cách thời gian giữa các lần hiển thị text luân phiên.


DEMO:







2 code trên, bạn có thể tùy biến thêm CSS để tạo bản sắc riêng khi áp dụng cho blogspot của bạn.

Code Đếm lượt xem bài viết bằng cookie

Đếm lượt xem bài viết là một thủ thuật khá cần thiết cho blogspot. Thông thường việc đếm lượt xem bài viết được thực hiện bằng ngôn ngữ php tuy nhiên nó yêu cầu sử dụng host, do đó dẫn đến việc đứt gánh giữa đường khi host không còn hoạt động. Ở đây mình hướng dẫn bạn cách đếm lượt xem bài viết sử dụng cookie.
Bạn có thể xem DEMO bên dưới.

Bạn đã xem bài này 1 lần.

Thông thường bộ đếm lượt truy cập bài viết được đặt ở cuối bài viết, do đó bạn có thể tìm trong Template ở chế độ mở rộng mẫu tiện ích đến một trong những dòng code sau:

<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'>
<div class='post-footer-line post-footer-line-2'>
<div class='post-footer-line post-footer-line-3'>


Rồi đặt trước hoặc sau nó bằng đoạn code bên dưới:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
function setC(visitors, value){
var expireDate=new Date (2099, 12, 31);
document.cookie = visitors + "=" + escape(value) + ((expireDate == null) ? "" : ("; expires=" +
expireDate.toGMTString())) }
function readC(visitors){
var search = visitors + "=";
var i, j;
if (document.cookie.length > 0) {
i = document.cookie.indexOf(search);
if (i != -1) {
i += search.length;
j = document.cookie.indexOf(";", i);
if (j == -1) j = document.cookie.length;
return unescape(document.cookie.substring(i,j));
} } }
var num;
num=readC("visitors");
if (!num) num=0;
num++;
setC("visitors", num);
document.write("<div class='visitors'>");
document.write("<b>Bạn đã xem bài này "+num+" lần.<\/b>");
document.write("<\/div>");
//]]>
</script>
</b:if>

Nếu muốn tùy biến CSS cho dòng thông báo thì bạn đặt CSS như thế này (trước dòng ]]></b:skin> trong Template):

.visitors{
… đặt các thuộc tính CSS ở đây nha ..
}

Hy vọng đoạn script này sẽ giúp ích cho blogspot của bạn, tránh đến việc sử dụng host để dành cho cả một thủ thuật nhỏ như thế này quả thật là bất tiện và phung phí.

Thêm 1 số mẫu trình bày code đẹp cho blog

Trước đây thủ thuật blogger đã đưa ra một số mẫu trình bày code khá đẹp và hôm nay mình cũng muốn đóng góp thêm 1 số mẫu trình bày code khác khá bắt mắt.














Xem Demo

Bắt đầu vào vấn đề chính đây.

Chèn đoạn code bạn chọn vào trước thẻ ]]></b:skin>
Mẫu 1
.code {
border-radius:20px 0;
max-height:250px;
min-height:50px;
margin : 10px;
padding : 10px;
clear : both;
list-style-type : none;
overflow:auto;
color:#FFF;
text-shadow: 0 -1px 1px #a52676;
border:none;
background:#de45a6;
background: -moz-linear-gradient(top, #e54aac, #f374c5 95%, #d3469f);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e54aac), color-stop(.9, #f374c5), to(#d3469f));
filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#d3469f', EndColorStr='#f374c5'); /* IE6,IE7 only */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#d3469f', EndColorStr='#f374c5')"; /* IE8 only */
box-shadow: inset 5px 5px 5px #9d2a6e, 0 1px 0px #fad1e9;
-webkit-box-shadow: inset 5px 5px 5px #9d2a6e, 0 1px 0px #fad1e9;
-moz-box-shadow: inset 5px 5px 5px #9d2a6e, 0 1px 0px #fad1e9;
}

Mẫu 2
.code {
border-radius:20px 0;
max-height:250px;
min-height:50px;
margin : 10px;
padding : 10px;
clear : both;
list-style-type : none;
overflow:auto;
background: #E6E6E6;
background: -moz-linear-gradient(top, #FFF, #f5f5f5 5%, #e2e2e2 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFF), color-stop(.03, #f5f5f5), to(#e2e2e2));
filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#f5f5f5', EndColorStr='#e2e2e2'); /* IE6,IE7 only */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#f5f5f5', EndColorStr='#e2e2e2')"; /* IE8 only */
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border:1px solid #d0d0d0;
border-bottom:1px solid #b5b5b5;
color:#5e5e5e;
text-shadow: 1px 1px 1px #FFF}

Mẫu 3
.code {
border-radius:20px 0;
max-height:250px;
min-height:50px;
margin : 10px;
padding : 10px;
clear : both;
list-style-type : none;
overflow:auto;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
color:#FFF;
text-shadow: 0 1px 1px #0f739d;
background: #40addb;
background: -moz-linear-gradient(top, #d1edfa, #73cef5 5%, #49acd6);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #d1edfa), color-stop(0.03, #73cef5), to(#49acd6));
filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#73cef5', EndColorStr='#49acd6'); /* IE6,IE7 only */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#73cef5', EndColorStr='#49acd6')"; /* IE8 only */
border-bottom:1px solid #2581a8;}

Mẫu 4
.code {
border-radius:20px 0;
max-height:250px;
min-height:50px;
margin : 10px;
padding : 10px;
clear : both;
list-style-type : none;
overflow:auto;
color:#FFF;
text-shadow: 0 -1px 1px #0d3474;
border:none;
background: #3675da;
background: -moz-linear-gradient(top, #4986e8, #76b8fc 95%, #4986e8);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #4986e8), color-stop(.9, #76b8fc), to(#4986e8));
filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#4986e8', EndColorStr='#76b8fc'); /* IE6,IE7 only */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4986e8', EndColorStr='#76b8fc')"; /* IE8 only */
box-shadow: inset 0px 2px 5px #1c4c7d, 0 1px 0px #c9d5e8;
-webkit-box-shadow: inset 0px 2px 5px #1c4c7d, 0 1px 0px #c9d5e8;
-moz-box-shadow: inset 0px 2px 5px #1c4c7d, 0 1px 0px #c9d5e8;}

Save Template lại.
Sau này mỗi lần trình bài code thì bạn đặt đoạn code vào như dạng sau:

<div class="code">
Nội dung đoạn code
</div>

Hướng dẩn thêm tiện ích Bài viết mới hơn và cũ hơn cùng chủ đề

Và dưới đây là hình minh họa.



Còn chờ gì nữa nào, chúng ta cùng cài đặt tiện ích này.

Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates. Nếu bạn đã từng cài đặt các tiện ích Bài viết liên quan kiểu khác thì nên tháo ra khỏi Template.

Đặt đoạn code sau đây vào sau dòng ]]></b:skin>.

<!--Related Posts Styled Start-->
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<style type="text/css">
#related-posts{float:center;text-transform:none;height:100%;min-height:100%;padding-top:5px;}
#related-posts a{color:blue}
#related-posts a:hover{color:brown}
#related-posts ul{list-style-type:none;margin:0 0 0px 0;padding:0;text-decoration:none;font-size:12px;text-color:#000}
#related-posts ul li{display:block;/*background:url(&quot;http://img840.imageshack.us/img840/2004/rssqn.png&quot;) no-repeat 0 0;*/background:url(&quot;http://bit.ly/hjpshO&quot;) no-repeat 0 0;list-style-type:none;margin:0;padding-left:21px;line-height:1.5em;border-bottom:1px dotted #ccc}
</style>
</b:if>
<!--Related Posts Styled  End-->

Bước 2. Tìm một trong các dòng dưới đây:

<div class='post-footer-line post-footer-line-1'/>
<div class='post-footer-line post-footer-line-2'/>
<div class='post-footer-line post-footer-line-3'/>
<div class='post-footer'>

Đặt trước nó bằng đoạn code bên dưới.

<!-- Related Posts Code Styled  Start-->
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script language='javascript'>
// <![CDATA[
var maxnext = 5; // Chỉnh số 5 chỉ số bài viết mới hơn tối đa
var nexttitle = 'Bài viết mới hơn';
var maxprev = 8; // Chỉnh số 8 chỉ số bài viết cũ hơn tối đa
var prevtitle = 'Bài viết cũ hơn';
// ]]>
</script>
<script src='http://hacodeproject.googlecode.com/files/newer-older-related-posts.js' type='text/javascript'/>
<div id='related-posts'>
<div id='next-posts'/>
<b:loop values='data:post.labels' var='label'>
<script language='javascript'>
var vlabel = &quot;<data:label.name/>&quot;;
if (relateposturl.indexOf(&#39;?relatedlabel=&#39;)!=-1)
{nextlabel = (relatedlabel == vlabel) ? 0 : 1;}
if (nextlabel == 0)
{
var vtime = &quot;<data:post.timestampISO8601/>&quot;;
vtime = vtime.substring(0,19);
var srcurl = &quot;<data:blog.homepageUrl/>&quot;+ &quot;feeds/posts/default/-/&quot; + vlabel + &quot;?alt=json-in-script&amp;callback=next_results_labels&amp;max-results=999&quot;;
var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, srcurl);
script.setAttribute(&#39;id&#39;, &#39;jsonScript&#39;);
script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;); document.documentElement.firstChild.appendChild(script);
nextlabel +=1;
}
</script>
</b:loop>
<div id='prev-posts'/>
<b:loop values='data:post.labels' var='label'>
<script language='javascript'>
var vlabel = &quot;<data:label.name/>&quot;;
if (relateposturl.indexOf(&#39;?relatedlabel=&#39;)!=-1)
{prevlabel = (relatedlabel == vlabel) ? 0 : 1;}
if (prevlabel == 0)
{
var vtime = &quot;<data:post.timestampISO8601/>&quot;;
vtime = vtime.substr(0,19);
var srcurl = &quot;<data:blog.homepageUrl/>&quot;+ &quot;feeds/posts/default/-/&quot; + vlabel + &quot;?alt=json-in-script&amp;callback=prev_results_labels&amp;max-results=999&quot;;
var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, srcurl);
script.setAttribute(&#39;id&#39;, &#39;jsonScript&#39;);
script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;); document.documentElement.firstChild.appendChild(script);
prevlabel ++;
}
</script>
</b:loop>
</div>
</b:if>
<!-- Related Posts Code Styled  End-->

Lưu Template là OK

[Sưu tầm]

Recent Post với bài đăng trượt dọc lên trên cho blogspot

Tiện ích Recent Post ( bài đăng mới nhất) là một trong những tiện ích ko thể thiếu trên Blogger, và với các Blogger tiện ích này đã quá đỗi quen thuộc và hôm nay, cũng với tiện ích này, mình sẽ giúp các bạn tạo một Recent Post mang một đặc trưng mới, đó là bài đăng sẽ trượt lên một cách tự động.


Xem tại mục BÀI VIẾT MỚI NHẤT

Chú ý: Tiện ích Recent Post bên phía phải màn hình.

Để thực hiện thủ thuật, ta làm như sau.

1. Đăng nhập vào Blogger > Thiết kế > Phần tử trang > Thêm tiện ích HTML/JavaScript.

2. Copy đoạn code bên dưới và dán vào tiện ích.



<style>img.recent_thumb {padding:1px;width:55px;height:55px;border:0;float :right;margin:0 0 5px 10px;}.recent_posts_with_thumbs {float: left;width: 100%;min-height: 70px;margin: 5px 0px 5px 0px;padding: 0;font-size:12px;}ul.recent_posts_with_thumbs li {padding-bottom:5px;padding-top:5px;min-height:65px;}.recent_posts_with_thumbs a {text-decoration:none;}.recent_posts_with_thumbs strong {font-size:10px;}</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script style='text/javascript' src="http://kenhdaihoc.com/blogger/recentpostticker.js" ></script>
<script style='text/javascript' src='http://kenhdaihoc.com/blogger/recentpostswiththumbnailsv3.js'></script>
<script style='text/javascript'>
var numposts = 20;
var showpostthumbnails = true;
var displaymore = false;
var displayseparator = false;
var showcommentnum = false;
var showpostdate = false;
var showpostsummary = false;
var numchars = 100;
$(document).ready(function () {$('#sai').vTicker({
speed: 500,
pause: 3000,
showItems: 7,
animation: 'fade',
mousePause: false,
height: 0,
direction: 'up'
});});
</script>
<div id="sai">
<script src='http://chiase-vanthuc.blogspot.com/feeds/posts/default?orderby=published&alt=json-in-script&callback=showrecentpostswiththumbs'></script>
</div>


3. Bạn chỉnh sửa lại các dòng màu đỏ cho phù hợp với Blog của bạn. Chúc thành công.