我目前对 microdata 和 schema.org 有点困惑。microdata 和 schema.org 相同吗?我读了 and 微软 http://onlinehelp.microsoft.com/en-us/bing/hh207238.aspx文档,但这并没有帮助我了解这两个名称之间的区别。
到目前为止,我明白了这一点,我已经生成了以下 HTML 代码:
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/" itemprop="url"><span itemprop="title">My Page</span></a>
</span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/cat1" itemprop="url"><span itemprop="title">Category 1</span></a>
</span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="/cat1/content" itemprop="url"><span itemprop="title">Content</span></a>
</span>
在我看来,开销太大了,但如果搜索结果看起来不错的话也没关系。是否可以减少html代码的数量?
另外,如果我不需要那个搜索引擎如何检测两个不同的路径?
我的下一个问题是我想将此格式应用于 drupal 面包屑。我在网上找到的this fix http://drupalbin.com/19863我试图将其包含到我自己的 SEO 模块中,如下所示:
function mymod_page_alter(&$variables) {
if (!isset($variables['breadcrumb'])) {
$variables['breadcrumb'] = theme('my_microdata', array('breadcrumb' => drupal_get_breadcrumb()));
}
}
function mymod_theme($existing, $type, $theme, $path) {
return array(
'my_microdata' => array(
'variables' => array('breadcrumb' =>array()),
),
);
}
function mymod_menu_breadcrumb_alter(&$active_trail, $item){
foreach($active_trail as $id=>$active_trail_item){
$active_trail[$id]['localized_options']['attributes']['itemprop'][]="url";
}
}
function theme_my_microdata($variables){
$breadcrumb=$variables['breadcrumb'];
print_r(debug_backtrace());
$output="*+*+*+*+*";
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>';
$output .= '<div class="breadcrumb">';
$separator="";
foreach($breadcrumb as $breadcrumb_item){
$output.='<span typeof="datav:Breadcrumb">'.$separator.$breadcrumb_item."</span>";
$separator="»";
}
$output .='</div>';
}
return $output."xXxXxXx";
}
到目前为止,我检查了所有这些代码都已执行。但这个主题并没有应用在我的页面上。为什么该代码不起作用?这可能与模块有关breadcrumb
?我知道这个输出将是垃圾,但我看不到结果。
如果我猜对了,那么创建的输出就是主题公司第 1682 行theme_breadcrumb(...)
而不是我的代码。
如果有人能帮助我,那就太好了,即使您不知道我问题的所有答案!