Halo sobat Koderian pada kesempatan kali ini saya akan membagikan sebuah Tutorial untuk Blogger yaitu "Cara Menambahkan Navigasi Next dan Previous" adalah sebuah pagination yang fungsinya untuk menampilkan artikel sebelum dan selanjutnya pada bagian artikel. Biasanya secara default blog pager atau navigasi blogger pada halaman post hanya berupa tulisan "Next" dan "Previous" atau "Newer" dan "Older" saja.
Tapi pada kesempatan ini saya akan membagikan beberapa cara penerapan blog pager atau navigasi blogger pada halaman post dengan tampilan yang berbeda-beda. Jadi saya akan menambahkan fungsi berupa merubah ke tulisan dari next dan prev ke judul postingan dan sehingga tampilan nya lebih terasa ke pengunjung. Sebab akan membantu pengunjung untuk mengetahui apa pembahasan dari artikel sebelum atau selanjutnya. Tentunya ini akan menjadikan blog lebih SEO friendly dan user friendly.
Saya akan membagikan dengan 2 cara yang dapat digunakan yaitu jQuery dan JavaScript dari kedua cara ini akan menghasilkan tampilan yang sama persis tanpa ada pembedaan terkecuali dibagian saat pembuatan kode pasti berbeda apabila menggunakan pure JavaScript.
Pertama. Pastikan blog kamu sudah ada library jQuery agar scriptnya bisa berjalan dengan baik. Apabila belum ada silahkan tambahkan kode berikut dan taruh di atas kode </head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" async="async"/>
Mengganti Navigasi Next dan Previous dengan Judul Postingan
Setelah menambahkan jQuery di blog Anda, sekarang ke bagian penerapannya dan silahkan di simak baik-baik langkah demi langkah nya.
- Pertama Anda tambahkan kode berikut sesudah kode <b:includeable id='main'>. Pilihlah yang ada di dalam widget Blog1.
- Sehingga hasilnya akan terlihat seperti berikut
- Untuk menampilkan Navigasinya, silahkan cari kode berikut
- Kemudian tambahkan kode ini di dalamnya.
- Sehingga hasil akhirnya seperti ini.
- Supaya terlihat makin cantik tambahkan kode css berikut. Simpan di atas kode </style> atau </b:skin>
- Terakhir, silahkan tambahkan kode berikut dan letakkan di atas </body>, silahkan pilih salah satu kode dibawah dengan fungsi sama.
<b:includable id='nav-post'>
<div class='nav-post'>
<div class='pagination-left'>
<b:if cond='data:newerPageUrl'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'/>
<b:else/>
<a href='javascript:;' title='No more post'>
<div class='pagination-header'><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' fill='currentColor'/></svg></span><span class='pagination-title'>Previous Post</span></div>
<div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
</a>
</b:if>
</div>
<div class='pagination-right'>
<b:if cond='data:olderPageUrl'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'/>
<b:else/>
<a href='javascript:;' title='No more post'>
<div class='pagination-header'><span class='pagination-title'>Next Post</span><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='currentColor'/></svg></span></div>
<div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
</a>
</b:if>
</div>
</div>
</b:includable>
<b:includable id='main' var='this'>...</b:includable>
<b:includable id='nav-post'>
<div class='nav-post'>
<div class='pagination-left'>
<b:if cond='data:newerPageUrl'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'/>
<b:else/>
<a href='javascript:;' title='No more post'>
<div class='pagination-header'><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' fill='currentColor'/></svg></span><span class='pagination-title'>Previous Post</span></div>
<div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
</a>
</b:if>
</div>
<div class='pagination-right'>
<b:if cond='data:olderPageUrl'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'/>
<b:else/>
<a href='javascript:;' title='No more post'>
<div class='pagination-header'><span class='pagination-title'>Next Post</span><span class='pagination-icon'><svg viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='currentColor'/></svg></span></div>
<div class='pagination-content'><span class='pagination-title'>This Is The Current Newest Page</span></div>
</a>
</b:if>
</div>
</div>
</b:includable>
<b:includable id='post' var='post'>
<b:if cond='data:view.isPost'>
<b:include name='nav-post'/>
</b:if>
<b:includable id='post' var='post'>
<article class='post hentry'.............
..........
..........
..........
</article>
<b:if cond='data:view.isPost'>
<b:include name='nav-post'/>
</b:if>
</b:includable>
.nav-post{display:flex;flex-flow:row nowrap;margin:40px -20px 40px -20px;justify-content:space-between}
.nav-post > *{display:flex;flex:0 0 50%;max-width:50%;padding:0 20px}
.nav-post a{display:flex;flex:1;flex-flow:column nowrap;color:currentColor}
.nav-post .pagination-right .pagination-header{margin-left:auto}
.nav-post .pagination-header{display:flex;align-items:center;font-size:12px;font-weight:700;margin-bottom:15px;letter-spacing:.1em;text-transform:uppercase;color:#666}
.nav-post .pagination-content{display:flex;align-items:center;font-size:14px;font-weight:700;line-height:1.45}
.nav-post .pagination-right .pagination-content{flex-flow:row-reverse;text-align:right}
.nav-post .pagination-content .pagination-title{color:currentColor;text-decoration-line:underline;text-decoration-color:transparent;transition:all .3s cubic-bezier(.32,.74,.57,1)}
.nav-post .pagination-content .pagination-title:hover{color:#005af0;text-decoration-color:currentColor}
.nav-post .pagination-thumb{display:flex;flex-shrink:0;margin-right:12px;width:50px;height:50px}
.nav-post .pagination-right .pagination-thumb{margin-right:0;margin-left:12px}
.nav-post .pagination-thumb img{width:100%;height:100%;border-radius:50%;object-fit:cover}
@media (max-width:480px){.nav-post > *:not(:last-child){border-right:thin solid rgba(0,0,0,.07)}.nav-post .pagination-thumb{display:none}}
<b:if cond='data:view.isPost'>
<script>/*<![CDATA[*/
(function ($) {
var next = 'Next';
var prev = 'Previous';
var newerLink = $('a.blog-pager-newer-link'); var olderLink = $('a.blog-pager-older-link');
$.get(newerLink.attr('href'), function (data) { var thumb = $(data)
.find('.post-body')
.length == 1 ? "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>" +next+ "</div></div><div class='pagination-content'>" : "";
newerLink.html(thumb + '<span class="pagination-title">' + $(data)
.find('.post-title')
.text() + '</span></div>') }, "html");
$.get(olderLink.attr('href'), function (data2) { var thumb2 = $(data2)
.find('.post-body')
.length == 1 ? "<div class='pagination-header'><div class='pagination-title'>"+prev+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'>" : "";
olderLink.html(thumb2 + '<span class="pagination-title">' + $(data2)
.find('.post-title')
.text() + '</span></div>') }, "html") })(jQuery); /*]]>*/</script>
</b:if>
<b:if cond='data:view.isPost'>
<script>/*<![CDATA[*/
var next = 'Next';
var prev = 'Previous';
if (/.+\.html(\?m=1)?$/.test(location.href)) {
var olderLink = document.getElementById('Blog1_blog-pager-older-link');
if (olderLink) {
getPageTitle(olderLink, setOlderPageTitle);
function setOlderPageTitle(data){
setPageTitle(data, olderLink, '')
};
}
var newerLink = document.getElementById('Blog1_blog-pager-newer-link');
if (newerLink) {
getPageTitle(newerLink, setNewerPageTitle);
function setNewerPageTitle(data){
setPageTitle2(data, newerLink, '')
};
}
function setPageTitle(data, pageLink, prefix, suffix) {
if (data.feed.entry) {
if (data.feed.entry.length > 0) {
var title = data.feed.entry[0].title.$t;
}
}
if (title) {
pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-title'>"+next+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
}
}
function setPageTitle2(data, pageLink, prefix, suffix) {
if (data.feed.entry) {
if (data.feed.entry.length > 0) {
var title = data.feed.entry[0].title.$t;
}
}
if (title) {
pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>"+prev+"</div></div><div class='pagination-content'><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
}
}
function getPageTitle(pageLink, callback) {
var pathname = pageLink.getAttribute('href').replace(location.protocol + '//' + location.hostname, '');
var script = document.createElement('script');
script.src = '/feeds/posts/summary?alt=json-in-script&max-results=1&redirect=false&path='+pathname+'&callback='+callback.name+'';
document.body.appendChild(script);
}
}/*]]>*/</script>
</b:if>
Perbandingan sebelum dan sesudah memakai JavaScript untuk mengubah navigasi next previous Blogger dengan judul artikel.
Bila ingin ditambahkan dengan tampilan gambar/image di navigasi prev dan previous, silahkan ubah kode JavaScript atau jQuery diatas dengan kode berikut:
<script>/*<![CDATA[*/
(function ($) {
var next = 'Next';
var prev = 'Previous';
var newerLink = $('a.blog-pager-newer-link'); var olderLink = $('a.blog-pager-older-link');
$.get(newerLink.attr('href'), function (data) { var thumb = $(data)
.find('.post-body')
.length == 1 ? "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>Previous Post</div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + $(data)
.find('.post-title')
.text() + "' src='" + $(data)
.find('.post-body img:first').attr('src', function(i, src) {return src.replace(/.*?:\/\//g , "//").replace( 's1600', 's386' );})
.attr('src') + "' class='image' width='386' height='170'/></span>" : "";
newerLink.html(thumb + '<span class="pagination-title">' + $(data)
.find('.post-title')
.text() + '</span></div>') }, "html");
$.get(olderLink.attr('href'), function (data2) { var thumb2 = $(data2)
.find('.post-body')
.length == 1 ? "<div class='pagination-header'><div class='pagination-title'>Previous Post</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + $(data2)
.find('.post-title')
.text() + "' src='" + $(data2)
.find('.post-body img:first').attr('src', function(i, src) {return src.replace(/.*?:\/\//g , "//").replace( 's1600', 's386' );})
.attr('src') + "' class='image' width='386' height='170'/></span>" : "";
olderLink.html(thumb2 + '<span class="pagination-title">' + $(data2)
.find('.post-title')
.text() + '</span></div>') }, "html") })(jQuery);/*]]>*/</script>
<script>/*<![CDATA[*/
var next = 'Next';
var prev = 'Previous';
if (/.+\.html(\?m=1)?$/.test(location.href)) {
var olderLink = document.getElementById('Blog1_blog-pager-older-link');
if (olderLink) {
getPageTitle(olderLink, setOlderPageTitle);
function setOlderPageTitle(data){
setPageTitle(data, olderLink, '')
};
}
var newerLink = document.getElementById('Blog1_blog-pager-newer-link');
if (newerLink) {
getPageTitle(newerLink, setNewerPageTitle);
function setNewerPageTitle(data){
setPageTitle2(data, newerLink, '')
};
}
function setPageTitle(data, pageLink, prefix, suffix) {
if (data.feed.entry) {
if (data.feed.entry.length > 0) {
var title = data.feed.entry[0].title.$t;
}
}
if (title) {
pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-title'>"+next+"</div><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z'></path></svg></div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + olderLink + "' src='" + data.feed.entry[0].media$thumbnail.url + "'/></span><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
}
}
function setPageTitle2(data, pageLink, prefix, suffix) {
if (data.feed.entry) {
if (data.feed.entry.length > 0) {
var title = data.feed.entry[0].title.$t;
}
}
if (title) {
pageLink.innerHTML = "<div class='pagination-header'><div class='pagination-icon'><svg viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z'></path></svg></div><div class='pagination-title'>"+prev+"</div></div><div class='pagination-content'><span class='pagination-thumb'><img alt='" + newerLink + "' src='" + data.feed.entry[0].media$thumbnail.url + "'/></span><span class='pagination-title'>"+ data.feed.entry[0].title.$t +"</span></div>";
}
}
function getPageTitle(pageLink, callback) {
var pathname = pageLink.getAttribute('href').replace(location.protocol + '//' + location.hostname, '');
var script = document.createElement('script');
script.src = '/feeds/posts/summary?alt=json-in-script&max-results=1&redirect=false&path='+pathname+'&callback='+callback.name+'';
document.body.appendChild(script);
}
}/*]]>*/</script>
Bagi yang mau melihat bagaimana hasilnya, silahkan klik tautan berikut Demo. Pada tampilan Demo. Saya menggunakan pure JavaScript seperti kode diatas untuk penerapannya.
Sampai disini saja dulu dan artikel pada blog ini akan terus saya update Setiap 3 Hari meskipun cuman Satu atau Dua saja tapi itu lebih baik daripada Tidak :#
Post a Comment