PDA

View Full Version : سوال: نمایش مسیر سایت (breadcrumbs)



.fatemeh
سه شنبه 17 اردیبهشت 1392, 10:04 صبح
با سلام خدمت دوستان
من کلی در زمینه نمایش مسیر سایت جستجو کردم.تقریبا کدها یه شکل بود
از کدی که توی همین سایت بود استفاده کردم.
کد:
function breadcrumbs($separator = ' > ', $array = array(), $arrayaf = array(), $home = 'صفحه اصلی') {
global $_SERVER;
$breadpath = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
$base = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
$breadcrumbs = Array("<a href=\"$base\">$home</a>");
$last = end($breadpath);
foreach ($breadpath AS $x => $crumb) {
$title = str_replace(Array('.php', '_'), Array('', ' '), $crumb);
$title = str_replace($array,$arrayaf, $title);
if ($x != $last)
$breadcrumbs[] = "<a href=\"$base$crumb\">$title</a>";
else
$breadcrumbs[] = $title;
}
return implode($separator, $breadcrumbs);
}
توی پرانتز:من یه صفحه طراحی کردم به نام page.php همه لینکها به همین صفحه می رن با یه کوئری استرینگ
مثلا page.php?p=1 بعد اگر p=1 صفحه درباره ما باز بشه و الی آخر...
حالا توی قسمت آخر فقط می نویسه page ،باید کوئری رو بگیره که من switch کنم ببینم توی کدوم صفحه هست.
مشکل بعدی اینه فقط تا 2 تا نمایش میده.
مثلا من توی فروشگاه>نرم افزار>آنتی ویروس>nod32 هستم (url:xxxx.com/page.php?p=14&&c=26)
می نویسه صفحه اصلی>page

navid3d_69
سه شنبه 17 اردیبهشت 1392, 11:05 صبح
پیش نهاد من اینه اگر از منو داینامیک استفاده می کنید همون تور که منو ها رو با زیر منو هاشون نمایش میدن این کارو انجام بدین فقط برای این کار id parent رو چک کنید با یک تابع بازگشتی این کار انجام میشه

.fatemeh
سه شنبه 17 اردیبهشت 1392, 12:31 عصر
نه.اینا اصلا توی منو نیستن.
وقتی روی لینک فروشگاه(page.php?p=13)کلیک می شه.می ره توی یه صفحه با محصولات مختلف که به صورت آلبومی نماشی داده شده(منو و زیر منو نیست)
حالا روی نرم افزار کلیک میشه محصولات نرم افزاری میاد و باقی قضایا

MMSHFE
سه شنبه 17 اردیبهشت 1392, 12:34 عصر
بالأخره یه جایی دارین دسته بندی ها رو ذخیره میکنید که مثلاً محصولات آموزشی در شاخه نرم افزار ظاهر میشه و... طبق همون مسیرها باید از محلی که هستین اینقدر بیاین عقب که به ریشه برسین.

.fatemeh
سه شنبه 17 اردیبهشت 1392, 12:58 عصر
به نظرتون می شه هر p که میاد (بین صفحات حرکت میکنه) بریزم توی آرایه بعد عناصر آرایه رو switch کنم.تا بتونم نام صفحه رو به فارسی بنویسم.
فقط اگه برگشت به عقب چی مشه؟؟:متفکر:
باید p تکراری رو توی آرایه جستجو کنم. اگه تکراری بود تا اندیش آرایه رو خالی کنم.؟؟؟
این طوری درست میشه؟
یعنی اصلا از کدهای بالا و کدهای مسیر سایت استفاده نکنم.

MMSHFE
سه شنبه 17 اردیبهشت 1392, 14:11 عصر
اینطوری خوب کار نمیکنه. مثلاً اگه یکی دستی بیاد توی مرورگر بنویسه yoursite.com?p=171 اونوقت چی؟

.fatemeh
پنج شنبه 19 اردیبهشت 1392, 10:01 صبح
به ازای هر صفحه یه p دارم ،اگر عددی بیاد(171) که توی case های switch نباشه میره به صفحه 404.
به نظرتون بهتره وقت بزارم اینو بنویسم یا کدهای آماده رو اصلاح کنم؟
البته در کل وقت زیادی ندارم .

اینطوری خوب کار نمیکنه
شما چه راهی رو پیشنهاد می دید؟

MMSHFE
پنج شنبه 19 اردیبهشت 1392, 10:39 صبح
نه بحث پیدا نشدن نیست. منظورم اینه که فرض کنید 171=p توی switch بود و به صفحه 404 نرفتیم. اما مستقیماً توی آدرس تایپ شده. حالا چطوری میخواین مسیر رو نشون بدین؟

.fatemeh
پنج شنبه 19 اردیبهشت 1392, 13:38 عصر
اطلاعات توی دیتابیس ذخیره هست.
پس باید یه تابع بنویسم.مقدار رو بگیره ، از بانک select کنم تا برسم به ریشه.مثالا نرم افزار
توی هر صفحه ای هم که بود باز تا جدولی که اطلاعات ریشه ها ذخیره هست برگرده.
درست فهمیدم؟

MMSHFE
پنج شنبه 19 اردیبهشت 1392, 17:27 عصر
بله دقیقاً

rezabojnordi
شنبه 25 خرداد 1392, 11:34 صبح
سلام دوستان کسی نمونه منو داینامیک با زبان php داره به من بده اگه امکانش هست برام میل کنید مرسی bojnordireza@yahoo.com