ارسال موضوع  ارسال پاسخ 
 
رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
نویسنده پیام
Pouya آفلاین
با سابقه ها و بزرگان
MT LEGEND

ارسال‌ها: 2,453
Likes Given: 3
Likes Received: 49 in 27 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #1
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
مدتی بود که می خواستم راه حلی را که برای روش شمارش بازدید های مطالب و نمایش لیست پربازدیدترین مطالب را پیدا کرده بودم ، حاضر کنم که بعد از امتحانات زمان خوبی برای این کار بود و وقت شد تا این برنامه را بنویسم.

در این برنامه سعی شده تا به ساده ترین صورت ممکن راه حلی برای روش قبلی ایجاد بشه ، چرا که وبسایت ها و وبلاگ های زیادی از اون روش استفاده می کنند. برای شروع طبق مراحلی که آن را شرح خواهم داد قدم به قدم جلو برید تا به سادگی با طرز کار و بروزرسانی و نصب این شمارشگر آشنا بشید. قبل از هر چیز باید این نکته رو متذکر بشم که انجام فرایند های زیر در بانک اطلاعاتی مووبل تایپ غیر قابل برگشت است ، پس حتما از آن یک نسخه پشتیبان تهیه کنید.

ابتدا وبلاگ خود را از سرویس خارج کنید ، زمان بروزرسانی نباید هیچ کدام از صفحات سایت شما که شمارشگر قبلی در آن نمایش داده می شده است ، قابل بارگذاری باشد مخصوصا برای سایت های بزرگ و پربازدید ، بعد از اطمینان از خارج از سرویس بودن سایتتان به بخش phpmyadmin کنترل پنل بروید و دیتابیس مووبل تایپ خود را انتخاب کنید و به صفحه Query بروید و این جدول جدید را در آن ایجاد کنید.

