Memaparkan catatan dengan label tips. Papar semua catatan
Memaparkan catatan dengan label tips. Papar semua catatan

Rabu, 27 Mac 2013

Komen Reply JS Yang Canthek Lagi Menawan


Assalammualaikum w.b.t, dan salam sejahtera kepada semua pembaca blog is nie. Akhirnya is dapat gak curi-curi blogging setelah duduk dalam alam kebuntuan menggelembungi diri is dua tiga hari nie.

So ini adalah tutorial untuk komen reply bagi yang guna Comment Thread sahaja, kalau yang lain tak boleh ok? kalau nak tukar ke thread komen dulu wokay? Kurang jelas? Baca lagi sekali ayat nie selama 41 kali insyaallah.

santai, reply, button, js, javascript, comment, threaded, blogging, tips, Santai iskandarX,


So, tutorial is request by mrpolie korang leh lawat dier punya blog dengan mengklikkan nama dier ok?

Ok ikuti langkahan berikut untuk menukar thread korang punya style.

santai, reply, button, js, javascript, comment, threaded, blogging, tips, Santai iskandarX,





Langkah 1
menukar code:

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

note: ada 4 code <b:include data='post' name='comments'/> dalam template TFBV2 dan semuanya is ubah

menjadi:

<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>

*Template > Edit HTML > Tick Expand Widget templates > HoldPress CTRL+F  dan pastekan <b:include data='post' name='comments'/>, dan jumpa highlight <b:include data='post' name='comments'/> dan tukar ke
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threaded_comments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>


Langkah 2
is ganti code javascript threaded comment menjadi:

