Wednesday, January 9, 2013

Membuat Fitur Komentar Berbalas (Threaded Comments) pada Blogger dengan Fungsional yang Asli

Pembaharuan 2018/05/17: Sintaks dan struktur HTML sudah berubah. Beberapa diskusi yang terdapat di dalam ruang komentar mungkin sudah tidak relevan lagi dengan isi artikel.

Membuat Fitur Komentar Berbalas (Threaded Comments) pada Blogger dengan Fungsional yang Asli
Mengaktifkan fitur threaded commenting non-standar pada Blogger.

Setelah berhasil menemukan beberapa metode untuk menciptakan komentar bersarang (atau berbalas??) pada Blogger, Saya rasa metode dari bX-NicoNico adalah yang paling bagus. Mengapa?

  1. Dia tidak menggunakan elemen <data:post.commentJso/> sebagai salah satu elemen yang dibutuhkan untuk sistem ini, sehingga markup HTML akan menjadi lebih pendek dari markup HTML pada template dengan fitur komentar bersarang yang masih standar. (Fitur komentar bersarang yang masih standar akan menampilkan JSON komentar sebelum daftar komentar, sehingga jumlah karakter markup HTML pada fitur komentar bersarang yang masih standar akan menjadi dua kali lipat lebih panjang dibandingkan markup komentar biasa.
  2. Layout komentar tertata secara otomatis. JavaScript hanya digunakan untuk mengubah URL pada iframe formulir komentar dan juga untuk memindahkan posisinya sesuai dengan ID komentar induk masing-masing.
  3. Karena layout komentar ditata secara otomatis oleh Blogger, maka saat JavaScript dimatikan, tata letak komentar balasan akan tetap berada pada posisi yang benar. Ini berbeda dengan beberapa hack komentar bersarang Blogger yang hanya menggunakan JavaScript (yang juga telah Saya pakai sampai sekarang) untuk memposisikan komentar-komentar balasan, sehingga saat JavaScript dimatikan, layout komentar akan berantakan.

Berikut ini adalah fitur komentar versi Saya yang lebih pendek dan lebih mudah dalam hal instalasi yang Saya buat berdasarkan konsep dari Felipe, yaitu dengan cara menggunakan elemen data baru bernama <data:comment.inReplyTo/> untuk menyaring anak-anak komentar yang tampil. Elemen ini berfungsi untuk menampilkan ID komentar induk pada masing-masing komentar balasan. Saya bisa mengatakan bahwa metode ini adalah metode yang paling tepat dan bukan merupakan “hack”, karena kita menerapkan elemen yang ada dari Blogger untuk dimanfaatkan sesuai dengan tugasnya:

Lihat Demo


Mengaktifkan Fitur Komentar Bersarang pada Blogger

Pertama-tama buka editor HTML template Anda kemudian cek Expand Template Widget. Temukan kode ini:

]]></b:skin>

Salin kode CSS ini dan letakkan di atasnya:

/* Begin custom comments */

.comments,
.comment {
  margin: 0;
  padding: 0;
  list-style: none;
  letter-spacing: 0;
}
.comments::after,
.comment::after,
.comment-header::after,
.comment-body::after,
.comment-footer::after {
  content: "";
  display: table;
  clear: both;
}
.custom-comments {
  margin: 3em 0 0;
  font: normal normal 13px/1.4 Tahoma, Helmet, FreeSans, sans-serif;
}
.custom-comments a {
  color: #2143b4;
  text-decoration: none;
}
.custom-comments a:hover {
  text-decoration: underline;
}
.custom-comments .comment {
  margin: 0 0 .5em;
  padding: 0 0 .75em 0;
  border-bottom: 1px solid #eee;
  position: relative;
}
.custom-comments .comment-header {
  margin: 0 0 1em 0;
}
.custom-comments .comment-author {
  float: left;
}
.custom-comments .comment-url {
  float: right;
}
.custom-comments .comment-avatar {
  width: 65px;
  float: left;
}
.custom-comments .comment-avatar a,
.custom-comments .comment-avatar img {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  display: block;
  float: none;
  width: 50px;
  height: 50px;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
}
.custom-comments .comment-avatar img {
  border: 1px solid #ddd;
  padding: 4px;
  background: #fafafa;
}
.custom-comments .comment-body {
  margin: -5px 0 1em 75px;
}
.custom-comments .comment.reply {
  margin: 0 0 1em 75px;
  padding: 1em 1.2em;
  background: #fff7d1;
  border: 0;
  position: relative;
  font-size: 86%;
}
.custom-comments .comment.reply::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  border: 10px solid transparent;
  border-color: #fff #f5f2d8 #f5f2d8 #fff;
}
.custom-comments .comment.reply .comment-author {
  margin-left: 15px;
}
.custom-comments .comment.reply a {
  color: #767643;
}
.custom-comments .comment.reply .comment-avatar img {
  border-color: #eae5c4;
  background: #f5f0d3;
}
.custom-comments .comment-footer {
  margin: 0 0 .125em 75px;
  text-align: right;
}
.custom-comments .comment-footer a,
.custom-comments .a-undo {
  display: inline-block;
  border: 1px solid #ddd;
  padding: .15em .65em .2em;
  margin: 0 0 0 .25em;
  border-radius: 1em;
  text-decoration: none;
  outline: none;
}
.custom-comments .comment.reply .comment-footer a {
  border-color: #eae5c4;
}
.custom-comments .comment-footer .a-reply::before {
  content: '\2714';
  color: #3db537;
  display: inherit;
  margin: 0 .25em 0 -.125em;
}
.custom-comments .comment-footer .a-delete::before {
  content: '\2718';
  color: #b42a21;
  display: inherit;
  margin: 0 .25em 0 -.125em;
}
.custom-comments .comment-footer a:hover,
.custom-comments .a-undo:hover {
  border-color: #ccc;
  text-decoration: none;
}
.custom-comments .comment-footer a:focus,
.custom-comments .comment-footer a:active,
.custom-comments .a-undo:focus,
.custom-comments .a-undo:active {
  border-color: #aaa;
}
.custom-comments .comment.reply .comment-footer a {
  background: #fffad6;
  border-color: #e3deb7;
}
.custom-comments .comment.reply .comment-footer a:hover {
  border-color: #d6d1aa;
}
.custom-comments .comment.reply .comment-footer a:focus,
.custom-comments .comment.reply .comment-footer a:active {
  border-color: #bcb795;
}
.custom-comments .custom-comment-form {
  margin: 1em 0 2em;
  clear: both;
}
.custom-comments .comment .custom-comment-form {
  border: 1px solid #eee;
  padding: 1em;
  margin-left: 75px;
}
.custom-comments #comment-editor {
  max-width: none;
  width: 100%;
  height: 250px;
  background: none;
  border: 0;
}
.custom-comments .custom-comment-form .a-undo {
  display: none;
}
.custom-comments .comment .custom-comment-form .a-undo {
  display: inline-block;
}
.custom-comments .comment .custom-comment-form h4 {
  display: none;
}
.custom-comments .custom-comment-editor-wrapper {
  background: transparent url('data:image/gif;base64,R0lGODlhEgAEAKEAAH9/fwAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJDwACACwAAAAAEgAEAAACB5SPqcvtrwoAIfkECQ8AAgAsAAAAAAQABAAAAgSEjwkFACH5BAkPAAIALAAAAAALAAQAAAIMjCMJC4fKXBKsnVkLACH5BAkPAAIALAAAAAASAAQAAAIRjCN5mOCwkojt0Xnkg1l1sRUAIfkECQ8AAgAsAAAAABIABAAAAhGEIRkbKRwOUsxBaStdeDdfAAAh+QQJDwACACwHAAAACwAEAAACDIQhGRuHylwSrJ1ZCwAh+QQFDwACACwOAAAABAAEAAACBISPCQUAOw==') no-repeat 50% 50%;
}
.custom-comments-pager {
  font-size: 80%;
  text-align: center;
  width: auto;
  height: auto;
  line-height: normal;
  margin: 1em 0;
  float: none;
  display: block;
  clear: both;
  border: 1px solid #eee;
  padding: .5em 1em;
  overflow: hidden;
}
.custom-comments-pager .unneeded-paging-control {
  display: none;
}
.custom-comments-pager .paging-control {
  display: inline;
}

/* Author comment style */
.custom-comments .comment.is-author {}
.custom-comments .comment.is-author > .comment-header {}

