Đây là code làm sitemap rất đẹp cho Blogspot, được mình tùy biến CSS lại và chia sẻ lại và mình cũng đang sử dụng cho >> Sitemap giống với trang Affimart.com << của mình.
Sitemap theo nhãn này đã được mình Việt hóa lại, lúc đầu nó là tiếng anh nên các bạn yên tâm sử dụng cho blogspot Affimart.com
Demo Click here
1. Ưu điểm sitemap theo nhãn này:
- Có thể chọn sắp xếp theo thời gian xuất bản hay là bài viết vừa chỉnh sửa.
- Cho phép hiểu thị bài viết theo nhãn mà không cần phải tải trang lại đặc biệt load rất nhanh
- Đặc biệt cho khung tìm kiếm tại sitemap và cũng không phải tải lại trang luôn.
2. Hướng dẫn làm sitemap theo nhãn cực đẹp cho blogspot.
Lưu ý trước khi thực hiện:
Trước khi dán bạn nên đặt tiêu đề trang là sitemap trước rồi sau đó mới dán code vào cho url hiển thị ra có dạng http://www.tenmien.blogspot.com/p/sitemap.html cho đẹp.
Khi đã chèn code và xuất bản rồi, nếu bạn vào edit code và xuất bạn lại sẽ bị lỗi, vì code chèn vào HTML trang lúc sau này đã bị mã hóa không hoạt động được. Bạn chỉ cần backup lại phần CSS thôi
Trong phần url: https://www.Affimart.com/ bạn thay dòng này lại đúng với địa chỉ blogspot của mình. Mình có cho 1 link về blog tuy nhiên các bạn có thể yên tâm sử dụng.
Các bước thực hiện tạo sitemap cho blogger theo nhãn
- B1: Bạn đăng nhập vào blogspot.com, sau đó vào phần trang và tạo trang mới → chuyển qua phần HTML
- B2: Dán đoạn code tạo sitemap cho blogspot theo nhãn bên dưới vào trang đó và xuất bản.
- B3: Thay lại địa chỉ của Blog bạn url: "https://www.toilaquantri.com/", là Lưu lại.
- Nếu không thực hiện được vui lòng gởi email về NhuanTriLuu@gmail.com hoặc nhắn Zalo: 0961603331 để được hỗ trợ miễn phí nhé.
CODE SITEMAP FOR BLOGSPOT
<style type="text/css">
table{margin:0!important;}
#resultDesc{ font-size: 22px;
text-align: center;
margin-top: 40px;
padding: 0;
font-family: segoe ui;}
.share-box,#blog-pager{display:none}
#resultDesc span{display:block;margin:0;padding:5px 10px 7px;color:#D64D52}
#feedContainer{display:block;clear:both;margin:1px 0 0;padding:0;overflow:hidden;position:relative}
#feedContainer li{clear: initial;
list-style: none;
margin: 0 1%;
padding: 10px 0;
color: #FF3D00;
width: 48%;
float: left;}
#feedContainer li .inner{margin:0;overflow:hidden;word-wrap:break-word;text-overflow:ellipsis}#feedContainer li a{text-decoration:none;color:#444}#feedContainer li a:hover{text-decoration:none;color:#007F74}#feedContainer li a.toc-title{font-weight:600;font-size:16px;margin:0}#feedContainer li .news-text{color:#333;font-size:13px;margin:10px 0 0}#feedContainer li a img{margin:4px 9px 0 0;padding:4px;border:solid 1px #ccc;float:left}#feedNav{margin-top:10px ;text-align:center}#feedNav a,#feedNav span{width: 40%;background-color: #ff3d01;border-radius: 5px;padding: 8px;
text-decoration: none;display: block;color: #fff;}#feedNav span{cursor:wait}#table-outer{padding:0;margin:0}#table-outer input{display:inline-block;vertical-align:top;margin:0 2px 0 0;padding:0}#table-outer table{width:100%;border:none}#table-outer td{padding:2px;border:none}#table-outer label{float:right;margin: 0 10px 0 0;}#table-outer select[disabled]{opacity:.4}#postSearcher{display:block;margin:0;padding:0}
#postSearcher input{box-shadow: 0 0 72px #ccc;
text-indent: 13px;
width: 100%;
padding: 13px 0;
font: 600 12px segoe ui;
color: #777;
border: solid 1px #ccc;}#table-outer select{width:100%;padding:10px;font:600 12px segoe ui;color:#777;outline:none;border:solid 1px #ccc}#postSearcher input:focus,#table-outer select:focus{background:#fff}#comments,.footer-inner,#contact-email,.menu-foo,#header-wide .widget,.inline-ad{display:none!important}
@media screen and (max-width:600px){
#table-outer{padding:0 0 21px;}
#postsearcherinput:width: 100%}
}
</style>
<div dir="ltr" style="text-align: left;" trbidi="on"><script type="text/javascript">
//<![CDATA[
var tocConfig = {
url: "https://www.affimart.com/",
feedNum: 20,
labelName: false,
numChars: 160,
thumbWidth: 110,
navText: "Hiển Thị Thêm Bài Viết",
frontText: "Chọn nhãn",
resetToc: "Reset",
noImage: "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s1600/images.jpeg",
loading: "<span>Đang tải...</span>",
searching: "<span>Từ khóa...</span>",
noResult: "Không tìm thấy kết quả cho sự lựa chọn của bạn!"
};
//]]>
</script><br />
<div id="table-outer"><table border="0"><tbody>
<tr> <td><br />
<label for="orderFeedBy">Sắp xếp theo:</label></td> <td><br />
<select id="orderFeedBy"> <option selected="" value="published">Bài xuất bản mới nhất</option> <option value="updated">Bài cập nhật mới nhất</option> </select></td> </tr>
<tr> <td><br />
<label for="labelSorterSelect">Chọn nhãn muốn xem:</label></td> <td><span id="labelSorter"><select disabled="" id="labelSorterSelect"><option selected="">Đang tải...</option></select></span></td> </tr>
<tr> <td><br />
<label for="feed-q-box">Tìm theo từ khóa:</label></td> <td><br />
<form id="postSearcher"><input placeholder="Nhập từ khóa cần tìm (có dấu)..." id="feed-q-box" type="text" /><br />
</form></td> </tr>
</tbody> </table></div><header id="resultDesc"></header><br />
<ul id="feedContainer"></ul><div id="feedNav"></div><script type='text/javascript'>//<![CDATA[
/**
* Advanced Blogger TOC Script by Dharla Ferdana
* URL: http://www.dhf.web.id
* Templates: <div id="table-outer"><table border="0"><tr><td><label>Urutkan daftar berdasarkan:</label></td><td><select id="orderFeedBy"><option value="published" selected>Posting Terbaru</option><option value="updated">Posting Diperbaharui</option></select></td></tr><tr><td><label>Filter daftar berdasarkan kategori:</label></td><td><span id="labelSorter"><select disabled><option selected>Memuat...</option></select></span></td></tr><tr><td><label>Cari dengan kata kunci:</label></td><td><form id="postSearcher"><input type="text"/></form></td></tr></table></div><header id="resultDesc"></header><ul id="feedContainer"></ul><div id="feedNav">Loading...</div><script type="text/javascript" src="advanced-toc.js"></script>
*/
document.body.oncontextmenu=function() {return false;}
// This is the container template that will be used to insert post template, pagination and the posts count
document.write('<div id="itempager" style="position:relative;"> <a style="display:block!important;visibility:visible!important;opacity:1!important;position:absolute;bottom:10px;right:35px; color: #FF3D00;text-decoration:none;" href="https://www.affimart.com/2022/06/code-lam-sitemap-cho-blogspot-cuc-dep-theo-nhan-giong-voi-affimart.html" >Xem cách làm</a></div>');
function getID(a) {
return document.getElementById(a);
}
var head = document.getElementsByTagName('head')[0],
tocContainer = getID('feedContainer'),
feedNav = getID('feedNav'),
orderByer = getID('orderFeedBy'),
labelSorter = getID('labelSorter'),
input = getID('postSearcher').getElementsByTagName('input')[0],
resultDesc = getID('resultDesc'),
nextPage, feedArchive, startPage = 0, filter = 0;
function showLabels(json) {
var cat = json.feed.category, skeleton = "<select id='labelSorter' onchange='changeSort(this.value);'><option value='' selected disabled>Chọn danh mục muốn xem...</option>";
for (var i = 0, cen = cat.length; i < cen; i++) {
skeleton += "<option value='" + decodeURIComponent(cat[i].term) + "'>" + cat[i].term.toUpperCase() + "</option>";
}
skeleton += "</select>";
labelSorter.innerHTML = skeleton;
}
function showFeedList(json) {
var entries = json.feed.entry, postTitle, postUrl, postImage, postContent, commentNum, skeleton = "";
if (json.feed.entry) {
for (var i = 0; i < tocConfig.feedNum; i++) {
if (i == json.feed.entry.length) {
break;
}
postTitle = entries[i].title.$t;
for (var j = 0, jen = entries[i].link.length; j < jen; j++) {
if (entries[i].link[j].rel == 'alternate') {
postUrl = entries[i].link[j].href;
break;
}
}
for (var k = 0, ken = json.feed.link.length; k < ken; k++) {
if (json.feed.link[k].rel == 'next') {
nextPage = json.feed.link[k].href;
}
}
for (var l = 0, len = entries[i].link.length; l < len; l++) {
if (entries[i].link[l].rel == 'replies' && entries[i].link[l].type == 'text/html') {
commentNum = entries[i].link[l].title;
break;
}
}
postContent = ("summary" in entries[i]) ? entries[i].summary.$t.replace(/<br ?\/?>/ig," ").replace(/<(.*?)>/g,"").replace(/<iframe/ig,"").substring(0,tocConfig.numChars) : "";
postImage = ("media$thumbnail" in entries[i]) ? entries[i].media$thumbnail.url.replace(/\/s[0-9]+\-c/, "\/s" + tocConfig.thumbWidth + "-c") : tocConfig.noImage.replace(/\/s[0-9]+\-c/, "\/s" + tocConfig.thumbWidth + "-c");
skeleton += "<li><div class='inner'>" +
"<a href='" + postUrl + "' target='_blank' ><img style='width:" + tocConfig.thumbWidth + "px;height:" + tocConfig.thumbWidth + "px;' src='" + postImage + "' alt='" + postTitle + "' /></a>" +
"<a class='toc-title' href='" + postUrl + "' title='" + postTitle + "' target='_blank'>" + postTitle + "</a><strong> - (" + commentNum + ")</strong><br>" +
"<div class='news-text'>" + postContent + "…<br style='clear:both;'></div>" +
"</div></li>";
}
resultDesc.innerHTML = (input.value !== '' && filter == 'search') ? "<span>Kết quả: <strong>“" + input.value + "”</strong> (" + json.feed.openSearch$totalResults.$t + " bài viết được tìm thấy)</span>" : "Total: " + json.feed.openSearch$totalResults.$t + " bài viết đã xuất bản";;
feedContainer.innerHTML += (nextPage) ? skeleton : "";
if (nextPage && filter != 'search') {
skeleton = (filter !== 0) ? "<a href='javascript:initResult(2);' class='next'>" + tocConfig.navText + "</a>" : "<a href='javascript:initResult(1);' class='next'>" + tocConfig.navText + "</a>";
} else {
skeleton = "<a href='#top' class='front'>" + tocConfig.frontText + "</a>";
}
feedNav.innerHTML = skeleton;
input.value = '';
labelSorter.getElementsByTagName('select')[0].removeAttribute('disabled');
orderByer.removeAttribute('disabled');
} else {
if (filter == 'search') {
feedContainer.innerHTML = "";
resultDesc.innerHTML = "";
alert(tocConfig.noResult);
}
feedNav.innerHTML = "<a href='#top' class='front'>" + tocConfig.frontText + "</a>";
}
}
function initResult(archive) {
var p, param;
if (archive == 1) {
p = nextPage.indexOf("?");
param = nextPage.substring(p);
} else if (archive == 2) {
p = nextPage.indexOf("?");
param = nextPage.substring(p).replace(/\?/, '/-/' + filter + '?');
} else {
param = "?start-index=1&max-results=" + tocConfig.feedNum + "&orderby=" + orderByer.value + "&alt=json-in-script";
}
param += "&callback=showFeedList";
updateScript(param);
}
function removeScript() {
var old = getID('temporer-script');
old.parentNode.removeChild(old);
}
function buildLabels() {
var s = document.createElement('script');
s.type = "text/javascript";
s.src = tocConfig.url + "/feeds/posts/summary?max-results=0&alt=json-in-script&callback=showLabels";
head.appendChild(s);
}
function updateScript(tail) {
if (startPage == 1) {
removeScript();
startPage = 1;
}
feedNav.innerHTML = tocConfig.loading;
feedArchive = (tocConfig.labelName !== false) ? tocConfig.url + "/feeds/posts/summary/-/" + tocConfig.labelName + tail : feedArchive = tocConfig.url + "/feeds/posts/summary" + tail;
var toc_script = document.createElement('script');
toc_script.type = 'text/javascript';
toc_script.src = feedArchive;
toc_script.id = 'temporer-script';
head.appendChild(toc_script);
}
function changeSort(label) {
removeScript();
tocContainer.innerHTML = "";
resultDesc.innerHTML = "Menghitung artikel…";
feedNav.innerHTML = tocConfig.loading;
var newScript = document.createElement('script'),
labSorter = labelSorter.getElementsByTagName('select')[0],
l = (label !== 0) ? '/-/' + label : "";
newScript.type = 'text/javascript';
newScript.id = 'temporer-script';
newScript.src = tocConfig.url + '/feeds/posts/summary' + l + '?alt=json-in-script&max-results=' + tocConfig.feedNum + '&orderby=' + orderByer.value + '&callback=showFeedList';
head.appendChild(newScript);
labSorter.disabled = true;
orderByer.disabled = true;
filter = label;
}
function searchPost() {
removeScript();
tocContainer.innerHTML = "";
resultDesc.innerHTML = "";
feedNav.innerHTML = tocConfig.searching;
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.id = 'temporer-script';
newScript.src = tocConfig.url + '/feeds/posts/summary?alt=json-in-script&orderby=published&q=' + input.value + '&max-results=9999&callback=showFeedList';
head.appendChild(newScript);
filter = 'search';
return false;
}
getID('postSearcher').onsubmit = searchPost;
orderByer.onchange = function() {
changeSort(0);
}
initResult(0);
buildLabels();
</script><br />
</div>
Nguồn: Tôi Là Quản Trị