【发布时间】:2014-08-14 22:13:06
【问题描述】:
我制作了一个简单的 PHP“面包屑”类,可以像这样转换路径:
some_folder/subfolder/page.php
进入这个:
Home > some_folder > subfolder > page
每个元素链接到相应页面的位置。但是,我真正想要的是从文件名以外的其他地方获取这些面包屑的文本,以便它看起来更像这样:
Home > Cool Stuff > Animals > Spiders
我曾想过使用 HTML 标签,但是:
- 不知道这样是否有效
- 这不适用于目录,仅适用于页面
那么,谁能告诉我这样做的好方法吗? (谢谢!)
【问题讨论】:
-
这一切都取决于您的系统是什么样子,信息输入的位置等等,但您可以将名称存储在数据库中。
-
是的,您需要对所需文本进行某种映射 -> 文件夹/文件名。这可以存储在数据库、文本文件或硬编码中。这样您就可以访问实际的链接,即文件夹/文件,您可以将其作为 href 属性,并将文本放在标签中。
-
您必须走数据库路线或单个索引页面路线。如果您在页面本身上找到它并且需要将
Cool Stuff更改为New Stuff,则您需要更改每个子页面。元数据可能有效,但子页面必须查看每个父页面的元数据才能构建面包屑。 -
我使用的是 FrontController 模式,如果这就是你的意思?正如@TunaMaxx 演示的那样,将映射存储在数组中对我来说很容易,但我担心可伸缩性,而且对我来说,这似乎不是代码和数据的非常干净的分离。
-
@Dan my sample 这不是一个完全优化的示例;这是对需要做什么的总体思路。它如何适合您的应用程序取决于您。关键是,您将必须将路径段映射到自定义字符串。你的面包屑类无法读懂你的想法来弄清楚你想要什么;你必须告诉它。
标签: php html navigation breadcrumbs