/* Deleted comment style */
.custom-comments .comment.is-deleted > .comment-body {
  font-style: italic;
  color: #aaa;
}

/* End custom comments */

Kemudian cari kode ini:

<b:includable id='comments' var='post'>

Salin kode ini, dan letakkan di atasnya:

<b:includable id='custom-comments' var='post'>
  <b:with value='{
      delete: &quot;Delete&quot;,
      reply: &quot;Reply&quot;,
      undo: &quot;Cancel Reply&quot;
  }' var='text'>
    <section class='custom-comments' id='custom-comments'>
      <b:if cond='data:post.allowComments'>
        <h4>
          <b:if cond='data:post.numComments == 1'>
            <span>1</span> <data:commentLabel/>
          <b:else/>
            <span><data:post.numComments/></span> <data:commentLabelPlural/>
          </b:if>
        </h4>
        <b:if cond='data:post.comments.size &gt; 0'>
          <ul class='comments'>
            <b:loop values='data:post.comments' var='comment'>
              <b:if cond='!data:comment.inReplyTo'>
                <b:include data='comment' name='custom-comments-comment'/>
              </b:if>
            </b:loop>
          </ul>
        </b:if>
        <b:include data='post' name='custom-comments-pager'/>
        <b:include data='post' name='custom-comments-form'/>
      </b:if>
    </section>
  </b:with>
</b:includable>
<b:includable id='custom-comments-comment' var='comment'>
  <li class='comment' expr:id='data:comment.anchorName'>
    <b:class cond='data:comment.authorClass' name='is-author'/>
    <b:class cond='data:comment.isDeleted' name='is-deleted'/>
    <header class='comment-header'>
      <strong class='comment-author'>
        <b:if cond='data:comment.authorUrl'>
          <a expr:href='data:comment.authorUrl' rel='nofollow' target='_blank'><data:comment.author/></a>
        <b:else/>
          <data:comment.author/>
        </b:if> <data:commentPostedByMsg/>
      </strong>
      <a class='comment-url' expr:href='data:comment.url'><data:comment.timestamp/></a>
    </header>
    <figure class='comment-avatar'>
      <img alt='' expr:src='resizeImage(data:comment.authorAvatarSrc, 50)'/>
    </figure>
    <div class='comment-body'>
      <data:comment.body/>
    </div>
    <b:with value='data:post.comments filter (i =&gt; i.inReplyTo == data:comment.id)' var='replies'>
      <b:if cond='data:replies.size &gt; 0'>
        <ul class='comments replies'>
          <b:loop values='data:replies' var='reply'>
            <b:include data='reply' name='custom-comments-comment-reply'/>
          </b:loop>
        </ul>
      </b:if>
    </b:with>
    <footer class='comment-footer'>
      <b:if cond='!data:comment.isDeleted'>
        <a class='a-reply' expr:href='&quot;javascript:replyTo(&amp;quot;&quot; + data:comment.id + &quot;&amp;quot;);&quot;'><data:text.reply/></a>
      </b:if>
      <a class='a-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'><data:text.delete/></a>
    </footer>
  </li>
</b:includable>
<b:includable id='custom-comments-comment-reply' var='reply'>
  <li class='comment reply' expr:id='data:reply.anchorName'>
    <b:class cond='data:reply.authorClass' name='is-author'/>
    <b:class cond='data:reply.isDeleted' name='is-deleted'/>
    <header class='comment-header'>
      <strong class='comment-author'>
        <b:if cond='data:reply.authorUrl'>
          <a expr:href='data:reply.authorUrl' rel='nofollow' target='_blank'><data:reply.author/></a>
        <b:else/>
          <data:reply.author/>
        </b:if> <data:commentPostedByMsg/>
      </strong>
      <a class='comment-url' expr:href='data:reply.url'><data:reply.timestamp/></a>
    </header>
    <figure class='comment-avatar'>
      <img alt='' expr:src='resizeImage(data:reply.authorAvatarSrc, 50)'/>
    </figure>
    <div class='comment-body'>
      <data:reply.body/>
    </div>
    <footer class='comment-footer'>
      <a class='a-delete' expr:href='data:reply.deleteUrl' expr:title='data:top.deleteCommentMsg'><data:text.delete/></a>
    </footer>
  </li>
</b:includable>
<b:includable id='custom-comments-form' var='post'>
  <div class='custom-comment-form' id='custom-comment-form'>
    <h4><data:postCommentMsg/></h4>
    <p><data:blogCommentMessage/></p>
    <data:blogTeamBlogMessage/>
    <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
    <div class='custom-comment-editor-wrapper'>
      <iframe class='blogger-iframe-colorize blogger-comment-from-post' id='comment-editor' name='comment-editor' src=''/>
    </div>
    <data:post.friendConnectJs/>
    <data:post.cmtfpIframe/>
    <script>BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);</script>
    <a class='a-undo' href='javascript:replyTo(0);'><data:text.undo/></a>
  </div>

  <script>
    //<![CDATA[
    var originalSource = document.getElementById('comment-editor').src.split('#');
    function replyTo(id) {
      var frame = document.getElementById('comment-editor'),
          form = document.getElementById('custom-comment-form'),
          container = id ? document.getElementById('c' + id) : document.getElementById('custom-comments'),
          part = originalSource;
      frame.style.height = "50px";
      frame.style.visibility = "hidden";
      frame.src = id ? part[0] + '&parentID=' + id + '#' + part[1] : part[0] + '#' + part[1];
      container.insertBefore(form, null);
      frame.onload = function() {
        this.style.height = "250px";
        this.style.visibility = "visible";
      };
    }
    //]]>
  </script>
</b:includable>
<b:includable id='custom-comments-pager' var='post'>
  <b:if cond='data:post.commentPagingRequired'>
    <nav class='custom-comments-pager'>
      <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>&#160;
      <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>&#160;
      <data:post.commentRangeText/>&#160;
      <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>&#160;
      <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
    </nav>
  </b:if>
</b:includable>

Terakhir tinggal mengaktifkan fitur komentar kita. Cari semua kode yang tampak seperti ini:

<b:include data='post' name='threaded_comments'/>

atau seperti ini:

<b:include data='post' name='comments'/>

Di manapun Anda menemukan kode itu, segera ganti dengan kode ini:

<b:include data='post' name='custom-comments'/>

Klik Simpan Template.

Konfigurasi

Kode-kode yang Saya beri tanda adalah label-label tombol dan bisa Anda ganti teksnya sesuka hati sesuai dengan bahasa pada negara dimana Anda tinggal. Fitur penanda komentar administrator juga ada. Untuk mengaktifkannya, Anda bisa menggunakan selektor-selektor CSS yang tercantum di atas, kemudian awali dengan kelas .is-author untuk menandai komentar penulis. Sebagai contoh, Saya akan memberikan border warna merah dan latar warna kuning pada komentar administrator, maka yang harus Anda lakukan adalah seperti ini:

.comment.is-author {
  border: 5px solid #900;
  background-color: #ff0;
}
.comment.is-author > .comment-body {
  font-size: 200%;
}

Catatan: Bagi Anda yang selama ini telah lama menggunakan fitur komentar bersarang lebih dari dua level (seperti blog Saya), sangat disarankan untuk tidak menerapkan modifikasi di atas, karena Saya hanya menggunakan loop komentar balasan sebanyak satu kali:

<b:loop values='data:post.comments' var='reply'>
  <b:if cond='data:reply.inReplyTo == data:comment.id'>
    Komentar balasan muncul di sini…
  </b:if>
</b:loop>

Seperti yang Anda lihat bahwa Saya hanya membandingkan nilai data:var.inReplyTo pada komentar balasan dengan ID komentar induk sekali saja (satu kali loop), sehingga jika komentar balasan lama Anda berada di level ke tiga dan seterusnya, komentar-komentar tersebut tidak akan tampil dalam posting Anda dikarenakan ID komentar induknya tidak sempat lolos penyaringan terhadap data:var.inReplyTo pada anak komentar di level tersebut.

Blog yang masih baru atau blog lama dengan sedikit komentar dan blog dengan fitur komentar yang masih lama bisa melakukan modifikasi ini dengan aman.

Labels: ,

145 Comments:

At Wednesday, January 9, 2013 at 12:23:00 PM GMT+7, Blogger IRIL SAGITA said...

Akhirnya di post juga, makasih ya kak, aku udah nungguin lama banget ni posting !

 
At Wednesday, January 9, 2013 at 4:27:00 PM GMT+7, Blogger Dixy said...

