Ein HTML5 Template valide in Joomla 1.6 einzubauen scheitert erstmals an zwei Fehlern in den Metangaben. In Joomla wird die Metadaten – Ausgabe im Core gesteuert.
<meta name="rights" content="" /> <meta name="language" content="de-DE" /> <meta name="title" content="" />
Diese Meta – Angaben werden vom W3c beanstandet.
In libraries -> joomla -> document -> html -> renderer -> head.php muss dieser Codeblock:
foreach ($document->_metaTags as $type => $tag)
{
foreach ($tag as $name => $content)
{
if ($type == 'http-equiv') {
$content.= '; charset=' . $document->getCharset();
$buffer .= $tab.'<meta http-equiv="'.$name.'" content="'.htmlspecialchars($content).'"'.$tagEnd.$lnEnd;
}
else if ($type == 'standard') {
$buffer .= $tab.'<meta name="'.$name.'" content="'.htmlspecialchars($content).'"'.$tagEnd.$lnEnd;
}
}
}
Mit diesem ersetzt werden:
foreach ($document->_metaTags as $type => $tag)
{
foreach ($tag as $name => $content)
{
if ($type == 'http-equiv') {
$content.= '; charset=' . $document->getCharset();
$buffer .= $tab.'<meta http-equiv="'.$name.'" content="'.htmlspecialchars($content).'"'.$tagEnd.$lnEnd;
}
else if ($type == 'standard') {
if ($name == "rights" || $name == "language" || $name == "title"){
continue;
}else{
$buffer .= $tab.'<meta name="'.$name.'" content="'.htmlspecialchars($content).'"'.$tagEnd.$lnEnd;
}
}
}
}
In den Zeile 11 wird dafür gesorgt, dass besagte Metaangaben nicht mehr in den Header geladen werden. eine elegantere Methode habe ich bis jetzt noch nicht gefunden.
