MrBrechreiz schrieb: [ -> ]Wenn man den DOCTYPE im anderen Theme verwendet, wie er Ursprünglich im MyBB ist und auch weiterhin kein html5 darin verwendet, ist der <html> wenn er so stehen bleibt wie unter einem Theme mit <html>, ist das nur Nebensache und nicht wirklich Tragisch.
Man sollte sich schon an die Standards halten. 100% Html5 wird es vermutlich in der 1.8* Version nicht geben. Aber was möglich ist, sollte gemacht werden.
HTML/Dokumentstruktur und Aufbau
MrBrechreiz schrieb: [ -> ]Sorry wenn ich dir auf die Füsse getreten bin. Ich bin keiner für halbe Sachen und veröffentliche auch solches nicht. Klar kann es vorkommen, und das tut es auch (leider, nobody is perfect), das Fehler erst auffallen wenn es öffentlich ist.
Bist du nicht. Du hast nur meine Beiträge nicht gründlich gelesen und das Test Theme nicht herunter geladen und getestet.
Testversionen sind nun angedacht um eventuell vorhandene Fehler zu finden, um diese dann zu beseitigen.
Und damit der richtige Doctype des jeweils aktiven Theme richtig angezeigt kann folgende Änderung getätigt werden
öffnet inc/functions.php
findet:
Code:
/**
* Parses the contents of a page before outputting it.
*
* @param string $contents The contents of the page.
* @return string The parsed page.
*/
function parse_page($contents)
{
global $lang, $theme, $mybb, $htmldoctype, $archive_url, $error_handler;
$contents = str_replace('<navigation>', build_breadcrumb(), $contents);
$contents = str_replace('<archive_url>', $archive_url, $contents);
if($htmldoctype)
{
$contents = $htmldoctype.$contents;
}
else
{
$contents = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n".$contents;
}
$contents = str_replace("<html", "<html xmlns=\"http://www.w3.org/1999/xhtml\"", $contents);
if($lang->settings['rtl'] == 1)
{
$contents = str_replace("<html", "<html dir=\"rtl\"", $contents);
}
if($lang->settings['htmllang'])
{
$contents = str_replace("<html", "<html xml:lang=\"".$lang->settings['htmllang']."\" lang=\"".$lang->settings['htmllang']."\"", $contents);
}
if($error_handler->warnings)
{
$contents = str_replace("<body>", "<body>\n".$error_handler->show_warnings(), $contents);
}
return $contents;
}
und ersetzt mit:
Code:
/**
* Parses the contents of a page before outputting it.
*
* @param string $contents The contents of the page.
* @return string The parsed page.
*/
function parse_page($contents)
{
global $lang, $theme, $mybb, $htmldoctype, $archive_url, $error_handler;
$contents = str_replace('<navigation>', build_breadcrumb(), $contents);
$contents = str_replace('<archive_url>', $archive_url, $contents);
if($htmldoctype)
{
$contents = $htmldoctype.$contents;
}
else
{
if($theme['name'] != 'Default-Mobile')
{
$contents = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n".$contents;
}
else
{
$contents = "<!DOCTYPE html>\n".$contents;
}
}
if($theme['name'] != 'Default-Mobile')
{
$contents = str_replace("<html", "<html xmlns=\"http://www.w3.org/1999/xhtml\"", $contents);
}
else
{
$contents = str_replace("<html", "<html", $contents);
}
if($lang->settings['rtl'] == 1)
{
$contents = str_replace("<html", "<html dir=\"rtl\"", $contents);
}
if($lang->settings['htmllang'])
{
if($theme['name'] != 'Default-Mobile')
{
$contents = str_replace("<html", "<html xml:lang=\"".$lang->settings['htmllang']."\" lang=\"".$lang->settings['htmllang']."\"", $contents);
}
else
{
$contents = str_replace("<html", "<html lang=\"".$lang->settings['htmllang']."\"", $contents);
}
}
if($error_handler->warnings)
{
$contents = str_replace("<body>", "<body>\n".$error_handler->show_warnings(), $contents);
}
return $contents;
}