Mau nanya nih Mas Taufik, saya kan bukan admin ataupun pemilik dari komentar yang ada dalam blog demo tersebut.
Tapi kok ada tombol hapusnya ya...?
Sepertinya blog Mas Taufik yang ini juga seperti itu.
Kenapa ya...? :)

 
At Wednesday, January 9, 2013 at 7:43:00 PM GMT+7, Blogger Beben Koben said...

alami saja aaahhh, dah pusing ngotak-ngatik kode :D

 
At Wednesday, January 9, 2013 at 9:07:00 PM GMT+7, Blogger kamu info said...

.item-control {
display: none;
}
setahu gw kaya bgitu kalo ngilangin tombol hapus wkwkkw

 
At Wednesday, January 9, 2013 at 9:08:00 PM GMT+7, Blogger kamu info said...

wah mantap nih mas Threaded Commentsnya \o/

 
At Thursday, January 10, 2013 at 12:53:00 AM GMT+7, Blogger Beben Koben said...

memang gitu keadaannya kaleee! gakda yg aneh duong :P
aya-aya wae?
kalo di ilangin, entar kasian dong jika salah komentar, komentator mau hapus kagak bisa?

 
At Thursday, January 10, 2013 at 10:55:00 AM GMT+7, Blogger Unknown said...

walaupun ada, gak bakalan ngaruh kalo di pencet kalo bukan si pemilik komentar (di luar si admin blog nya yaa) yang hapus sendiri...

Tapi kalo di form thread komentar blogger yang lama, kalo mau menghilangkan tombol itu, widget navbar nya di non aktifkan saja.. kalo form komentar ini, belum nyobaaa.... ^:D

 
At Thursday, January 10, 2013 at 4:54:00 PM GMT+7, Blogger Dixy said...

nah kan jadi kaya gmaanaa gtu...

 
At Friday, January 11, 2013 at 12:27:00 AM GMT+7, Blogger Taufik Nurrohman said...

Lebih bagus kalau ada tombol hapusnya. Lebih bagus lagi kalau ada tombol editnya, jadi penulis komentar bisa mengedit komentarnya. Misalnya karena salah ketik (setidaknya sebelum ada komentator lain yang membalas komentarnya).

Kalau mau menghilangkan tombol hapus di fitur ini, cukup tambahkan CSS ini di atas ]]></b:skin>

.delete-btn {display:none}

 
At Friday, January 11, 2013 at 8:12:00 AM GMT+7, Anonymous Anonymous said...

mas ,
aku ingin bertanya ,
cara nambahin kata mengatakan itu gimana mas,,.
tampat harus menerapkan komentar ini..?

Sekian mas ,
semoga terbalas , :)

 
At Friday, January 11, 2013 at 8:28:00 AM GMT+7, Blogger Taufik Nurrohman said...

.comments .comment-header cite.user:after {
content:" mengatakan...";
}

 
At Friday, January 11, 2013 at 7:05:00 PM GMT+7, Blogger kamu info said...

o iya mas klo misalnya nambahin emotion codenya gmana pada threaded comment yang mas posting ini ? mohon dijawab :)

 
At Friday, January 11, 2013 at 8:42:00 PM GMT+7, Blogger Taufik Nurrohman said...

Aktifkan fitur manipulasi komentar ini ⇒ Paket JavaScript Fitur Manipulasi Komentar Blogger
Lalu pada bagian pengaktifan akhir, ganti ID comment-holder menjadi comments-area:

repText('comments-area');

 
At Saturday, January 12, 2013 at 8:53:00 PM GMT+7, Blogger kamu info said...

sip mas :D

 
At Friday, January 18, 2013 at 1:21:00 AM GMT+7, Blogger Unknown said...

Jadi ada pilihan untuk merubah Threaded Comments bawaan dari blogger..
mas mau nanya nih..
bisa tidak resolusi gambar avatarx diatur??
seperti diblog http://blog.duypham.info/

 
At Friday, January 18, 2013 at 3:18:00 PM GMT+7, Blogger Taufik Nurrohman said...

Saya pakai ini:

$('.avatar-image-container img').each(function() {
var src = ($(this).attr('longdesc')) ? $(this).attr('longdesc').replace(/\/s[0-9]+(\-c|\/)/ig,"/s50$1") : $(this).attr('src').replace(/\/s[0-9]+(\-c|\/)/ig,"/s50$1");
$(this).attr('src',src);
});


Tapi percuma sih sebenarnya, peramban modern biasanya akan tetap mengunduh gambar resolusi aslinya (gambar sebelumnya) meskipun setelah itu URL-nya diganti dengan yang baru (jadi harus memuat gambar dua kali).

 
At Friday, January 18, 2013 at 10:00:00 PM GMT+7, Blogger Unknown said...

oh jadi sulit yah mas..

kira2 komentar di blog http://blog.duypham.info/ menggunakan JS seperti di atas untuk merubah url gambarnya ngak mas..
atau menggunakan cara lain untuk memanggil gambarnya
misalnya API blogger..
???

 
At Saturday, January 19, 2013 at 7:26:00 AM GMT+7, Blogger Taufik Nurrohman said...

Dia cuma memakai cara seperti ini:

