Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
21.11.2017, 23:37
(Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2017, 23:42 von MrBrechreiz.)
PHP-Code: $contents = str_replace("<html", "<html xmlns=\"http://www.w3.org/1999/xhtml\"", $contents);
und
PHP-Code: $contents = str_replace("<html", "<html xml:lang=\"".$lang->settings['htmllang']."\" lang=\"".$lang->settings['htmllang']."\"", $contents);
Auskommentieren, fertig. Dann passt auch der <html>.
Nachtrag:
http://www.responsive.cc/view
Teste doch mal dein Theme mit dieser Seite. Sieht leider nocht nicht so prickelnd aus.
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 48
Themen: 4
Registriert seit: 15.07.2012
MyBB-Version: 1.8.14
22.11.2017, 00:10
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2017, 00:15 von wintstar.)
Es sieht noch nicht prickelnd aus, da es noch nicht fertig ist. Folge doch bitte mal den Links die ich geschrieben habe. Dann siehst du was bis jetzt gemacht wurde. Und das Theme ist auf den Landscape Modus optimiert. Bedeutet Smartphone drehen, siehe ersten Beitrag. Auskommentieren möchte ich nichts, da es ja kompatibel zu anderen Themes bleiben soll.
Gruß Stephan
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
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.
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.
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 48
Themen: 4
Registriert seit: 15.07.2012
MyBB-Version: 1.8.14
22.11.2017, 09:02
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2017, 09:39 von wintstar.)
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;
}
Gruß Stephan
Beiträge: 16
Themen: 2
Registriert seit: 21.06.2010
Moin
wintstar schrieb:Aber einer muss mal damit anfangen [...] MrBrechreiz schrieb:Dann sind wir zwei [...]
Mach drei draus
Bin ebenfalls gerade dabei ein responsives Theme zu basteln, allerdings ist dieses schon sehr sehr custom, da ich das für meine bereits existierende Community nutzen möchte.
Allerdings gehe ich noch einen Schritt weiter und schmeisse die ganzen Tabellenkonstrukte gleich mit raus. Anstelle dessen wandern section, ul, li und divs mit rein (Woltlab macht's meines Wissens nach genauso), was durch ein 12er Flexbox Grid entsprechend Formen annimmt. Funktioniert bisher auch ganz gut.
Ob das nun semantisch korrekter als ne Tabelle ist, lass ich mal als Diskussionsthema im Raum stehen. Für mich jedenfalls sind Auflistungen von Foren, Themen & Beiträgen oder Formulare die in eine Tabelle gequetscht wurden, keine tabellarischen Daten.
Ich wünsche euch beiden jedenfalls viel Erfolg mit euren responsiven Themes. Wird meiner Meinung nach auch höchste Eisenbahn, dass MyBB und Theme-Autoren das mehr beherzigen.
Gruß
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
Schön zu Wissen, das sich mehr Leute damit beschäftigen und es evtl. der Öffentlichkeit zur Verfügung stellen. Mein Werk bleibt auch meines und wird das Leben als freies Gut nicht zu haben sein. (Sorry, aber da steckt einfach zu viel Schweiss drinnen, um es einfach so aif die Menschheit los zu lassen ^^)
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 48
Themen: 4
Registriert seit: 15.07.2012
MyBB-Version: 1.8.14
Sehr gut. Noch einer der sich damit befasst
Ohne responsives Theme geht es nicht mehr. Nicht mehr lange...
Mein Theme was ich hier entwickele soll dem Original Standard Theme ziemlich gleich sein. Es soll mit wenig Änderungen auch kompatibel mit den Plugins Templates sein. Kurz gesagt im Desktop Modus ist es so wie das Standard Theme, nur in Html 5 und responsive
Wenn irgendwann vielleicht mal 1.10 und letztendlich 2.0 erscheint, denke ich das sich die Entwickler auch so langsam von der Tabellen Struktur verabschieden.
Schau´n wir mal
Gruß Stephan
|