18px d’espace lors d’inclusion de fichier php (Créer un compte)

  • Statut : non résolu
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Messages
  • #504768
    Carreaux
    Membre
    Initié WordPress
    30 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.3.1
    – Version de PHP/MySQL : 5.xx
    – Thème utilisé : from scratch
    – Extensions en place : askimet…
    – Nom de l’hebergeur : webhosting
    – Adresse du site : pas disponible

    Problème(s) rencontré(s) :

    j’ai un espacement mystique (systématiquement 18px !) à chaque fois que je fais une inclusion de fichier (include_once ou get_footer()😉
    c ma conclusion apres avoir retourné le pb dans tous les sens
    si je met une div test avant mon inclusion, elle se positionne correctement, mais depuis l’inclusion non

    j’ai bien evidemment controlé, vérifié les css plusieurs fois
    mis des « margin: 0; padding: 0; vertical-align: top; border:none; border:0; » de base mais répétés également sur les div qui se positionnent mal

    le code source de la page interprétée n’indique aucun
    intempestif qui se serait rajouté inopinément.

    j’ai misé sur un doctype qui serait pas bien interprété et l’ai retiré complètement, pas plus de succes !

    j’en appelle à vous car je n’ai plus d’idée de nouveaux tests pour régulariser ce souci

    avez vous deja rencontré ce problème ?
    comment le résoudre ? (cela m’embeterait bcp de devoir tout écrire plusieurs fois dans chaque template de page pour ne pas à utiliser les inclusions)

    merci d’avance de vos solutions ou piste de test pour m’aider à résoudre ce probleme très embêtant

    #812500
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Ça alors !!! include_once provoque une espacement vertical dans le code HTML généré coté client, faut tout de suite appeler M. PHP.

    Te dire que je l’ai déjà constaté serait un gros mensonge, mais te dire que j’ai déjà eu des bugs, oui ça c’est vrai, et ce que tu décris a tout l’air de ressembler à un gros bug.

    Pour t’aider par contre, cela va être un peu plus problématique, pas de thème, pas d’adresse pour visualiser, je crains de ne pas pouvoir faire grand chose

    #812501
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    Il me semble que tu mets sur le même plan 2 choses distinctes ; include_once() qui est une fonction native PHP et get_footer() qui est une fonction WordPress. Include_once() n’est pas destiné à gérer l’affichage mais à l’inclusion de fichier PHP alors que get_footer() est lui en revanche destiner à gérer spécifiquement l’affichage du code HTML du footer.

    Si il y a un bug d’inclusion avec get_footer(), tu devrais également avoir le problème avec les get_header() et get_content() non ?

    Je pense également que le code PHP serait intéressant pour voir ce qui génère le problème.

    #812502
    Carreaux
    Membre
    Initié WordPress
    30 contributions

    j’ai également un espace de 18px dans le body (juste apres le get_header(), mais je ne vois pas comment le placer differement)

    bon les gars, j’aurais besoin de vos lumières pour les bonnes pratiques de ces inclusions svp

    car je ne crois pas avoir fait d’innovation ! signalez le moi si ce n’est pas le cas ! 😉

    exemple :

    page.php


    /* html et body dans le get_header */

    <div id="divPage">
    <!-- logo -->
    </div>

    logoBanner.php

    <div id="logoBan">
    <div id="logoPlace">

    footer.php

    <div id="divFilet"></div>
    <div id="divB">

    css

    * {
    background: transparent;
    margin: 0; padding: 0;
    border:none; border:0;
    vertical-align: top;
    }
    html {margin: 0; padding: 0; vertical-align: top;}
    div {margin: 0; padding: 0; vertical-align: top;}
    body {margin: 0; padding: 0; vertical-align: top; border:none; border:0;}
    #divPage {margin: 0; padding: 0; vertical-align: top; border:none; border:0;
    background-color: #e8e8e8;
    width:940px;
    margin: 0 auto;
    }
    #logoBan{height:40px; padding: 0 30px; margin:0px;}
    #divFilet { margin: 0; padding: 0; vertical-align: top; border:none; border:0;
    width:100%; height:9px;
    background-color: #555555;
    }
    #divB {margin: 0; padding: 0; vertical-align: top; border:none; border:0;
    width:100%;
    background-color: #323232;
    }

    pour le footer : la 1ere div se positionne 18px trop bas !
    la 2e est ok

    comme j’ai expliqué, j’ai doublé, triplé les « margin: 0; padding: 0;… » pour tenter de résoudre le pb
    mais il y a soit un css ailleurs de ma propre feuille
    soit un bug avec les inclusions

    j’aurais nécessité de piste de test pour résoudre cela
    un rappel aussi des bonnes pratiques d’inclusion afin de revérifier la façon dont je l’ai fait (encodage, tag particulier ??!! etc)
    dois je retirer toute div de mes fichiers inclus ? (bonjour l’inutilité alors !)

    j’attend vos lumières
    merci d’avance 🙂

    #812499
    Franck (fge)
    Modérateur
    Maître WordPress
    9572 contributions

    Le problème des css c’est qu’il y en a beaucoup, partout et qu’en plus il peuvent hériter d’un autre. Pas simple pour les débugger.

    dois je retirer toute div de mes fichiers inclus ? (bonjour l’inutilité alors !)

    Je pense que la façon de faire n’est pas très propre. Pourquoi ne pas faire une fonction get_logo_banner() qui ferait l’affichage du code plutôt que d’utiliser un include ?

    #812503
    Carreaux
    Membre
    Initié WordPress
    30 contributions

    le get_footer() me colle aussi 18px dans les dents ! 😉

    (oui bcp de css mais le div direct dans page.php se positionne correctement, le mm div depuis un include_once() ou get_footer() a un espacement => est ce vraiment un pb de css ??)

    vos idées , vos paramètres/procédures pour les inclusions de fichier svp 🙂

    #812504
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Avec le thème par défaut y a t il ce décalage sur les include?
    Si oui, ben ton PHP a un sérieux problème, sinon, c’est ton code qu’il faut revoir.

    Il existe pleins d’outils de débuggage permettant d’inspecter le code généré, si tu ne trouves rien, reprends ton code depuis le début et trouve à partir de quel moment ce décalage apparait.

    Une petite remarque: faire son thème à partir de rien est satisfaisant pour l’esprit et son prestige personnel, mais prend souvent beaucoup plus de temps, comporte beaucoup plus d’erreurs que de prendre un thème simple validé par des milliers d’utilisateurs et qu’il est extrêmement facile de modifier.

    #812505
    Carreaux
    Membre
    Initié WordPress
    30 contributions

    chouf > j’ai lu et pas trouvé de quoi résoudre mon souci

    Guy > 1) que conseilles tu comme thèmes éprouvés ? il y en a t il d’autres que twentyeleven ?
    2) piste fort intéressante de tester et faire des include depuis un theme par défaut
    et malheureusement, en effet, si je fais un include depuis twentyeleven, je retrouve cet espacement vertical non voulu

    argheuh
    donc , les personnes hébergées chez webhosting, retrouvez vous ce pb ?
    et que puis je bricoler pour tenter de modifier des options php ? et surtout lesquelles pourraient créer ce décalage vertical ?

    on avance, on avance, mm si ça bug tjs !!
    😋

    #812506
    Guy
    Participant
    Maître WordPress
    14817 contributions

    met un lien permettant de voir le problème

    #812507
    Carreaux
    Membre
    Initié WordPress
    30 contributions

    chouf1 > 1) non, ce n’est pas une double copie fantome du divFilet
    2) testé une page expurgée de tout avec juste un include, le pb est tjs là

    j’ai fait encore plein de test, en désactivant toutes les extensions et en mettant un fichier functions.php completement vide => pas mieux

    je crois qu’il ne me reste plus qu’à tester ailleurs !

    auriez vous svp des adresses d’hébergeurs gratos dont vous etes surs du fonctionnement afin que je teste chez eux (ici ou en mp comme bon vous semble !) ?
    😉

    #812508
    wpum
    Participant
    Initié WordPress
    34 contributions

    Salut,

    En consultant la doc’ ( http://codex.wordpress.org/Function_Reference/get_footer ), j’ai vu qu’on pouvait passer un paramètre à get_footer() (par exemple :

    get_footer(‘home’);

    en ayant un fichier footer-home.php).

    J’ai testé, pour voir. J’ai donc copié le contenu de mon footer.php et l’ai collé dans footer-home.php.
    Et il s’avère que le drôle d’espacement s’est fait la malle.

    Comme il s’agissait d’un bug, je ne suis pas sûr que le problème soit résolu pour tout le monde. En plus, c’est chiant de devoir modifier ses appels à get_footer(). Mais bon, ça peut intéresser.

    .

    #812509
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    tu as bien sûr vérifié le contenu des fichiers que tu inclus ?

12 sujets de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.