var cL = document.getElementById('comments-area'),
c = cL.getElementsByTagName('span');
if (c) {
for (z = 0; z < c.length; z++) {
f = c.item(z).innerHTML;
if (f.indexOf('style="') != -1) {
f = f.replace(/src="http:\/\/img1.blogblog.com\/img\/blank.gif"/, '');
f = f.replace(/display: none/i, '');
f = f.replace(/longdesc=/i, 'src=');
f = f.replace(/\/s[0-9]+\//, '/s50/');
c.item(z).innerHTML = f;
}
}
}

 
At Saturday, January 19, 2013 at 12:08:00 PM GMT+7, Blogger azewdsignet said...

Mas taufik numpang tanya`mau cari tutorial merubah komentar kaya mas taufik sbelah mana ya ?

 
At Saturday, January 19, 2013 at 2:34:00 PM GMT+7, Blogger Unknown said...

jadi tambah pusing..
lihat JSnya..

oh ia mas sepertinya masih ada sedikit error di thread comments yang mas buat..
dibagian pembungkus authornya..
saya lihat susunan html balasan/reply nya..
jika author yang komentar pertama maka dibagian balasan akan terbungkus juga dengan div dengan class author-comment..
klo di halaman demo dibagian komentar kang kapuk dan Ahmad Nurfadilah.. di bungkus class author-comment..

 
At Saturday, January 19, 2013 at 2:54:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tidak ada.

 
At Saturday, January 19, 2013 at 3:10:00 PM GMT+7, Blogger Taufik Nurrohman said...

Sudah diperbaiki. Salin ulang kode XML di atas untuk menggantikan kode yang lama. Trims atas masukannya.
Untuk mengetes komentar administrator bisa memakai kode CSS ini:

.author-comment > .comment-item,
.author-comment > .comment-reply {outline:2px dashed red}


Nantinya komentar penulis akan dikelilingi outline berwarna merah.

 
At Saturday, January 19, 2013 at 4:27:00 PM GMT+7, Blogger Unknown said...

mas tofik kalo mau bikin fungsi yang emotikon di klik terus keluar kodenya ada tutorialnya gak

misal saya klik ":)" yang keluar emotikon :)
ada tutorianya gak mas

 
At Saturday, January 19, 2013 at 4:29:00 PM GMT+7, Blogger Unknown said...

sory kebalik maksudnya saya kli emotikon :) yang keluar kode ":)" yang di highlight

 
At Sunday, January 20, 2013 at 12:01:00 AM GMT+7, Blogger Unknown said...

Wah saran diterima..
nanti mau coba implementasikan di blog lain...
karena sudah terlanjur pake yang bawaan blogger dan sudah modif dgn CSS jadi klo mau beralih ke yang satu ini sulit karena perlu rubah lagi CSS agar sesuai template blog..

Kelebihan dari thread comment ini menurut saya dapat membantu dalam mengurangi kesalahan error jika di test dengan valid html, karena elemen htmlnya terbuka tidak seperti bawaan blogger yang terdapat banyak tag yang tidak valid seperti name, kind, t, c..

 
At Tuesday, January 22, 2013 at 4:40:00 PM GMT+7, Blogger Ave Ry said...

makasih mas,,, bookmarked nih,, saya mau tanya kalo ngaktifin threaded comments tapi pengen yang nggk pop out, gimana ya? soalnya saya nemu yang biasa, yang standar, tp jadina pas klik reply kotak komentarnya mucul pop out,, pengennya muncul di bawah ada

 
At Tuesday, January 22, 2013 at 6:57:00 PM GMT+7, Blogger Taufik Nurrohman said...

Emoticon Blogger Otomatis dengan JQuery

 
At Thursday, January 24, 2013 at 1:50:00 PM GMT+7, Blogger Unknown said...

apa bisa bagian replynya dibungkus dengan tag div??
klo bisa kira2 bagaimana tag kondisional yang dipakai??

 
At Thursday, January 24, 2013 at 3:29:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tergantung. Tombolnya atau formulirnya.

 
At Thursday, January 24, 2013 at 4:13:00 PM GMT+7, Blogger Unknown said...

maksud saya semua bagian komentar balasan dibungkus lagi tag div..
kurang lebih seperti ini htmlnya:
<div class="item komentar">
......
<div class="area-balasan">
<div class="item balas">
.....
</div>
<div class="item balas">
.....
</div>
<div class="item balas">
.....
</div>
</div>
</div>

<div class="item komentar">
......
</div>

<div class="item komentar">
......
<div class="area-balasan">
<div class="item balas">
.....
</div>
</div>
</div>

kira-kira bentuk tag kondisionalnya agar tag div dgn class area-balasan hanya muncul ketika terdapat balasan bagaimana yah mas..
karena saya lihat di http://nicondroid.blogspot.com/p/custom-threaded-comments-in-blogger.html
dia bisa menerapkannya..

 
At Thursday, January 24, 2013 at 4:56:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kira-kira seperti ini:

Sebelum:

<b:loop values='data:post.comments' var='replies'>
<b:if cond='data:replies.inReplyTo == data:comment.id'>
...
...
...
</b:if> <!-- replies.inReplyTo -->
</b:loop>


Sesudah:

<div class='area-balasan'>
<b:loop values='data:post.comments' var='replies'>
<b:if cond='data:replies.inReplyTo == data:comment.id'>
...
...
...
</b:if> <!-- replies.inReplyTo -->
</b:loop>
</div> <!-- .area-balasan -->


Tapi area balasan nantinya tetap muncul meskipun isinya kosong seperti ini:

<div class='comment-item'>
...
...
...
<div class='area-balasan'></div>
</div>


Kalau kita tambahkan padding pada area balasan misalnya, walaupun komentar balasannya tidak ada, area balasannya tetap tampak. Hasilnya jadi kurang bagus.

 
At Thursday, January 24, 2013 at 7:23:00 PM GMT+7, Blogger Unknown said...

apa ada tag kondisionalnya agar area balasannya tidak muncul jika tidak ada komentar balasan??
seperti tag div untuk komentar admin yang muncul jika ada admin berkomentar..
<b:if cond='data:comment.author == data:post.author'>....</b:if>
misalnya seperti:
<b:if cond='data:comment.numCommentsReply != 0'>....</b:if>
atau apalah??

 
At Thursday, January 24, 2013 at 9:26:00 PM GMT+7, Blogger Unknown said...

Alhamdulillah.....

ketemu juga akhirnya komentar yang hampir persis seperti di blog kak taufik ini, yang terdiri dari beberapa level balasan dan fitur form balas di bawah komentar terkait.

terima kasih banyak kak taufik atas ilmunya ?

 
At Thursday, January 24, 2013 at 9:37:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tidak ada. Yang mendapat data tambahan itu cuma anak komentar (dapat data berupa ID komentar induk).

 
At Thursday, January 24, 2013 at 9:41:00 PM GMT+7, Blogger Taufik Nurrohman said...

Lebih lengkap: Kumpulan Blogger Thread Comments Hack

 
At Thursday, January 24, 2013 at 9:53:00 PM GMT+7, Blogger Unknown said...

jadi tidak ada yah mas..
saya juga yang salah mas.
saya kira metode dari bX-NicoNico dpt membuat yang seperti yang saya mau ternyata hanya seperti yang mas tulis hanya langsung membungkusnya dengan tag div..
btw terima kasih atas jawabannya..
sukses selalu mas taufik..

 
At Friday, January 25, 2013 at 1:00:00 PM GMT+7, Blogger Unknown said...

Jadinya seperti ini kak :

http://4.bp.blogspot.com/-q5zvih61vHg/UQIaOZ4qdRI/AAAAAAAAANk/sJomYpyetJA/s400/New%2BComment.png

Kalau tanpa kak taufik mungkin aku gak bisa buat komentar seperti itu, hampir semua code blog aku belajar dari Blog DTE.

Teri kasih yang tiada terkira kak ? :-bd :-bd :-bd

 
At Tuesday, January 29, 2013 at 5:42:00 AM GMT+7, Blogger azewdsignet said...

mas taufik, saya sudah pasang (Threaded Comments) itu berhasil tapi imbasnya emoticon ya ga jadi icon malah code..!!

 
At Tuesday, January 29, 2013 at 8:26:00 AM GMT+7, Blogger Taufik Nurrohman said...

ID komentar ini sudah tidak standar. Coba beberapa selektor ini:

1. #custom-comments
2. #comments-area
3. #custom-comment-form

 
At Monday, February 4, 2013 at 8:30:00 PM GMT+7, Anonymous Anonymous said...

mas taufik kok icon saya yang di tutorial yang ini " http://www.dte.web.id/2012/09/menandai-komentar-admin-pada-thread.html ". hilang ya, setalah pakai ini.... :'(

 
At Monday, February 4, 2013 at 9:07:00 PM GMT+7, Blogger Unknown said...

ini sudah saya terapkan di blog saya mas, tapi kayaknya ada sistem yang salah pada penandaan komentar admin / author, yaitu kalau user biasa mengomentari komentar author maka komentar dari user tersebut ikut ditandai sebagai komentar author, contohnya seperti di gambar ini mas:

http://2.bp.blogspot.com/-CgBeW9ZWnEU/UQ-_-HMfIHI/AAAAAAAACvc/CPemhtV82Yc/s1600/gagal123komen.png

disitu saya menandai komentar admin dengan border-right berwarna biru di header comment nya, tetapi saat user lain mengomentarinya maka komentar tersebut ikut ditandai sebagai komentar admin

solusinya gimana mas?
makasih sebelumnya :)

 
At Monday, February 4, 2013 at 9:12:00 PM GMT+7, Blogger Taufik Nurrohman said...

Beda markup, beda tampilan juga. Kalau mau membuat ikon sendiri, harus membuat markup baru yang kemudian harus dibungkus lagi dengan tag kondisional administrator, supaya ikon hanya muncul pada komentar administrator saja. Atau cukup pakai CSS pseudo elemen untuk membuat ikon palsu dari favicon blog, dengan memanfaatkan kelas administrator yang Saya tambahkan di atas. Seperti ini:

.custom-comments .author-comment .comment-reply .user:after {display:none}
.custom-comments .author-comment .user:after,
.custom-comments .author-comment .author-comment .comment-reply .user:after {
content:url("/favicon.ico");
display:inline-block;
width:16px;
height:16px;
vertical-align:top;
margin:0 0 0 5px;
}

 
At Monday, February 4, 2013 at 9:32:00 PM GMT+7, Blogger Taufik Nurrohman said...

Iya, karena markup komentar balasannya ada di dalam komentar induk, jadi kalau komentar induk itu adalah komentar admin, otomatis anak komentar di dalamnya juga akan diliputi oleh kelas .author-comment juga dari kelas admin komentar induk. Harus di-reset ulang tampilannya saat mulai masuk ke dalam, lalu set ulang tampilan komentar admin pada anak komentar:

/* menambah border pada komentar admin */
.custom-comments .author-comment .comment-header {border-right:4px solid red}

/* membuang border pada semua anak komentar di dalam komentar admin */
.custom-comments .author-comment .comment-reply .comment-header {border-right:none}

/* set ulang border pada anak komentar yang ditulis oleh admin */
.custom-comments .author-comment .author-comment .comment-reply .comment-header {border-right:4px solid blue}


Atau bisa juga memakai selektor direct-children, tapi agak susah:

.custom-comments .author-comment > .comment-item > .comment-header {border-right:4px solid red}
.custom-comments .author-comment > .comment-item > .author-comment > .comment-reply > .comment-header {border-right:4px solid blue}


Pakai kerangka yang pertama saja kalau masih bingung.
Walaupun sebenarnya agak aneh juga. Memangnya untuk apa administrator mengomentari postingnya sendiri dan malah membuat komentar itu menjadi komentar induk?

Terkait: Dasar-Dasar Selektor CSS Bertingkat

 
At Monday, February 4, 2013 at 10:26:00 PM GMT+7, Anonymous Anonymous said...

itu kok display:none pantes gak muncul iconnya pas membalas komentar hehehe...

 
At Tuesday, February 5, 2013 at 7:37:00 AM GMT+7, Blogger Unknown said...

terimakasih mas sudah dikasih pencerahan lagi,,

saya biasanya mengomentari artikel saya sendiri kalau artikel itu isinya mengalami perubahan atau di update :D

 
At Tuesday, February 5, 2013 at 4:53:00 PM GMT+7, Anonymous Anonymous said...

senasib bos :D

thx juga atas penjelasan nya bang :)

 
At Wednesday, February 6, 2013 at 12:40:00 AM GMT+7, Anonymous Anonymous said...

kalo pake lazy load kok avatarnya kadang muncul kadang nggak ya mas o.O

 
At Wednesday, February 6, 2013 at 8:20:00 AM GMT+7, Blogger Blog Santa Mars said...

mantap mas taufik, blog saya sebelumnya susah banget diganti menjadi fitur komentar berbalas. Tapi sekarang berkat mas taufik blog saya sudah ada fitur komentar berbalasnya, \o/ :-bd

 
At Wednesday, February 27, 2013 at 9:06:00 AM GMT+7, Blogger Unknown said...

om kenapa pas udah di find script barusan nya gk ada di blog punya saya. kenapa ia,? terus gimana solusinya tuhh, mohon bantuanya ia om.
begitu juga script yang ini


pas di fint th gak ada :) sekali lagi mohon bantuanya ia om

 
At Wednesday, February 27, 2013 at 9:52:00 AM GMT+7, Blogger Taufik Nurrohman said...

Kurang jelas script yang mana. Mungkin maksudnya yang <b:include> itu ya?
Belum pernah mengalami, tapi mungkin sudah berganti menjadi kode ini pada template-template yang baru:

<b:include data='post' name='comment_picker'/>

 
At Sunday, March 10, 2013 at 11:41:00 AM GMT+7, Blogger IRIL SAGITA said...

Kak taufik, pada blog aku sering terjadi gambar avatar komentar gagal di muat/tdak tampil,biasanya itu terjadi jika jumlah komentar sudah banya, adakah cara mengatasi hal tersebut kak ?

 
At Sunday, March 10, 2013 at 9:49:00 PM GMT+7, Blogger Taufik Nurrohman said...

Seharusnya itu karena fitur lazy-loading foto profil bawaan dari Blogger. Kalau digulung sampai ke area komentar tertentu baru foto komentator tersebut akan termuat. Jadi tidak ada masalah. Yang penting script yang berada di area <head> ini jangan dibuang:

<script type="text/javascript">(function() { var b=window,e="jstiming",g="tick";
(function(){function d(a){this.t={};this.tick=function(a,d,c){c=void 0!=c?c:(new Date).getTime();this.t[a]=[c,d]};this[g]("start",null,a)}var a=new d;b.jstiming={Timer:d,load:a};if(b.performance&&b.performance.timing){
var a=b.performance.timing,c=b[e].load,f=a.navigationStart,a=a.responseStart; ...
...
...
...
... b.addEventListener?b.addEventListener("scroll",k,!1):b.attachEvent("onscroll",k);
})();</script>

 
At Sunday, March 10, 2013 at 10:30:00 PM GMT+7, Blogger IRIL SAGITA said...

Jadi gitu ya kak, berarti gak ada masalah pada blog aku, karena script yang anda sebutkan tadi masih ada, aku kira kalau ada masalah pada template blog aku, makasih kak !

 
At Saturday, March 16, 2013 at 12:57:00 PM GMT+7, Blogger Unknown said...


Terima kasih master atas tutorialnya.

Oiya master, delete button nya bisa di lihat hanya oleh admin aja gak?. soalnya yang sekarang kan delete button nya bisa di lihat walaupun oleh bukan admin.
Dan ane juga bingung mengenai pemasangan emoticons karena emoticons ane yg lama jadi tidak berfungsi lagi.
Ane udh coba pasang emoticons yang ada di tutorial master yg ini : http://www.dte.web.id/2012/03/jquery-auto-emoticons-for-blogger.html juga gak bisa.

Kalau master berkenan tolong cek ke blog ane di naruchigo.com

Mohon petunjuk untuk newbie ini master.

Terima kasih.

 
At Wednesday, March 20, 2013 at 10:07:00 AM GMT+7, Blogger Taufik Nurrohman said...

Tidak bisa. Menghapus komentarnya lewat dasbor saja.

 
At Thursday, March 21, 2013 at 7:48:00 PM GMT+7, Blogger alul stemaku said...

akhirnya yang saya cari" ketemu juga,. \o/ \o/ \o/
makasih banyak mas atas tutorialnya.. :-bd

 
At Sunday, March 24, 2013 at 2:07:00 AM GMT+7, Blogger Yopi Hasopa said...

Mas Taufik, sepertinya "Fitur Komentar Berbalas" ini ada bug pada saat komentar post sangat banyak (334 komentar). Komentar tidak muncul semuanya, malah ada kotak berwarna abu-abu tua. Mohon pencerahan nya Mas. Thanks :)

Contoh postnya ini : http://percobaan.hsp21.com/2013/01/cara-mudah-nge-root-smartfren-andromax.html

 
At Sunday, March 24, 2013 at 8:25:00 AM GMT+7, Blogger Taufik Nurrohman said...

Saya inspect memakai Firebug kelihatan kalau CSS default Blogger menyembunyikan tampilan navigasi yang tidak diperlukan dengan visibility:hidden, bukan display:none. Dengan menambahkan kode CSS ini, masalah bisa diatasi. Navigasi akan muncul kembali:

.custom-comments .paging-control-container .unneeded-paging-control {display:none}
.custom-comments .paging-control-container .paging-control {display:inline}


Kode CSS di atas juga sudah Saya perbaharui ^:D

 
At Sunday, March 24, 2013 at 11:16:00 AM GMT+7, Blogger Yopi Hasopa said...

:-bd Terima kasih Mas Taufik, masalah sudah teratasi dengan baik \o/

 
At Thursday, April 4, 2013 at 4:55:00 PM GMT+7, Blogger Unknown said...

Makasih bro...saya izin nginep disini bro baca" artikelnya,,hahahay..

 
At Friday, April 5, 2013 at 11:10:00 AM GMT+7, Blogger Unknown said...

oohh iyha,,bro itu cara ngedit biar tombol hapusnya cuman bisa ddilihat adminnya gimana..??

 
At Saturday, April 6, 2013 at 10:48:00 PM GMT+7, Blogger Damar Zaky said...

ngakak wkwkkw

 
At Friday, April 19, 2013 at 11:49:00 AM GMT+7, Blogger Muhammad Zaki Al Aziz said...

Kang. maaf nih mau sedikit bertanya. Kan saya sudah menerapkan kode ini di blog saya dan Alhamdulillah sudah bisa :)

Tapi koq kenapa kalau saya ketik reply/balas, loadingnya lama?
Apakah ada yang salah pada blog saya atau gimana kang?

Makasih kang :)

 
At Friday, April 19, 2013 at 4:14:00 PM GMT+7, Blogger Unknown said...

Coba di cek di blog saya,,soalnya saya juga pake komentar yg diatas dan apakah sama lamanya pas loading..

 
At Friday, April 19, 2013 at 5:26:00 PM GMT+7, Blogger Taufik Nurrohman said...

Mungkin itu bukan masalah loading yang lama tapi memang benar-benar gagal loading. Coba di cek lagi kodenya atau ulangi lagi langkah-langkahnya. Mungkin ada yang salah.

 
At Saturday, April 20, 2013 at 5:24:00 AM GMT+7, Blogger Muhammad Zaki Al Aziz said...

Ok kang, terima kasih :)
Saya cek terlebih dahulu yah. Salam.

 
At Monday, April 29, 2013 at 11:55:00 PM GMT+7, Blogger MEGAPIXELS MULTIMEDIA said...

Makasih gan tutornya, sangat sangat membantu~ Tralala ^_^

 
At Monday, May 27, 2013 at 7:19:00 PM GMT+7, Blogger Putra said...

lapor, saya coba pasang gak muncul sama sekali. Saya pasang di blog baru, belum ada komentar, bijimana ini? url -> satanic-murder . blogspot . com

 
At Friday, June 14, 2013 at 11:21:00 AM GMT+7, Blogger Unknown said...

saya masih menggunakan fitur thread komentar lama,, ketika komentar sudah sampai 200 lebih , yang lebihnya itu ga muncul... sudah pake loadmore tetep ajah ga bisa munucl..
kira" kesalahan terletak dimana ya..???
http://mdf-blog.blogspot.com/p/oot.html

 
At Thursday, June 20, 2013 at 7:36:00 AM GMT+7, Blogger Unknown said...

Mas, kalo mau threaded comment yang nggak ada pop upnya gimana? punya saya ada pop upnya tuhh... putraarifprasetyo.blogspot.com

 
At Wednesday, July 3, 2013 at 9:35:00 PM GMT+7, Blogger Safar said...

mas, kok waktu mau balas komentar, nunggu lama bgt ya..keburu di pencet close mas.., ada apa ya?

 
At Saturday, July 6, 2013 at 2:54:00 AM GMT+7, Anonymous Anonymous said...

udah dicoba dan sesuai langkah"nya, tapi knapa ya tetep ga muncul tulisan reply'nya..??

 
At Saturday, July 6, 2013 at 2:17:00 PM GMT+7, Blogger Damar Zaky said...

mas taufik, bisa bantu saya nggak?, cancel komang di blog saya gagal wkwkwk

 
At Saturday, July 6, 2013 at 2:54:00 PM GMT+7, Blogger Taufik Nurrohman said...

https://productforums.google.com/forum/#!topic/blogger/pdTff0724_o

 
At Saturday, July 6, 2013 at 3:00:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kalau cuma tombol balasnya saja yang tidak tampil berarti kemungkinannya itu kesalahan Saya. Tapi kalau tombol balas komentarnya tidak tampil, dan efek CSS di atas juga tidak bekerja (sesuai CSS di atas, font komentar harus berubah menjadi Tahoma), maka itu artinya kamu yang gagal total.

 
At Saturday, July 6, 2013 at 3:05:00 PM GMT+7, Blogger Taufik Nurrohman said...

Pakai Web Console.

 
At Saturday, July 6, 2013 at 7:44:00 PM GMT+7, Blogger Damar Zaky said...

wah gimana itu, minta bantuan deh :D

 
At Saturday, July 6, 2013 at 9:53:00 PM GMT+7, Blogger Taufik Nurrohman said...

TypeError: container is null
ID area komentarmu sudah tidak sama dengan markup HTML di atas. Ubah kode JavaScript di bagian ini:

container = (id != "cancel") ? document.getElementById('form-container-' + id) : document.getElementById('custom-comments')

menjadi seperti ini:

container = (id != "cancel") ? document.getElementById('form-container-' + id) : document.getElementById('komengtar')

 
At Saturday, July 6, 2013 at 10:56:00 PM GMT+7, Blogger Damar Zaky said...

thx

 
At Saturday, July 6, 2013 at 10:57:00 PM GMT+7, Blogger Damar Zaky said...

aduh bener juga asem dah, thx wkwkwkwkwk padahal udah aku pake replacer pake notepad++, masih ngadat berarti np++nya xD, btw thx lagi

 
At Sunday, July 21, 2013 at 1:47:00 AM GMT+7, Anonymous Anonymous said...

mantap sob tutorialnya,.. ijin praktek sob untuk blog ane,... salam kenal dari ane,..

 
At Wednesday, August 7, 2013 at 2:59:00 PM GMT+7, Blogger Ahmad Zaelani said...

makasih bro.... mantap nih,,,, pertama gagal.. coba lagi terus berhasil... ok bagi yang nyoba jangan lupa templatenya di backup... heheh

 
At Sunday, September 8, 2013 at 2:56:00 PM GMT+7, Blogger Unknown said...

Saya sudah berhasil menerapkan tutor diatas, tapi ada yang saya ingin tanyakan kepada Mas Taufik, yang saya kirim lewat email ^_^

 
At Saturday, September 28, 2013 at 1:47:00 PM GMT+7, Blogger you said...

mas taufik komentar di blogsaya avatarnya mau author atau yang komment tetep aja tidak berubah sesuai dengan photo profil masing person. untuk mengatasinya kira kira gimana?

 
At Saturday, September 28, 2013 at 1:49:00 PM GMT+7, Blogger you said...

contoh bisa diihat di http://www.pabk-4you.com/2012/11/modifikasi-daftar-isi-dengan-j-accordion.html

 
At Saturday, September 28, 2013 at 4:24:00 PM GMT+7, Blogger Taufik Nurrohman said...

Itu thread comment dari Artisteer Tutorials. Mungkin agak berbeda dengan kode ini. Seharusnya tidak ada masalah kalau kode komentar disalin dari blog asalnya, karena awal-awal Saya juga memakai yang itu. Coba buka halaman ini

 
At Saturday, September 28, 2013 at 9:30:00 PM GMT+7, Blogger you said...

terima kasih mas.. untuk masalah td saya coba ganti kode
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>

menjadi seperti ini
<div class='avatar-image-container vcard'><span dir='ltr'><a class='avatar-hovercard' expr:href='data:comment.authorUrl' onclick='' rel='nofollow'><img expr:alt='data:comment.author' expr:src='data:comment.authorAvatarSrc' expr:title='data:comment.author' height='35' width='35'/></a></span></div>

ternyata berhasil.
Satu lagi mas taufik.. pada halaman posting blog saya yang belum memiliki komentar, widget komentar tidak tampil. tetapi pada posting yang sudah dikomentari, widget komentar muncul.. kira2 apa masalahnya ya.

 
At Tuesday, October 8, 2013 at 11:55:00 AM GMT+7, Blogger azewBz said...

mas ko ga jln ya setelah saya pasang slide panel dengan menggunkan komentar berbalas ini..!!

 
At Tuesday, October 8, 2013 at 1:48:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kamu sudah pernah tanya masalah ini, hanya saja kasusnya soal emotikon. Cari komentarmu di halaman ini yang ditulis pada hari Selasa, 29 Januari 2013 05.42.00 WIB. Selektor komentar ini sudah berubah menjadi #custom-comments, jadi…

var panelSelector = '#custom-comments';

Selengkapnya: Membuat Komentar Slide Panel pada Template Blogspot

 
At Tuesday, October 8, 2013 at 4:21:00 PM GMT+7, Blogger azewBz said...

tidak ada perubahan`tetap tidak muncul setelah saya mengikuti langkah belasan kan taufik..!! :(

 
At Tuesday, October 29, 2013 at 7:46:00 PM GMT+7, Blogger Unknown said...

Wah mantap sekali tuts nya, maaf sedikit oot, tapi sepertinya masih dalam object, kalau untuk nonaktifkan link profile komentator kira kira bisa gk yah kang?

Salam :)

 
At Saturday, November 2, 2013 at 12:16:00 PM GMT+7, Blogger Unknown said...

Kang kalau mau memasang loop komentar balasan lebih dari dua tingkat dengan tidak memakai hack (maksudnya dengan cara seperti di posting ini) kira-kira ada ga?

 
At Saturday, November 2, 2013 at 10:15:00 PM GMT+7, Blogger Taufik Nurrohman said...

Ganti kode ini:

<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>

dengan ini:

<span><data:comment.author/></span>

 
At Saturday, November 2, 2013 at 10:18:00 PM GMT+7, Blogger Taufik Nurrohman said...

Pernah coba tapi malah rusak. Sebenarnya caranya sudah benar cuma loop komentar anakannya terlalu banyak :(

 
At Wednesday, November 20, 2013 at 11:08:00 AM GMT+7, Blogger Unknown said...

kalo cara masukin untuk web yang baru diarancang dengan dream weaver, gmna caranya mas, bisa gak?? mhon bantuannya (cara pasangnya).tx

 
At Thursday, November 28, 2013 at 9:15:00 PM GMT+7, Blogger habibi daeng said...

Alhamdulillah, ijin pakai juga ya mas taufik :)

 
At Thursday, November 28, 2013 at 9:21:00 PM GMT+7, Blogger habibi daeng said...

tapi kok hasilnya error ya mas?

malah tampilan seluruh blog saya yang masuk ke jendela komentar, beh jadi bingung.

 
At Friday, November 29, 2013 at 12:01:00 AM GMT+7, Blogger Taufik Nurrohman said...

Kalau begitu tombol balas gagal menyisipkan URL formulir balasan. Iframe berhasil berpindah, tapi tidak berhasil disisipi URL baru (URL yang masuk kosong/sama dengan halaman yang sedang aktif saat itu).

 
At Friday, November 29, 2013 at 1:01:00 PM GMT+7, Blogger habibi daeng said...

ada saran ga mas ya untuk saya? :D

 
At Monday, December 2, 2013 at 8:40:00 PM GMT+7, Blogger you said...

apakah custom comment ini bisa ditambahkan syntax.. soalnya saya pake ini.. v syntaxnya ga jalan... bisa kasih pencerahannya mas?

 
At Friday, December 6, 2013 at 8:31:00 AM GMT+7, Blogger Taufik Nurrohman said...

/2012/09/syntax-highlighter-dengan-prism.html?showComment=1362493246789#c8544828114478662092

 
At Thursday, December 12, 2013 at 9:18:00 PM GMT+7, Blogger Alpha Dian Tamalanrea said...

mau tanya mas, kira2 bisa ngga latar belakangnya dikasih background? biar ngga transparan gitu komentarnya

[img]http://4.bp.blogspot.com/-AV2vnNbeiko/UqnD_i1D_UI/AAAAAAAAAew/SXIl1LnPnhg/s1600/Untitled-1.png[/img]

 
At Friday, December 13, 2013 at 9:09:00 PM GMT+7, Blogger Taufik Nurrohman said...

Lah itu kamu bisa bikin screenshoot yang ada gambar latarnya pakai apa? Begini:

.custom-comments {
background:#803535 url('pattern-JKT48.png') repeat 0 0;
color:white;
}

 
At Friday, December 13, 2013 at 10:44:00 PM GMT+7, Blogger Alpha Dian Tamalanrea said...

itu dari background templatenya :D
oke makasi mas taufik \o/

oiya mas, ijin copy link emoticonnya ya buat di postingan2 blog saya 0:)

 
At Wednesday, December 18, 2013 at 5:27:00 PM GMT+7, Blogger Farrij Annafi'u said...

