Enter your keyword

21 February, 2014

Butang Reply Pada Kotak Komen Tidak Berfungsi?

Butang Reply Pada Kotak Komen Tidak Berfungsi? - Penat betul saya nak selesaikan masalah ni. Dah beberapa hari buat trial & error tetapi masih buntu. Akhirnya hari ini saya jumpa juga penyelesaian masalah saya ni. Terima kasih pada blogger ini yang begitu genius boleh selesaikan masalah saya...

Untuk anda semua yang ada masalah dengan butang reply pada threaded comments box korang, cuba ikut cara berikut.



Aktifkan Butang Reply Pada Kotak Komen

 1. Masuk ke Blogger

2. Pergi ke Template > Edit HTML

3. Cari kod berikut: <b:includable id='threaded_comment_js' var='post'> , dan highlight semua..

4. Gantikan dengan kod berikut:

<b:includable id='threaded_comment_js' var='post'><script async='async' expr:src='data:post.commentSrc' type='text/javascript'/><script type='text/javascript'>(function() {var items = <data:post.commentJso/>;var msgs = <data:post.commentMsgs/>;var config = <data:post.commentConfig/>;// <![CDATA[var cursor = null;if (items && items.length > 0) {cursor = parseInt(items[items.length - 1].timestamp) + 1;}var bodyFromEntry = function(entry) {if (entry.gd$extendedProperty) {for (var k in entry.gd$extendedProperty) {if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {return '<span class="deleted-comment">' + entry.content.$t + '</span>';}}}return entry.content.$t;}var parse = function(data) {cursor = null;var comments = [];if (data && data.feed && data.feed.entry) {for (var i = 0, entry; entry = data.feed.entry[i]; i++) {var comment = {};// comment ID, parsed out of the original id formatvar id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);comment.id = id ? id[2] : null;comment.body = bodyFromEntry(entry);comment.timestamp = Date.parse(entry.published.$t) + '';if (entry.author && entry.author.constructor === Array) {var auth = entry.author[0];if (auth) {comment.author = {name: (auth.name ? auth.name.$t : undefined),profileUrl: (auth.uri ? auth.uri.$t : undefined),avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)};}}if (entry.link) {if (entry.link[2]) {comment.link = comment.permalink = entry.link[2].href;}if (entry.link[3]) {var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);if (pid && pid[1]) {comment.parentId = pid[1];}}}comment.deleteclass = 'item-control blog-admin';if (entry.gd$extendedProperty) {for (var k in entry.gd$extendedProperty) {if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;}}}comments.push(comment);}}return comments;};var paginator = function(callback) {if (hasMore()) {var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';if (cursor) {url += '&published-min=' + new Date(cursor).toISOString();}window.bloggercomments = function(data) {var parsed = parse(data);cursor = parsed.length < 50 ? null: parseInt(parsed[parsed.length - 1].timestamp) + 1callback(parsed);window.bloggercomments = null;}url += '&callback=bloggercomments';var script = document.createElement('script');script.type = 'text/javascript';script.src = url;document.getElementsByTagName('head')[0].appendChild(script);}};var hasMore = function() {return !!cursor;};var getMeta = function(key, comment) {if ('iswriter' == key) {var matches = !!comment.author&& comment.author.name == config.authorName&& comment.author.profileUrl == config.authorUrl;return matches ? 'true' : '';} else if ('deletelink' == key) {return config.baseUri + '/delete-comment.g?blogID='+ config.blogId + '&postID=' + comment.id;} else if ('deleteclass' == key) {return comment.deleteclass;}return '';};var replybox = null;var replyUrlParts = null;var replyParent = undefined;var onReply = function(commentId, domId) {if (replybox == null) {// lazily cache replybox, and adjust to suit this style:replybox = document.getElementById('comment-editor');if (replybox != null) {replybox.height = '250px';replybox.style.display = 'block';replyUrlParts = replybox.src.split('#');}}if (replybox && (commentId !== replyParent)) {document.getElementById(domId).insertBefore(replybox, null);replybox.src = replyUrlParts[0]+ (commentId ? '&parentID=' + commentId : '')+ '#' + replyUrlParts[1];replyParent = commentId;}};var hash = (window.location.hash || '#').substring(1);var startThread, targetComment;if (/^comment-form_/.test(hash)) {startThread = hash.substring('comment-form_'.length);} else if (/^c[0-9]+$/.test(hash)) {targetComment = hash.substring(1);}// Configure commenting API:var configJso = {'maxDepth': config.maxThreadDepth};var provider = {'id': config.postId,'data': items,'loadNext': paginator,'hasMore': hasMore,'getMeta': getMeta,'onReply': onReply,'rendered': true,'initComment': targetComment,'initReplyThread': startThread,'config': configJso,'messages': msgs};var render = function() {if (window.goog && window.goog.comments) {var holder = document.getElementById('comment-holder');window.goog.comments.render(holder, provider);}};// render now, or queue to render when library loads:if (window.goog && window.goog.comments) {render();} else {window.goog = window.goog || {};window.goog.comments = window.goog.comments || {};window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];window.goog.comments.loadQueue.push(render);}})();// ]]></script></b:includable> 

 5. SAVE dan cuba kota komen anda. Adakah butang Reply sudah berfungsi?

Semoga berjaya.

2 comments:

Boleh komen jika mahu, boleh LIKE jika suka. TERIMAKASIH.