Jinsi ya Kutengeneza Dynamic Breadcrumb Navigation kwa JavaScript na PHP
Hatua kwa Hatua
1️⃣ HTML Structure
<nav id="breadcrumb">
<ul>
<!-- Breadcrumb items zitajazwa dynamically -->
</ul>
</nav>
<style>
#breadcrumb ul {
list-style: none;
display: flex;
gap: 5px;
}
#breadcrumb li::after {
content: ">";
margin-left: 5px;
}
#breadcrumb li:last-child::after {
content: "";
}
#breadcrumb a {
text-decoration: none;
color: #3498db;
}
</style>
2️⃣ JavaScript kwa Dynamic Breadcrumb
const breadcrumb = document.getElementById("breadcrumb").querySelector("ul");
const pathArray = window.location.pathname.split("/").filter(p => p);
breadcrumb.innerHTML = pathArray.map((segment, index) => {
const url = "/" + pathArray.slice(0, index + 1).join("/");
if (index === pathArray.length - 1) {
return `<li>${segment.replace(/-/g, " ")}</li>`; // Current page
}
return `<li><a href="${url}">${segment.replace(/-/g, " ")}</a></li>`;
}).join("");
Hii inachukua URL ya current page na ku-create breadcrumb items automatically.
Segment za URL zinaweza kubadilishwa kuwa readable text (replace("-", " ")).
3️⃣ PHP Version kwa Server-Side Breadcrumb
<?php
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = array_filter(explode('/', $path));
echo '<nav><ul>';
$buildPath = '';
foreach ($segments as $segment) {
$buildPath .= '/' . $segment;
echo '<li><a href="'.$buildPath.'">'.ucwords(str_replace('-', ' ', $segment)).'</a></li>';
}
echo '</ul></nav>';
?>
Server-side breadcrumbs ni nzuri kwa SEO, kwa sababu search engines zinaona HTML.
4️⃣ Faida za Dynamic Breadcrumb Navigation
Improves UX: Watumiaji wanajua location yao kwenye site.
Easy Navigation: Kurudi pages nyuma kwa urahisi.
SEO Friendly: Search engines zinapenda structured internal links.
Reusable: Works automatically kwenye multiple pages bila manual editing.
🔗 Links Za Kujifunza Zaidi
🌐 Faulink Official Website: https://www.faulink.com/
📘 Jifunze Web Design & Programming (Tutorials / Mifumo): https://www.faulink.com/excel_mifumo.php
📲 Piga / WhatsApp kwa msaada wa haraka: https://wa.me/255693118509