[img]http://2.bp.blogspot.com/-fFY2jumEkH8/UrF4B7jgh1I/AAAAAAAAAro/MEqpYSVU_vk/s1600/pertanyaan.png[/img]

Mas itu kenapa komentar selain admin kagak ada fotonya????

 
At Wednesday, December 18, 2013 at 10:37:00 PM GMT+7, Blogger Taufik Nurrohman said...

Coba tambahkan fungsi ini sebelum kode //]]>

(function() {
if (!document.getElementsByClassName) return;
var imgs = document.getElementsByClassName('avatar-image-container'), img, src;
for (var i = 0, len = imgs.length; i < len; ++i) {
img = imgs[i].getElementsByTagName('img')[0];
src = img.getAttribute('longdesc') ? img.getAttribute('longdesc') : "http://img2.blogblog.com/img/b16-rounded.gif";
img.src = src.replace(/\/s[0-9]+(\-c)?/, "/s50-c");
img.style.display = "block";
img.removeAttribute('longdesc');
}
})();

 
At Saturday, December 21, 2013 at 9:12:00 PM GMT+7, Blogger GEOKGEOK said...

Makasih bangat sob... sangat membantu :-bd

 
At Sunday, December 22, 2013 at 2:37:00 PM GMT+7, Anonymous Anonymous said...

