-
یه تغییر کوچیک در Page Navigation Links
سلام به همه دوستان در مامبولرن
** ببخشید نمی دونستم کدوم بخش برای این مطلب مناسب هست . در صورت نیاز به بخش مربوطه انتقالش بدید . 
همونطور که از عنوان این تاپیک مشخص هست من یه تغییر کوچیک در Page Navigation دادم . البته این رو بگم که در این قسمت هیچ مشکلی وجود نداشت ، فقط سعی کردم بهینه سازی کنم .
خوب داستان از این قرار بود که من متنی رو 25 قسمت کرده بودم (توسط {mospagebreak} ) و Page Navigation به شکل زیر بود :
کد:
<< Start < Previous 1 2 3 4 5 6 7 8 9 10 Next > End >>
مشکل من از اونجایی شروع شد که به صفحه 10 رفتم و برای رفتن به 11 و بالاتر لینکی به جز Next > که به 11 می رفت ، نبود . وقتی هم که وارد صفحه 11 می شدم برای برگشت به صفحات زیر 10 (مثلا 2 صفحه قبل) لینکی نبود .
کد:
<< Start < Previous 11 12 13 14 15 16 17 18 19 20 Next > End >>
خوب یه خرده برام عجیب بود !!؟؟
در شرایط مشابه (حتی در برنامه های خودم ) به این شکل بود که شما در هر صفحه ای هستید دسترسی به چند صفحه قبل و بعد دارید . این مسئله من رو وادار کرد که یه سَری به سورس برنامه بزنم .
طبق معمول بعد از کلی گشت و گذار متوجه شدم که این قسمت به کدوم فایل مربوط هست (امان از بی تجربگی ;D ). در شاخه includes فایل pageNavigation.php رو کشف و باز کردم . خوب من تابع مربوطه رو (writePagesLinks) بررسی کردم .
تغییراتی رو دادم اما پشیمون شدم ، سعی کردم در منطق اصلی تابع تغییری ندم و با یه دستکاری کوچک به نتیجه ای که می خواستم رسیدم .
این تغییر به شکل زیر بود (خط 110 تا 120 رو به شکل زیر قرار دادم ):
کد:
$displayed_pages = 9;
$total_pages = ceil( $this->total / $this->limit );
$this_page = ceil( ($this->limitstart+1) / $this->limit );
$start_loop = (floor(($this_page-1)/$displayed_pages))*$displayed_pages+1;
if ($this_page < 5){$start_loop = 1;}else{$start_loop = $this_page-4;}
if ($start_loop + $displayed_pages - 1 < $total_pages) {
$stop_loop = $start_loop + $displayed_pages - 1;
} else {
$stop_loop = $total_pages;
}
در خط 110 مقدار displayed_pages رو برابر 9 قرار دادم و یک خط هم بعد از خط 114 اضافه کردم .
با انجام این تغییر شما در هر صفحه ای که قرار داشته باشید به 4 صفحه قبل و بعد (در صورت وجود داشتن) دسترسی دارید .
نمونه (اگر در شما در صفحه 11 باشید ):
کد:
<< Start < Previous 7 8 9 10 11 12 13 14 15 Next > End >>
به نظر این روش متداول تر اومد به همین دلیل ارائه میدم شاید باعث تغییر و ارتقا برنامه (اگه بشه اسمش رو ارتقا یا رشد گذاشت :
) بشم .
بازم تاکید میکنم که در مامبو مشکل وجود نداشت و فقط این یه تغییر سلیقه ای هست . اما گفتم اینجا بذارم شاید برای شما دوستان هم کاربردی باشه و یا در صورت تایید در ورژن بعدی از این روش استفاده بشه . (تستش کنید
و اگه مشکلی بود خبرم کنید )
پوینده باشید
امیر
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
08-07-2008 11:53 AM
# ADS
تبلیغات در جوملا فارسی
-
پاسخ : یه تغییر کوچیک در Page Navigation Links
سلام امیرجان.دستت درد نکنه. 
[size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt][size=10pt]تست شد و مشکلی نداشت.[/size][/size][/size][/size][/size][/size][/size][/size][/size][/size][/size][/size][/size]مثل همیشه عالی،مفید،کارامد،بدون نقص،تمیز و ... 
موفق باشی...
یــــــــــــــــــــــاع ـــــــــــــــــــــــلی
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
علاقه مندی ها (Bookmarks)