Nette automaticky doplna tagy na XHTML?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
hizo
Člen | 48
+
0
-

Zdravim, v @layout mam nasledovne:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="cz">

Ked sa stranka zobrazi a pozriem zdrojovy kod zistujem, ze nette automaticky doplnilo:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="cz" />

To mi samozrejme hocijaky validator nezoberie ako HTML tagy a vyhadzuje errory ⇒ znizuje SEO rating..to iste sa deje s link na css styly. Skusal som to uzavriet </meta> no stale bez uspechu

Editoval hizo (16. 2. 2011 17:11)

Aurielle
Člen | 1281
+
0
-

Validní kód nemá se SEO nic společného (pokud vím) – jen mýtus. Odpověď na tvoji otázku je Nette\Web\Html::$xhtml = FALSE;.

hizo
Člen | 48
+
0
-

Ja nevim, som zaciatocnik tak si necham poradit…http://seo-servis.cz/source-zdrojovy-kod/ tymto som kontroloval stranku a tam mi vyhadzuje html errory skrz tie xhtml tagy…kazdopadne kam zapisat ten kod co si mi poslal?

Solution
Člen | 50
+
0
-

boostrap.php

hizo
Člen | 48
+
0
-

to som skusal no dostavam HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request. mam verziu: Nette Framework 2.0-alpha2 pro PHP 5.3 se jmennými prostory

norbe
Backer | 405
+
0
-

Služby typu seo-servis je třeba brát dost z rezervou. Pro vyhledávače jsou problematické spíše závažnější chyby jako je křížení tagů, které jim znemožňují „pochopit“ význam textu. Ale diskuze o SEO už patří na trochu jiné fórum než tohle.

ansorge
Člen | 9
+
0
-

Zkoušel jsem dát do bootstrap:
Html::$xhtml = FALSE;

Ale hází mi to chybu:
Fatal error: Class ‚Html‘ not found in …\app\bootstrap.php.

Poraďte prosím kde mam problém.
Nette Framework (version 2.0-dev e1a3fa8 released on 2010–11–15)

Předem díky za pomoc

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

use Nette\Web\Html; nebo místo Html použít NHtml

ansorge
Člen | 9
+
0
-

Díky NHtml pomohlo.

ras
Člen | 135
+
0
-

bootstrap.php mimo jine obsahuje

use Nette\Utils\Html;
Html::$xhtml = FALSE;

Html::$xhtml = false je pritom hned na zacatku za natazenim loader.php

presto hlavicka stranky

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta http-equiv="Content-Language" content="cs">

se vykresli jako

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Language" content="cs" />

Co mohu vice udelat proto, abych se tech „/“ na konci tagu zbavil?

Tomas Jancik
Člen | 103
+
0
-

@ras: promazal jsi cache po tom co jsi upravil bootstrap?

ras
Člen | 135
+
0
-

Jak proste, diky … takova blbost a pritom cache pro jistotu mazu relativne casto ;o)

JuniorJR
Člen | 181
+
0
-

Začal jsem dělat projekt do školy a objevil jsem stejný problém. Nevíte někdo, čím by to mohlo být? Verze: Nette Framework 2.1-dev (revision 3cb0fa2 released on 2012–04–24)

Html::$xhtml = FALSE; // nepomáhá ani po promázání cache
Částečně pomohlo, pokud v šabloně uvedu
{contentType html/text} // neefektivní - nutnost editace všech šablon :(

Editoval JuniorJR (28. 4. 2012 15:17)

uestla
Backer | 799
+
0
-

Latte je v tomhle na Nette\Utils\Html nezávislé, protože HTML nodes zpracovává Compiler.

A ten má jako výchozí content type právě XHTML (důkaz místo slibů).

Díky tomu ale, že je Compiler vytvářen v extenzi konfigurátoru (konk. zde), je možné si XHTML vypnout:

nette:
	xhtml: FALSE

Jak už ostatně Davídek psal.

Elijen
Člen | 171
+
0
-

A není náhodou v XHTML ukončení nepárových tagů pomocí / jediná správná syntax?

Editoval Elijen (28. 4. 2012 16:47)

uestla
Backer | 799
+
0
-

Řešíme tu vypnutí XHTML.

JuniorJR
Člen | 181
+
0
-

Muy bien, gracias :D