apakah tingkatannya bisa dimbah mas?

 
At Tuesday, March 4, 2014 at 7:30:00 AM GMT+7, Blogger you said...

Saya memakai fitur komentar ini.
tetapi hampir semua crawl error pada blog saya memiliki url seperti ini http://....../2013/11/&parentID=4287954423382525820
apakah ada cara untuk mengatasinya mas? biar tidak terindex mbah google.. mhon bantuannya

 
At Tuesday, March 4, 2014 at 7:36:00 AM GMT+7, Blogger Taufik Nurrohman said...

Tambahkan atribut rel="nofollow" pada tautan ini:

<a class='comment-permalink pull-right'>

<a class='delete-btn'>

 
At Thursday, April 24, 2014 at 1:24:00 PM GMT+7, Blogger Rushdie said...

gak usah dipasang kode deletenya, kan bisa hapusnya lewat dasbor, he...

 
At Friday, June 27, 2014 at 4:34:00 PM GMT+7, Blogger Amazing Sphere said...

sob, kalo merubah posisi tulisan balas ama hapusnya jd seperti kyk blogmu ini gimana?

 
At Friday, July 4, 2014 at 10:38:00 PM GMT+7, Blogger Taufik Nurrohman said...

Saya tidak punya tutorialnya, tapi kalau mau cari itu ada yang bisa memakai komentar bawaan Blogger yang dibuat seperti ini. Biasanya sudah dalam bentuk templat.

 
At Tuesday, August 19, 2014 at 12:29:00 PM GMT+7, Blogger Unknown said...

