Bitte um Hilfe für das Microdata Modul
Eingetragen von hasel (136)
am 19.02.2013 - 19:09 Uhr in
am 19.02.2013 - 19:09 Uhr in
Hallo,
ich habe das Microdata Module installiert http://drupal.org/project/microdata
und wollte meine html5 Seite gern validieren. Ich bekomme aber Fehlermeldungen und habe schon vergeblich 2Tage nach einer Lösung gesucht. da ich leider auch nicht so versiert bin wollte ich fragen ob mir da wer unter die Arme greifen kann. Unter http://drupal.org/node/1920400 habe ich schon die Frage gestellt und die Entwicklerin hat mir geantwortet nur leider kann ich mit der Antwort nichts anfangen.
Folgende Fehler bekomme ich angezeigt:
Error: Element meta is missing required attribute content.
<meta itemscope="" itemtype="http://schema.org/BlogPosting" itemid="http://www.example.de/artikel/test" itemref="md1 md2 md3 md4 md5" />
Error: Element meta is missing required attribute itemprop.
<meta itemscope="" itemtype="http://schema.org/BlogPosting" itemid="http://www.example.de/artikel/test" itemref="md1 md2 md3 md4 md5" />
Error: The itemref attribute referenced md3, but there is no element with an id attribute with that value.
<meta itemscope="" itemtype="http://schema.org/BlogPosting" itemid="http://www.example.de/artikel/test" itemref="md1 md2 md3 md4 md5" />
Über einen Tipp würde ich mich freuen.
lg
hasel
- Anmelden oder Registrieren um Kommentare zu schreiben
Microdata
am 27.02.2013 - 12:54 Uhr
Moin.
Unter http://drupal.org/node/1920400 habe ich schon die Frage gestellt und die Entwicklerin hat mir geantwortet nur leider kann ich mit der Antwort nichts anfangen.
Das ist eigentlich ganz einfach: das Modul gibt die Daten fehlerhaft aus und Lin hat Deine Anfrage nun in einen Fehlerbericht umgewandelt. Jetzt muss nun noch jemand einen Patch für das Modul erstellen, damit es die Daten korrekt ausgibt.
Über einen Tipp würde ich mich freuen.
Hm, Du könntest in Deinem Theme (also in der template.php) die Funktion theme_microdata_item_meta_tags() überschreiben und dort dann das leere Attribut "itemscope" entfernen oder ein Attribut namens "content" hinzufügen.
grobes Beispiel (ungetestet):
<?php
function THEMENAME_microdata_item_meta_tags(&$vars) {
$output = '';
$item_array = $variables['items'];
// Output items with devel.module
// dpm($item_array);
$tag = $variables['html_tag'];
foreach ($item_array as $entity_type => $items) {
foreach ($items as $id => $item) {
// Remove empty 'itemscope' attribute.
if (empty($item['#attributes']['itemscope']) {
unset($item['#attributes']['itemscope']);
}
$output .= "<$tag" . drupal_attributes($item['#attributes']) . " />";
}
}
return $output;
}
?>
Tipp: Beachte die Verhaltensregeln des DrupalCenter.