Bonjour,
J'utilise twig sans aucun framework... je ne savais pas trop ou poster ma question.
Voila je rencontre un petit problème avec mon code en général

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Voici le contenu de mon fichier base.html : https://fkcd.ca/b7K
Voici le contenu de mon fichier home.tpl : https://fkcd.ca/iac (prenez note que j'utilise cette même base pour tout mes fichiers tpl)

Ce que je veux

Une affichage normal quoi...

Ce que j'obtiens

Voila.. pas besoin d'en dire plus. : https://fkcd.ca/i9h.png

14 réponses


Yan Bourgeois
Auteur
Réponse acceptée

Bon... J'ai enfin trouvé mon problème... C'était évident en faite... Après une bonne nuit de someil, j'ai les idées plus claire !
dans index.php, il manquait un break; après le case de 'home'... -_- Si au moins Twig pouvait le dire....

ça affiche en double le code de t'a page c'est bien ça ?
Le soucis doit venir de ton

<div id="content">{% block content %}{% endblock %}</div>

j'ai l'impression.

Tes pages sont dans le même dossier ?

Oui. 2 fois le contenu intégral de la balise <html></html>

J'ai un dossier /views pour les fichier .tpl et mes fichiers .php sont à la racine. J'ai également mon fichier balise.html dans le dossier /views

Voici le code du navigateur ![https://fkcd.ca/i7S.png]()

Effectivement ça clone bien, mais si tu regardes bien t'es 2 nav-bars n'on pas les mêmes liens, à mon avis tu dois avoir un doublon de {% block content %} quelque part

je ne vois aucun content autre que dans les fichier tpl contact et home ..

Ok, idée conne mais tu as essayer de mettre ta ligne de code <div id="content">{% block content %}{% endblock %}</div> avec des sauts à la ligne comme ceci ?

<div id="content">
    {% block content %}
    {% endblock %}
</div>

Oui et rien ne change. Cependant, j'ai trouvé une chose...

URL : http://45.42.122.3:8000/twig/ c'est la racine web qui normalement affiche home.tpl sur index.php et c'est la que j'ai les deux ensembles.

Mais, si on va : http://45.42.122.3:8000/twig/?p=contact Tout est correct. Va savoir pourquoi, le code des deux .tpl (contact + home) sont identique.

Vire ton <div id="content">{% block content %}{% endblock %}</div> de ton base.html pour voir ce que ça donne.
Sinon, peut-être que tu dois renommé ton fichier base.html en base.html.twig

Bon j'ai fais d'autres test

  • J'ai vidé le contenu de home.tpl .... => visiblement aucun effet ... bizzard
  • j'ai vidé le contenu de base.html ... => aucun effet
  • Il reste ce fichier a voir si il est correct : https://fkcd.ca/Euc

J'ai désactivé le cache ...
Twig n'a aucune logique ... complètement con comme moteur de template...
Regarde ma barre de nav : http://45.42.122.3:8000/Twig/?p=login
Compare avec celles-là :
http://45.42.122.3:8000/Twig/?p=contact
http://45.42.122.3:8000/Twig/?p=home

Ya vraiment un truc qui ne tourne pas rond avec ce monteur...

Effectivement...
J'ai plus trop de piste de mon côté :/

J'ai fais une petite observation ... http://45.42.122.3:8000/Twig/
Contact s'appel dans home sur le web mais pas dans mon code ... Je ne sais vraiment pas d'ou ça vient je vais donc poster les codes de pages

{Home.tpl}

{% extends "base.html" %}

{% block title %}Accueil{% endblock %}
{% block content %}
    <h1>Index</h1>
    <p class="important">
        Welcome on my awesome homepage. {Home}
    </p>
{% endblock %}

{Contact.tpl}

{% extends "base.html" %}

{% block title %}Accueil{% endblock %}
{% block content %}
    <h1>Index</h1>
    <p class="important">
        Welcome on my awesome homepage. {Contact}
    </p>
{% endblock %}

{Index.php

https://fkcd.ca/sRE

{base.html}

https://fkcd.ca/Lnp