mas taufik mau tanya kalo cara membuat komentar sendiri bukan dari blog gimana ya yang pake sql dan php

 
At Tuesday, August 19, 2014 at 1:24:00 PM GMT+7, Blogger Taufik Nurrohman said...

→ http://www.google.com/search?q=membuat+fitur+komentar+dengan+mysql+dan+php

 
At Wednesday, January 14, 2015 at 11:41:00 AM GMT+7, Blogger Unknown said...

Mas Taufik sya mau tanya, sya kan pake code ini, tapi knpa ya ketika dibuka di hape kokgak ada formulir komentarnya, pdhal sudah tak kasih
ini kode sya mas

 
At Tuesday, January 20, 2015 at 8:25:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kalau di HP biasanya URL blog langsung diarahkan ke ?m=1. Tampilan komentar ini cuma kelihatan di dalam blog versi web. Untuk mengatasinya bisa dengan cara menonaktifkan tampilan mobile.

Selengkapnya → /2013/01/bekerja-dengan-blog-seluler.html

 
At Thursday, February 12, 2015 at 9:06:00 AM GMT+7, Blogger tonohidayat said...

Mas mau tanya kenapa tombol replay di komentar blog saya gak berfungsi y? Tolong dicek mas, masstono.blogspot.com

 
At Sunday, February 15, 2015 at 7:26:00 PM GMT+7, Blogger Taufik Nurrohman said...

TypeError: Url is undefined what-is-website-blog-that-mobile-friendly.html line 447 > eval:1

Kamu pakai sistem komentar orang lain yang sudah dikompresi, Saya jadi tidak mengerti.

 
At Wednesday, February 18, 2015 at 9:18:00 AM GMT+7, Blogger Unknown said...

ada yang baru ik,
tombol tampilkan komentar, keren keren :D

ajarin donk, wkwkwk

 
At Wednesday, February 18, 2015 at 12:22:00 PM GMT+7, Blogger Taufik Nurrohman said...

Nanti Saya kasih kode JSON mentahannya untuk dikreasikan sendiri, sekalian juga untuk JSON posting, supaya pada bisa bikin widget sendiri-sendiri…

 
At Wednesday, February 18, 2015 at 12:25:00 PM GMT+7, Blogger Rifan hidayat said...

\o/

 
At Thursday, April 2, 2015 at 1:18:00 PM GMT+7, Blogger Admin said...

Om, kalo dikomentarnya bisa mention yang koment (kaya di Facebook) bisa ga?

 
At Thursday, June 4, 2015 at 9:45:00 AM GMT+7, Blogger Rifan hidayat said...

kalo pake thread comment ini terus javascript reply nya dibikin pake document.querySelectorAll kayak pertanyaanku yang ini bisa nggak mas ?

/2012/03/jquery-auto-emoticons-for-blogger.html?showComment=1433318084347#c665188069510842762

bingung udah utak atik sendiri gagal terus

 
At Thursday, June 4, 2015 at 3:25:00 PM GMT+7, Blogger Rifan hidayat said...

udah berhasil mas :)

