مدتی بود که می خواستم راه حلی را که برای روش شمارش بازدید های مطالب و نمایش
لیست پربازدیدترین مطالب را پیدا کرده بودم ، حاضر کنم که بعد از امتحانات زمان خوبی برای این کار بود و وقت شد تا این برنامه را بنویسم.
در این برنامه سعی شده تا به ساده ترین صورت ممکن راه حلی برای روش قبلی ایجاد بشه ، چرا که وبسایت ها و وبلاگ های زیادی از اون روش استفاده می کنند. برای شروع طبق مراحلی که آن را شرح خواهم داد قدم به قدم جلو برید تا به سادگی با طرز کار و بروزرسانی و نصب این شمارشگر آشنا بشید. قبل از هر چیز باید این نکته رو متذکر بشم که انجام فرایند های زیر در بانک اطلاعاتی مووبل تایپ غیر قابل برگشت است ، پس حتما از آن یک نسخه پشتیبان تهیه کنید.
ابتدا وبلاگ خود را از سرویس خارج کنید ، زمان بروزرسانی نباید هیچ کدام از صفحات سایت شما که شمارشگر قبلی در آن نمایش داده می شده است ، قابل بارگذاری باشد مخصوصا برای سایت های بزرگ و پربازدید ، بعد از اطمینان از خارج از سرویس بودن سایتتان به بخش 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 می توانید از این
روش نیز استفاده کنید.
من خوشحال می شم تا ازنقطه نظرها ، انتقادها و راهنمایی های شما در این رابطه اطلاع پیدا کنم ، برای بحث بر روی این شمارشگر می توانید به این
آدرس بروید.
فایل های مورد نیاز را دانلود و بر روی سیستم خود اکسترکت کنید.
کلیه اطلاعات این اسکریپت در این آدرس قرار داره.