سلام امیدوار که حالتون خوبه خوب باشه من این سوال رو به این دلیل میپرسم که وقتی با این مشکل روبرو شدم منبعی برای BreadCrumb حداقل تو ایران و توران نبود.
سوال اینه که من یک Bread crumb ساختم و میخوام نام صفحه یا همون title رو نمایش بده ممنون میشم راهنمایی کنید. این کدها فقط نام فایل رو نشون میدن مثلا index.php یا detail.php
<?php
function get_breadcumb(){
if($location = substr(dirname($_SERVER['PHP_SELF']), 1))
$dirlist = explode('/', $location);
else
$dirlist = array();
$count = array_push($dirlist, basename($_SERVER['PHP_SELF']));
$address = 'http://'.$_SERVER['HTTP_HOST'];
for($i = 0; $i < $count; $i++)
echo "<li class=\"breadcrumb-item\" aria-current=\"page\"><a href=\"($address .= '/'.$dirlist[$i])\"><span class='mx-1'></span>$dirlist[$i]</a></li>";
}
?>
کدهای HTML
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<?php get_breadcumb(); ?>
</ol>
</nav>
سلام
شما باید مقدار URI درخواست را بدست آورده و آنرا پردازش کنید. این مقدار در آرایه SERVER ذخیره شده است.
$uri = $_SERVER['REQUEST_URI'];
$path = explode('/', $uri);
foreach($path AS $slug) {
$title = get_post_title_by_slug($slug);
}
برای مثال آدرس URI همین صفحه را در نظر بگیرید:
https://www.roxo.ir/q/questions/375/tips-for-displaying-title-instead-of-file-name-in-breadcrumb-in-php
مقدار متغیر uri$ در آدرس فوق برابر است با :
q/questions/375/tips-for-displaying-title-instead-of-file-name-in-breadcrumb-in-php/
با استفاده از متد explode رشته را تجزیه کرده و با استفاده از اطلاعاتی که در پایگاه داده شما (جدول posts) می توانید عنوان موردنظر را بدست آورید.
در حلقه تابع ()get_post_title_by_slug با استفاده از آرگومان ورودی (slug$) عنوان پست مربوطه را دریافت می کند.
توضیح بیشتر اینکه آدرس URI را شما خودتان تعیین می کنید و بر اساس آن باید پردازش های لازم را انجام دهید. هر نوشته ای (post) در جدول post ذخیره شده که یکی از فیلدهای آن slug است که می تواند مقدار آن فارسی یا انگلیسی باشد.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.