ini, wkwkw [url=http://kanggojajal.blogspot.com/2015/05/rifan-ganteng.html]Hasil Eksperimen[/url]

 
At Thursday, July 14, 2016 at 11:53:00 AM GMT+7, Blogger Unknown said...

whew keren mas \o/ :-bd

 
At Sunday, July 17, 2016 at 3:49:00 PM GMT+7, Blogger Unknown said...

mas cond='data:comment.favicon' itu apa?
apa ini yang menghasilkan class="delayLoad" di avatar?

 
At Sunday, January 8, 2017 at 7:51:00 AM GMT+7, Blogger Game Cover said...

hi, this working with google plus comment system?

 
At Friday, April 7, 2017 at 11:04:00 PM GMT+7, Blogger Nurlailah Yahya said...

Saya kok gagal yah... tidak ada yang berubah sama sekali. Orang yang komentar di blogku, tdk bisa direply

 
At Tuesday, April 11, 2017 at 11:06:00 AM GMT+7, Blogger Taufik Nurrohman said...

Biasanya ada dua tipe templat komentar di tema Blogger, yaitu untuk tampilan desktop dan untuk tampilan seluler. Mungkin kamu tidak sengaja mengedit templat komentar versi seluler.

 
At Wednesday, July 19, 2017 at 2:41:00 PM GMT+7, Blogger Irfan Muhammad Ghani said...

gan mohon bantuannya kalau page komentar / tombol next komentar, untuk komentar yang sudah banyak sekali tidak muncul kenapa ya gan? :'( terimakasih.. :)

 
At Wednesday, July 19, 2017 at 3:14:00 PM GMT+7, Blogger Irfan Muhammad Ghani said...

load more komentar yang lebih dari 200 komentar tidak mau muncul..

Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
Xb @ comments.js:3

saya liat di console chrome kayak gitu gan pesan errornya.. solusinya gimana ya gan? terimakasih banyak :)

 
At Thursday, July 20, 2017 at 7:18:00 PM GMT+7, Blogger Taufik Nurrohman said...

Coba hapus atribut async dari skrip yang kurang lebih tampak seperti ini:

<script src='… /comments.js' async='async'/>

 
At Sunday, January 21, 2018 at 9:32:00 AM GMT+7, Blogger Kiana blog said...

bermanfaat banget... terima kasih
tapi gan mau tanya dikit, gimana caranya komentar dan komentar balasan biar bisa di hidden?

 
At Monday, January 29, 2018 at 9:29:00 PM GMT+7, Blogger Taufik Nurrohman said...

Masalahmu mirip sama konsepnya mas Satank, agak sulit untuk direalisasikan.

 
At Wednesday, October 3, 2018 at 12:09:00 PM GMT+7, Blogger uki said...

wkwkwkwkwk

 
At Sunday, December 16, 2018 at 10:36:00 AM GMT+7, Blogger Taufik Nurrohman said...

/2018/05/mengetahui-jumlah-komentar-balasan.html

 
At Tuesday, December 25, 2018 at 2:25:00 PM GMT+7, Blogger Saeful Rahman said...

Saya melakukan modifikasi pada desain komentarnya dan saya taruh tombol "Reply" berada diatas sebelah nama user. Bagaimana caranya saat tombol "Reply" di klik otomatis scroll ke #comment-editor

<script type='text/javascript'>
/*<![CDATA[*/
var originalSource = document.getElementById("comment-editor").src.split("#");

function replyTo(h) {
var i = document.getElementById("comment-editor"),
j = document.getElementById("custom-comment-form"),
g = (h != "cancel") ? document.getElementById("form-container-" + h) : document.getElementById("comments"),
f = originalSource;
i.style.height = "50px";
i.style.visibility = "hidden";
i.src = (h != "cancel") ? f[0] + "&parentID=" + h + "#" + f[1] : f[0] + "#" + f[1];
g.insertBefore(j, null);
i.onload = function() {
this.style.height = "250px";
this.style.visibility = "visible"
}

};
/*]]>*/
</script>

 
At Wednesday, December 26, 2018 at 2:22:00 PM GMT+7, Blogger Saeful Rahman said...

Saya sudah berhasil menambahkan efek scroll pada form komentar ketika button reply di klik. Lalu bagaimana caranya menambahkan fungsi smooth scrolling pada fungsi ini. Saya menggunakan fungsi document.getElementById("form-container-" + h).scrollIntoView(); untuk scroll ke form editor. Sejauh ini saya mencoba masih gagal dan kurang paham, mohon bantuannya
<script type='text/javascript'>
/*<![CDATA[*/
var originalSource = document.getElementById("comment-editor").src.split("#");
function replyTo(h) {
var i = document.getElementById("comment-editor"),
j = document.getElementById("custom-comment-form"),
g = (h != "cancel") ? document.getElementById("form-container-" + h) : document.getElementById("comments"),
f = originalSource;
i.style.height = "50px";
i.style.visibility = "hidden";
i.src = (h != "cancel") ? f[0] + "&parentID=" + h + "#" + f[1] : f[0] + "#" + f[1];
g.insertBefore(j, null);
i.onload = function() {
this.style.height = "250px";
this.style.visibility = "visible";
document.getElementById("form-container-" + h).scrollIntoView();
}

};
/*]]>*/
</script>

 
At Wednesday, December 26, 2018 at 6:10:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kamu perlu mengubah selektor JavaScript menjadi selektor jQuery:

$('#form-container-' + h).scrollIntoView();

 
At Thursday, December 27, 2018 at 10:36:00 PM GMT+7, Blogger Saeful Rahman said...

Mkasih mas, saya coba blum berhasil atau saya salah dalam implementasinya? Saya berhasil dg cara ini.
document.getElementById("form-container-" + h).scrollIntoView({ block: 'start', behavior: 'smooth' });

 
At Tuesday, April 2, 2019 at 9:20:00 AM GMT+7, Blogger lutfiyah said...

Mas, ketika saya ganti kode ini: <b:include data='post' name='threaded_comments'/> dengan <b:include data='post' name='custom-comments'/>, komentar aman-aman saja.

Pada saat saya ganti juga kode ini: <b:include data='post' name='comments'/> dengan <b:include data='post' name='custom-comments'/>, formulir komentar beserta komentar yang ada tidak muncul.

Apa memang kita harus mengganti hanya kode pertama saja? Atau bagaimana?

 
At Tuesday, July 2, 2019 at 2:45:00 PM GMT+7, Blogger Samsul Arif said...

Mantap. Postingan 2013 berguna sekali bagi saya yg baru paham sekarang, hahaha :D

 
At Sunday, September 1, 2019 at 3:51:00 PM GMT+7, Blogger Maulida Dzul Fikri said...

Mas [url=https://www.blogger.com/profile/17973546667775491071]Taufik[/url],

Komentar ini [url=https://www.blogger.com/comment-iframe.g?blogID=298900102869691923&postID=1779029651773078647&parentID=4807286072313748141]4807286072313748141[/url] bisa kita submit di jendela halaman baru. Berikut adalah tautannya:


https://www.blogger.com/comment-iframe.g?blogID=298900102869691923&postID=1779029651773078647&parentID=4807286072313748141


Sebenarnya tautan formulir komentar balasan Blogger di atas, bisa kita dapatkan tanpa Javascript. Apakah ada cara untuk membuat tautan di atas sebagai tag iframe tanpa Javascript setiap pengunjung akan membalas komentar tertentu?

Ataukah itu terdengar lucu dengan mendeklarasikannya sebagai iframe dalam setiap komentar dan/atau komentar balasan dalam elemen HTML, sehingga pada akhirnya pemuatan halaman menjadi berat karena sejumlah tag iframe dimuat sebanyak komentar yang ada, semisal 200 komentar maka akan ada 200 iframe dengan atribut src berupa tautan komentar Blogger seperti yang saya jelaskan di atas.

Namun, ini akan menarik jika dapat dilakukan. HTML memiliki tag details dan summary.

Gambarannya seperti ini:


<details>
<summary>Balas Komentar</summary>
<iframe src="https://www.blogger.com/comment-iframe.g?blogID=298900102869691923&postID=1779029651773078647&parentID=4807286072313748141]4807286072313748141"></iframe>
</details>


Kita bisa membuat beberapa elemen seperti di atas dalam setiap loop komentar. Adakah solusi untuk tidak ikut menyertakan dalam pemuatan halaman ketika postingan kita dibuka. elemen details yang berisi iframe formulir komentar hanya akan dimuat ketika tag summary mendapatkan klik saja.

Salam, sekian terimakasih.

 
At Sunday, September 1, 2019 at 10:24:00 PM GMT+7, Blogger Taufik Nurrohman said...

Cukup pakai satu iframe saja. Nanti ditambahkan atribut name sebagai target. Buat efek loncatan pakai fragmen URL.

/2012/01/open-link-to-iframe.html

<a href="https://www.blogger.com/comment-iframe.g?blogID=29890010286969XXXX&postID=177902965177307XXXX&parentID=480728607231374XXXX#comment-form" target="x-form">Balas</a>




<iframe id="comment-form" name="x-form" src=""></iframe>

 

Post a Comment

<< Home