<b:includable id='threaded_comment_js' var='post'>
  <script defer='defer' 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>' + 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 format
            var 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) + 1
            callback(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>

*Template > Edit HTML > Tick Expand Widget templates > HoldPress CTRL+F  dan pastekan <b:includable id='threaded_comment_js' var='post'>, gantikan <b:includable id='threaded_comment_js' var='post'> sehingga </b:includable> dengan javascript yang is letak diatas ini ok? xpaham sila komen.

Booom dah siap, :P


Update:

Ok langkahan 2 nie  korang diperlukan mencari code javascript yang sedia ada dalam template korang tu, so pergi ke Template > edit HTML > thick expand widget > paste
<b:includable id='threaded_comment_js' var='post'> dan highlightkan
<b:includable id='threaded_comment_js' var='post'> sehingga </b:includable> dengan :



<b:includable id='threaded_comment_js' var='post'>
  <script defer='defer' 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>' + 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 format
            var 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) + 1
            callback(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>

ok dapat tak?

Hasilnya:



Selasa, 26 Mac 2013

Kehidupan Sebagai Ibu Bapa Tunggal: Tujuh Cadangan Ringkas Untuk Jadikan Hidup Anda Lebih Mudah



parenting, keibubapaan, tips, keluarga, bahagia


1 - Ampunilah walaupun anda tidak akan dapat Lupakan -

Mari pergi dendam anda boleh memegang terhadap ibu bapa anak anda yang lain, yang tidak hadir dari KEDUA kehidupan anda. Memegang perasaan marah tidak akan mengubah keadaan anda dan mungkin akan memakan banyak tenaga anda - tenaga yang anda perlukan untuk menumpukan kepada mewujudkan persekitaran yang positif untuk anak anda.

Jika anda tinggal di kekecewaan anda dengan dan / atau tidak suka bapa atau ibu kepada anak anda - kemungkinan anak anda akan rasa perasaan anda dan menderita dalam beberapa cara dari sikap negatif anda.

2 - Buat yang paling semua yang anda perlu -

Malah jika anda tidak mempunyai wang yang banyak, anda tidak mempunyai anak anda dan kasih sayang anda dan masa anda untuk memberi kepadanya atau dia. Cuba ingat bahawa kekayaan kewangan dan harta benda tidak adalah perkara-perkara yang paling penting dalam hidup anak anda.

Kasih sayang, sokongan dan masa bersama-sama bermakna lebih kepada mereka. Anda boleh berseronok secara percuma. Aktiviti suka - pergi untuk berjalan kaki atau menaiki basikal, bermain di taman, pewarna, lukisan, nyanyian, atau menari - akan keseronokan anak anda sama seperti membelanjakan wang untuk pergi ke taman hiburan, arked atau kedai mainan.

3 - Menjadi ibu bapa yang terbaik anda mungkin boleh -

Beri seberapa banyak yang anda boleh tanpa menetapkan matlamat yang tidak realistik untuk seorang ibu bapa untuk mencapai. Tidak memukul diri untuk apa yang tidak boleh.
Jangan mengiktiraf apa yang anda boleh lakukan untuk mewujudkan kehidupan yang baik untuk anak anda yang terbaik kebolehan anda.

4 - Membangunkan rangkaian sumber yang boleh dipercayai - Keluarga tidak biologi.

Kelilingi diri anda dan anak anda dengan kawan-kawan anda tahu dan amanah - orang-orang yang mengambil berat tentang kedua-dua anda. "Saudara" dan "Pakcik" dan juga "Datuk Nenek," yang tidak berkaitan dengan darah boleh hanya sebagai memberi manfaat kepada anak anda sebagai ahli keluarga sebenar biologi.

"Keluarga" anda buat untuk anak anda boleh memberikan dia atau dia dengan jenis yang sama kasih sayang dan sokongan sebagai keluarga tradisional. Mereka juga boleh membantu anda dengan tanggungjawab anda sebagai ibu bapa tunggal. Biarkan mereka memainkan peranan yang aktif dalam kehidupan anak anda. Belajar untuk beralih kepada "keluarga" anda apabila anda perlu berehat.

Tiada siapa yang harus mempunyai untuk melakukannya secara sendirian dan anda mungkin akan dapat menjadi ibu bapa yang lebih baik dengan bergantung kepada "keluarga" anda rakan-rakan rapat untuk menyokong anda dan anak anda.

5 - Ambil tanggungjawab untuk hidup anda hari ini -

Ingat apa yang membawa anda ke mana anda hari ini, anda adalah bertanggungjawab untuk kehidupan yang lain - kehidupan yang tidak bersalah kanak-kanak, yang tidak minta untuk dilahirkan.

Anak anda tidak bertanggungjawab untuk pengalaman atau peristiwa yang membuat anda menjadi seorang ibu tunggal. Anak anda adalah bergantung sepenuhnya kepada anda melalui tiada pilihan mereka sendiri.

Jangan biarkan mereka atau memegang mereka bertanggungjawab untuk tindakan anda (atau tindakan ibu bapa mereka tidak hadir). Mereka adalah lemah dan terdedah kepada mungkin kurang daripada yang ideal akibat yang mereka hadapi sebagai kanak-kanak yang ibu bapa tunggal. Peranan dan pengaruh dalam kehidupan mereka adalah penting kepada peluang mereka menjadi bahagia, produktif, orang dewasa yang berjaya. Mereka perlu anda lebih daripada kata-kata mereka yang pernah akan memberitahu.

6 - Sediakan ritual harian dan rutin biasa -

Anak anda memerlukan kestabilan dan keselamatan.
Salah satu cara untuk menyediakan ini adalah dengan membangunkan rutin harian. Perkara-perkara mudah seperti pergi ke taman setiap petang Ahad, makan malam bersama-sama setiap malam, berkongsi merawat sebelum masa tidur atau membaca buku bersama-sama sebelum tidur setiap malam, akan menjadi aktiviti yang anak anda memandang ke hadapan dan boleh bergantung kepada untuk berlaku dengan penyingkirannya.

7 - Jadilah yang konsisten dan boleh dipercayai -

Buat peraturan realistik dan standard disiplin yang anda berpegang kepada sepanjang masa.
Jika anda konsisten dengan anak anda, dia akan belajar apakah tingkah laku yang boleh diterima dan apa yang tidak. Mereka juga akan belajar apa yang anda harapkan daripada mereka dan apa yang mereka boleh harapkan daripada anda.

Jika anda boleh dipercayai, mereka akan tahu bahawa mereka sentiasa boleh bergantung kepada anda untuk membantu mereka dengan kerja rumah mereka, berada di sana untuk makan malam atau tuck mereka di atas katil pada waktu malam.

Mereka perlu dapat bergantung kepada anda. Anda orang yang paling penting dalam kehidupan mereka.
Cuba ingat bahawa tidak kira bagaimana letih anda pada akhir hari atau bagaimana kecewa, anda boleh menjadi apabila mereka berada cerewet - Mereka memerlukan anda untuk berada di sana untuk mereka.
Anda perlu menghargai setiap masa dengan anak anda - mereka adalah berkat terbaik di muka bumi.

Related Posts Plugin for WordPress, Blogger...