کد:
--
-- Table structure for table `mt_counter`
--
CREATE TABLE `mt_counter` (
`id` int(11) NOT NULL auto_increment,
`entry_blog_id` int(11) NOT NULL default '0',
`entry_id` int(11) NOT NULL default '0',
`entry_counter` int(11) NOT NULL default '0',
`entry_url` longtext,
`entry_title` longtext,
`entry_body` longtext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

دقت کنید که این کد ها در فایل mt_counter.php برای شما حاضر شده اند و احتیاجی به کپی و پیست از این صفحه نیست.
بعد از انجام این کار نیاز هست که جدول جدید با اطلاعات جدول قبلی بروزرسانی بشه ، فایل convertor.php را می توانید از فایل ضمیمه شده به این نوشته دریافت کنید و آن را در root سایت خود آپلود و فراخوانی کنید ، اطلاعات دیتا بیس خود را در آن وارد و فرایند تبدیل و بروزرسانی را انجام دهید.
بعد از انجام کار های بالا می توانید جدول mt_hits را کلا پاک کنید همینطور فایل convertor.php را از root سایت خود.
فایل دیگری که ضمیمه این نوشته است mt_counter.php است ، آن را با یک ادیتور php باز و اطلاعات دیتابیس خود را در آن وارد کنید و در دایرکتوری مورد نظراتان آپلود کنید به عنوان مثال دایرکتوری script که آدرس آن به صورت http://example.com/script خواهد بود آپلود می کنید.
این فایل را در هر صفحه که می خواهید از امکانات آن استفاده کنید و در بالاترین نقطه کد های قالب وبلاگ خود اینکلود کنید.
کد PHP:
<?php include($_SERVER['DOCUMENT_ROOT'].'script/mt_counter.php'); ?>
در این فایل 4 تابع وجود دارد که وظیفه و الگوی استفاده از هر کدام به شرح زیر است:
1. entry_counter این تابع وظیفه شمارش دفعات نمایش یک صفحه را به عهده دارد ، فک کنم نیازی نباشه که بگم جای این تابع در مووبل تایپ 3 قالب (Individual Entry Archive) و در 4 قالب (Entry) است!
الگوی استفاده اش هم به این شرحه:
کد PHP:
<?php entry_counter('<$MTEntryID$>','<$MTBlogID$>','<$MTEntryPermalink encode_html="1"$>','<$MTEntryTitle encode_html="1"$>','<$MTEntryExcerpt encode_html="1"$>',$beforeCounter='<li>'$afterCounter='</li>'); ?>
برای سایت های بزرگ یا اونهای که از سرور قدرتمندی برخوردار نیستن و امکان فشار به سرورشون وجود داره می تونن از
کد:
<$MTEntryExcerpt encode_html="1"$>
فاکتور بگیرن و از این الگو استفاده کنن:
کد PHP:
<?php entry_counter('<$MTEntryID$>','<$MTBlogID$>','<$MTEntryPermalink encode_html="1"$>','<$MTEntryTitle encode_html="1"$>',' ',$beforeCounter='<li>'$afterCounter='</li>'); ?>
2.show_entry_counter این تابع تعداد دفعات نمایش صفحه را نمایش می دهد ، در هر جای از صفحه خود می تونید ازش استفاده کنید.
الگوی استفاده اش هم به این شرحه:
کد PHP:
<?php show_entry_counter('<$MTEntryID$>',$beforeCounter='<li>'$afterCounter='</li>'); ?>
3.top_entries این تابع لیستی از بیشترین مطالبی که نمایش داده شده اند را نمایش می دهد ، می توانید در ساید بار ازش استفاده کنید.
الگوی استفاده اش هم به این شرحه:
کد PHP:
<?php top_entries('10''1'true$beforeLink='<li>'$afterLink='</li>'$text=' بازدید '); ?>
عدد 10 تعداد لینک های لیست شماست و عدد 1 هم ID وبلاگ مود نظر شماست ، می توانید برای نمایش لینک ها از چند وبلاگ به جای ‘1′ از ‘1,2,3,4′ استفاده کنید. مقدار true برای نمایش توضیح مطلب است ، در صورت false بودن نمایش داده نمی شود. به صورت پیشفرض در جلوی لینک ها تعداد نمایش مطالب آنها به همراه کلمه ‘بازدید’ نمایش داده می شود در صورتی که پارمتر $text مقداری نداشته باشد ، تعداد بازدید ها نیز نمایش داده نمی شود.
4.random_entries این تابع لیستی از مطالب اتفاقی را نمایش می دهد ، این را هم می تونید در ساید بار وبلاگتون استفاده کنید.
الگوی استفاده اش هم به این شرحه:
کد PHP:
<?php random_entries('10' ,'1' true$beforeLink='<li>'$afterLink='</li>'); ?>
عدد 10 تعداد لینک های لیست شماست و عدد 1 هم ID وبلاگ مود نظر شماست ، می تونید برای نمایش لینک ها از چند وبلاگ به جای ‘1′ از ‘1,2,3,4′ استفاده کنید. مقدار true برای نمایش توضیح مطلب است ، در صورت false بودن نمایش داده نمی شود.
سوالات متداولی که ممکنه برای شما پیش بیاد :
1. چرا از
کد:
<$MTEntryExcerpt encode_html="1"$>
استفاده شده در این اسکریپت؟ این کار باعث افزایش حجم بانک اطلاعاتی و در نتیجه کند شدن روند سرویس دهی نمی شه؟
- قرار بود نسخه فعلی با قابلیت نمایش مطالب مرتبط در صفحه آرشیو تکی ارائه بشه ، که با توجه به حجم زیاد کاری بنده نشد که قابلیت را به این نسخه اضافه کنم ، در نسخه بعدی این قابلیت اضافه خواهد شد و ما به این تگ نیاز خواهیم داشت ، شما می توانید برای عدم استفاده از اطلاعات اضافی مثلا فقط 20 کارکتر اول هر مطلب را به دیتابیس بفرستید. اگر سرویس دهنده شما از قدرت لازم برخوردار نیست ، می توانید از این تگ استفاده نکنید. این مورد انتخابی است.
2. من تمامی کار های که شما گفتید را انجام دادم ، منتها لیست های من نمایش داده نمی شود و یا لینک های آن مشکل دارند ، چرا؟
- الگوریتم کاری این سیستم به این شرحه که ابتدا با فراخوانی تابع ()entry_counter ، اطلاعات دیتا بیس چک می شود ، اگر ردیفی با شماره ID نوشته وجود نداشت ، آن را ایجاد می کند در غیر این صورت شمارشگر آنرا بروز می کند ، اگر نام نوشته و محتوای آن تغییر کرده بود آنها را به روز می کند و به شمارشگر آن یکی اضافه می کند ، برای اینکه لینک ها و عنوان ها و محتویات نوشته ها ایجاد و یا تغییر پیدا کنند ، باید حتما آدرس نوشته های مورد نظر یک بار فراخوانی شوند تا اطلاعات به دیتا بیس انتقال پیدا کنند.
3. این شمارشگر برای چه نسخه ای از مووبل تایپ است؟
- این شمارشگر بر روی تمامی نسخه های مووبل تایپ قابل نصب و اجرا است ، برای نسخه های 3 و قبل از آن تنها راه است که شما 4 امکان شمارنده ، نمایش شمارنده ، لیست پربازدیدترین ها و لیست مطالب اتفاقی را داشته باشید و برای مووبل تایپ 4 می توانید از این روش نیز استفاده کنید.
من خوشحال می شم تا ازنقطه نظرها ، انتقادها و راهنمایی های شما در این رابطه اطلاع پیدا کنم ، برای بحث بر روی این شمارشگر می توانید به این آدرس بروید.
فایل های مورد نیاز را دانلود و بر روی سیستم خود اکسترکت کنید.

کلیه اطلاعات این اسکریپت در این آدرس قرار داره.

[تصویر: logo-secondary-pages.png]
۲۶ بهمن ۱۳۸۶ ۱۲:۳۴ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
rockboy_62 آفلاین
با سابقه ها و بزرگان
MT LEGEND

ارسال‌ها: 2,302
Likes Given: 4
Likes Received: 4 in 3 posts
تاریخ عضویت: ۱۷ شهریور ۱۳۸۵
ارسال: #2
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
کد:
ابتدا وبلاگ خود را از سرویس خارج کنید ، زمان بروزرسانی نباید هیچ کدام از صفحات سایت شما که شمارشگر قبلی در آن نمایش داده می شده است ، قابل بارگذاری باشد
پویا در مورد این قسمت یه توضیح بده لطفا

۲۶ بهمن ۱۳۸۶ ۱۲:۴۱ عصر
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Pouya آفلاین
با سابقه ها و بزرگان
MT LEGEND

ارسال‌ها: 2,453
Likes Given: 3
Likes Received: 49 in 27 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #3
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
خب شما می خوای کانترت رو بروز کنی در حالی که صفحات سایتت داره به دفعات لود میشه و شمارنده قبلی داره کا می کنه؟؟؟ اگر نمی تونید سایت رو از سرویس خارج کنید ، فایل php کانتر قبلی رو رینیم کنید نا دیگه کار نکنه!

[تصویر: logo-secondary-pages.png]
۲۶ بهمن ۱۳۸۶ ۱۲:۴۶ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Azemati آفلاین
Posting Freak
*****

ارسال‌ها: 2,864
Likes Given: 0
Likes Received: 2 in 2 posts
تاریخ عضویت: ۹ مرداد ۱۳۸۵
ارسال: #4
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
خب دستت درد نکنه پویا جان. خسته هم نباشی اساسی. واقعا کار اساسی و خوبی انجام شده. این که کاری کردی که اطلاعات قبلی از بین نره خیلی خوب و مهمه.

حالا دو سوال؛

- این شمارشگر چه برتری و در واقع فرقی با نسخه‌ی قبلی داره که من رو ترغیب کنه از این استفاده کنم؟ در نسخه های قبلی هم لیست بیشتر بازدید شده ها قابل ایجاد بود و همین طور می تونستم مطالب اتفاقی رو با پلاگین ایجاد کنم. (این سوال رو از دید یک کاربر معمولی که تازه با ام تی آشنا شده می پرسم)

- برای اینکه مطالب اتفاقی عوض بشه، بازسازی لازمه یا فقط با رفرش صفحه مطالب هم عوض میشن؟

۲۶ بهمن ۱۳۸۶ ۱۲:۵۹ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Saleh آفلاین
صالح
MT LEGEND

ارسال‌ها: 2,228
Likes Given: 1
Likes Received: 1 in 1 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #5
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
پویا جان مرسی خسته نباشید. عالی شده برای 3 که محشره چراش رو در جواب امیر میگم

1- به نظرم بیشتر رو بیشترین بازدیدها و مطالب اتفاقی مانور داده شده. البته سایر کد ها هم بهینه شده. حالا فرقش در مورد نسخه قبلی احتیاج به نصب پلاگین mtsql بود که خودش یک فشار بر روی سرور میاورد و دویم اینکه برای 4 امکان پذیر نبود. و این خودش خیلی برتری نسبت به قبلی هست.

2- رو خودش میاد جواب میده

۲۷ بهمن ۱۳۸۶ ۰۱:۵۶ صبح
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Pouya آفلاین
با سابقه ها و بزرگان
MT LEGEND

ارسال‌ها: 2,453
Likes Given: 3
Likes Received: 49 in 27 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #6
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
این روش هیچ نیازی به پلگین نداره که نصب بشه ، موارد آپشنال زیاد داره ، کاملا لوکالیزیشن هست ، یعنی شما احتیاج نداری توی کد اصلی دست بزنی ، همون جا که داری از توابع استفاده می کنی ، می تونی تغییرات رو اعمال کنی و اینکه دو تا لیست کاملا دینامیک هستن ، نیاز به باز سازی نیست.

این نسخه کاملا درش نظم و دیسیپلین کد نویسی رعایت شده ، شما اگر php وارد باشی راحت می تونی کد ها رو تغییر بدی در ضمن کمک میکنه که در نسخه بعدی ، امکان نمایش مطالب مرتبط با استفاده از خاصیت fulltext رو نمایش بدیم.

[تصویر: logo-secondary-pages.png]
۲۷ بهمن ۱۳۸۶ ۱۰:۱۶ صبح
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
motahari آفلاین
Posting Freak
*****

ارسال‌ها: 2,008
Likes Given: 0
Likes Received: 1 in 1 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #7
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
پلاگيني وجود نداره كه با دادن آي دي مطلب تيتر و خلاصه مطلب رو بتونه نشون بده؟
اگه اين باشه ديگه نيازي به <$MTEntryExcerpt encode_html="1"$> نيست.

مال و منالی ندارم، اما هرچه ستاره شمرده ام مال تو...
-----------------------------------------------------------
چو ايران نباشد تن من مباد....
--------------------------------

[SIZE="3"][FONT="Arial"]ثبت دامنه IR. ساليانه فقط 2600 تومان![/FONT][/SIZE]


اگر از طريق pm پيغام خيلي خصوصي مي‌خواهيد برايم بفرستيد، از ايميل استفاده كنيد. (ehsan_motahari ات ياهو دات كام!)
۲۷ بهمن ۱۳۸۶ ۱۲:۱۵ عصر
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Azemati آفلاین
Posting Freak
*****

ارسال‌ها: 2,864
Likes Given: 0
Likes Received: 2 in 2 posts
تاریخ عضویت: ۹ مرداد ۱۳۸۵
ارسال: #8
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
من توی یه سایت روش قبلی رو استفاده می کردم. با کمک راهنمای بالا، خیلی تر و تمیز و شکیل اومدم روی این روش. خیلی خوبه. خواستم یه تشکر دوباره کرده باشم.

۲۸ بهمن ۱۳۸۶ ۰۲:۲۷ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Azemati آفلاین
Posting Freak
*****

ارسال‌ها: 2,864
Likes Given: 0
Likes Received: 2 in 2 posts
تاریخ عضویت: ۹ مرداد ۱۳۸۵
ارسال: #9
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
در بخش مطالب اتفاقی به چه صورت میشه تعداد بازدید هر مطلب رو هم جلوش نوشت!؟

۲۸ بهمن ۱۳۸۶ ۰۲:۵۷ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
Pouya آفلاین
با سابقه ها و بزرگان
MT LEGEND

ارسال‌ها: 2,453
Likes Given: 3
Likes Received: 49 in 27 posts
تاریخ عضویت: ۱۱ دی ۱۳۴۸
ارسال: #10
شمارشگر حرفه ای بازدید های مطالب در مووبل تایپ
Azemati نوشته شده:در بخش مطالب اتفاقی به چه صورت میشه تعداد بازدید هر مطلب رو هم جلوش نوشت!؟
به صورت پیش فرض نمیشه(نیازی ندیدم که این امکان روش باشه ) ، می تونی یه سری تغییرات توی کد بدی...

[تصویر: logo-secondary-pages.png]
۲۸ بهمن ۱۳۸۶ ۰۴:۳۶ عصر
یافتن تمامی ارسال‌های این کاربر Like Post نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: