عرض مشاركة واحدة
قديم 03-22-2014, 01:26 PM   #1
حسين
مدون جديد
 
تاريخ التسجيل: Mar 2013
المشاركات: 55
Lightbulb إضافة أداة أكثر المعلقين لمدونات بلوجر - بلوجر بالعربية

بسم الله الرحمن الرحيم
درس حصري وجديد على مدونة بلوجر بالعربية.



كثرت أدوات بلوجر المفيدة وعير المفيدة ومنها التي تقوم بتجميل شكل المدونة،واليوم معنا إضافة تقوم بعرض أسماء أكثر المعلقين في المدونة مع إظهار عدد التعليقات بجانب الاسم، ستعمل هذه الأداة على تشجيع الزوار على التعليق.

صورة للأداة:



خطوات التركيب:
  • اذهب إلى صفحة تحكم مدونتك.
  • اضغط على تخطيط.
  • ثم اضغط على إضافة أداة.
  • ثم اختر HTML/JavaScript.
  • ثم ضع الكود التالي فيها:
رمز Code:
كود PHP:
         <style type="text/css">     .top-commentators {     margin3px 0;     border-bottom1px dotted #ccc;     }     .avatar-top-commentators {     vertical-align:middle;     border-radius: 30px;     }     .top-commentators .commenter-link-name {     padding-left:0;     }     </style>     <script type="text/javascript">     var maxTopCommenters = 8;      var minComments = 1;       var numDays = 0;           var excludeMe = true;      var excludeUsers = ["Anonymous", "someotherusertoexclude"];     var maxUserNameLength = 42;     //     var txtTopLine = '<b>[#].</b> [image] [user] ([count])';     var txtNoTopCommenters = 'No top commentators at this time.';     var txtAnonymous = '';     //     var sizeAvatar = 33;     var cropAvatar = true;     //     var urlNoAvatar = "http://2.bp.blogspot.com/-pWdg8wLsedo/UmVWQxLdwrI/AAAAAAAAEVk/-z7YgKykkuU/s1600/avatar_blue_m_96.png" + sizeAvatar;     var urlAnoAvatar = 'http://1.bp.blogspot.com/-6B6DXCp8dek/UmVPm7D2mOI/AAAAAAAAEVU/Xz-3z2nRpUk/s1600/avatar1.png' + sizeAvatar;     var urlMyProfile = '';     var urlMyAvatar = '';     if(!Array.indexOf) {      Array.prototype.indexOf=function(obj) {       for(var i=0;i<this.length;i++) if(this[i]==obj) return i;       return -1;     }}     function replaceTopCmtVars(text, item, position)     {       if(!item || !item.author) return text;       var author = item.author;       var authorUri = "";       if(author.uri && author.uri.$t != "")         authorUri = author.uri.$t;       var avaimg = urlAnoAvatar;       var bloggerprofile = "http://www.blogger.com/profile/";       if(author.gd$image && author.gd$image.src && authorUri.substr(0,bloggerprofile.length) == bloggerprofile)         avaimg = author.gd$image.src;       else {         var parseurl = document.createElement('a');         if(authorUri != "") {           parseurl.href = authorUri;           avaimg = 'http://www.google.com/s2/favicons?domain=' + parseurl.hostname;         }       }       if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "")         avaimg = urlMyAvatar;       if(avaimg == "http://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar != "")         avaimg = urlNoAvatar;       var newsize="s"+sizeAvatar;       avaimg = avaimg.replace(/\/s\d\d+-c\//, "/"+newsize+"-c/");       if(cropAvatar) newsize+="-c";       avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/"+newsize+"/");       var authorName = author.name.$t;       if(authorName == 'Anonymous' && txtAnonymous != '' && avaimg == urlAnoAvatar)         authorName = txtAnonymous;       var imgcode = '<img class="avatar-top-commentators" height="'+sizeAvatar+'" width="'+sizeAvatar+'" title="'+authorName+'" src="'+avaimg+'" />';       if(authorUri!="") imgcode = '<a href="'+authorUri+'">'+imgcode+'</a>';       if(maxUserNameLength > 3 && authorName.length > maxUserNameLength)         authorName = authorName.substr(0, maxUserNameLength-3) + "...";       var authorcode = authorName;       if(authorUri!="") authorcode = '<a class="commenter-link-name" href="'+authorUri+'">'+authorcode+'</a>';       text = text.replace('[user]', authorcode);       text = text.replace('[image]', imgcode);       text = text.replace('[#]', position);       text = text.replace('[count]', item.count);       return text;     }     var topcommenters = {};     var ndxbase = 1;     function showTopCommenters(json) {       var one_day=1000*60*60*24;       var today = new Date();       if(urlMyProfile == "") {         var elements = document.getElementsByTagName("*");         var expr = /(^| )profile-link( |$)/;         for(var i=0 ; i<elements.length ; i++)           if(expr.test(elements[i].className)) {             urlMyProfile = elements[i].href;             break;           }       }       if(json && json.feed && json.feed.entry && json.feed.entry.length) for(var i = 0 ; i < json.feed.entry.length ; i++ ) {         var entry = json.feed.entry[i];         if(numDays > 0) {           var datePart = entry.published.$t.match(/\d+/g);           var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]);            var days = Math.ceil((today.getTime()-cmtDate.getTime())/(one_day));           if(days > numDays) break;         }         var authorUri = "";         if(entry.author[0].uri && entry.author[0].uri.$t != "")           authorUri = entry.author[0].uri.$t;         if(excludeMe && authorUri != "" && authorUri == urlMyProfile)           continue;         var authorName = entry.author[0].name.$t;         if(excludeUsers.indexOf(authorName) != -1)           continue;         var hash=entry.author[0].name.$t + "-" + authorUri;         if(topcommenters[hash])           topcommenters[hash].count++;         else {           var commenter = new Object();           commenter.author = entry.author[0];           commenter.count = 1;           topcommenters[hash] = commenter;         }       }       if(json && json.feed && json.feed.entry && json.feed.entry.length && json.feed.entry.length == 200) {         ndxbase += 200;         document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&start-index='+ndxbase+'&alt=json-in-script&callback=showTopCommenters"></'+'script>');         return;       }       // convert object to array of tuples       var tuplear = [];       for(var key in topcommenters) tuplear.push([key, topcommenters[key]]);       tuplear.sort(function(a, b) {         if(b[1].count-a[1].count)             return b[1].count-a[1].count;         return (a[1].author.name.$t.toLowerCase() < b[1].author.name.$t.toLowerCase()) ? -1 : 1;       });       var realcount = 0;       for(var i = 0; i < maxTopCommenters && i < tuplear.length ; i++) {         var item = tuplear[i][1];         if(item.count < minComments)             break;         document.write('<di'+'v class="top-commentators">');         document.write(replaceTopCmtVars(txtTopLine, item, realcount+1));         document.write('</d'+'iv>');         realcount++;       }       if(!realcount)         document.write(txtNoTopCommenters);     }     document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></'+'script>');     </script> 
وأما الجملة التي باللون الأحمر،فيمكنك استبدالها باسم الشخص الذي لا تريده أن يظهر في القائمة.

انتهى الشرح أتمنى أن يكون قد اعجبكم.

الموضوع الأصلي: إضافة أداة أكثر المعلقين لمدونات بلوجر - Blogger In Arabic بلوجر بالعربية

الدعم العربي


التعديل الأخير تم بواسطة حسين ; 03-22-2014 الساعة 01:29 PM
حسين غير متواجد حالياً   رد مع اقتباس