Drupal 7:
function THEMENAME_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];
if (!empty($breadcrumb)) {
// Provide a navigational heading to give context for breadcrumb links to
// screen-reader users. Make the heading invisible with .element-invisible.
$output = '<h2 class="element-invisible">' . t('You are here:') . '</h2>';
$crumbs = '<ul class="breadcrumbs clearfix">';
$array_size = count($breadcrumb);
$i = 0;
while ( $i < $array_size) {
$crumbs .= '<li class="breadcrumb-' . $i;
if ($i == 0) {
$crumbs .= ' first';
}
if($i != 0 && $i+1 != $array_size ) {
$crumbs .= ' middle';
}
if ($i+1 == $array_size) {
$crumbs .= ' last';
}
$crumbs .= '">' . $breadcrumb[$i] . '</li>';
$i++;
}
$crumbs .= '</ul>';
return $crumbs;
}
}
这将以我需要的格式输出面包屑,而不是我需要在链接内的文本周围添加span标签。
链接写在底部的第七行:
$crumbs .= '">' . $breadcrumb[$i] . '</li>';
有什么想法吗?
答案 0 :(得分:2)
由于我无法看到$breadcrumb[$i]
内部的内容,我无法完全确定这是否有效,但以下代码应该适用于您,因为它包含带有span标记的锚标记内的任何内容:
preg_match("@<a ([^>]+)>(.+)</a>@i", $breadcrumb[$i], $matches);
$crumbs .= '"><a ' . $matches[1] . '><span>' . $matches[2] . '</span></a></li>';
只需用这两行替换函数中的第七行,看它是否有效!否则,请在var_dump
上使用$breadcrumb[$i]
并将结果添加到您的问题中。