Wordpress : Sidebar supprimée => texte caché

Résolu/Fermé
ManuV - 14 mars 2011 à 23:41
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 18 mars 2011 à 09:59
Bonjour à tous,

Je tâche de construire mon propre site sous Wordpress sans être un pro, ai acheté un thème pour cela et me trouve confronté à un problème.

J'ai eu besoin d'enlever la sidebar pour une page spécifique, donc j'ai copié/collé un modèle de page auquel j'ai simplement retiré le get_sidebar, puis j'ai appliqué le nouveau modèle à ma nouvelle page. Ca a bien enlevé la sidebar, mais une surface blanche l'a remplacée, et le texte semble être "en-dessous".

Cf la page en question : integrerhec.fr/kit-jvvaih

Je suppose que le problème se situe au niveau du css (que je n'ai pas modifié) et que firebug pourrait me donner la réponse, mais je maîtrise mal cet add-on. Je remercie beaucoup quiconque pourra m'aider !

21 réponses

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
14 mars 2011 à 23:45
problème avec ton iframe:

<iframe scrolling="no" width="90%" height="4000" frameborder="0" src="http://astore.amazon.fr/kitjvvaih-21"></iframe>



height="4000".... y a un 0 de trop non ? xD
0
Merci pour ta réponse.

Je ne pense pas ! (ou plutôt, je crois que le height est un autre problème mais je le laisse sur cette page "brouillon").

Je parle bien de couvrir toute la largeur de la page à l'aide du premier bloc amazon, et non pas seulement les 60% les plus à gauche. C'est comme si un cadre réservé, et de fait vide, se surimposait sur tout le côté droit et "masquait" le contenu en dessous.

J'espère que ce dont je parle est bien clair !
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 00:04
Pour être sur qu'on parle bien de la même chose, tu as deux "blocks" sur ta page.

Le premier est "nos rubriques" et le second "Manuels et livres conseillés".

Tu voudrais qu'ils prennent les 100% de la largeur de leur parent (à savoir 960px).

C'est bien ça ?
0
Absolument.

Qu'ils prennent les 960px à eux deux, le premier (nos rubriques) resterait comme il est à présent, le second serait "découvert" de cette partie blanche qui le tronque.


PS : pour info comme tu l'as justement noté, il s'agit à eux deux d'un seul et même tag amazon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 00:24
J'édite au fur et à mesure:

#content-in{width:100%}
<iframe scrolling="no" width="100%" height="4000" frameborder="0" src="http://astore.amazon.fr/kitjvvaih-21"></iframe>


Dans ton iframe:
#wrap{width:960px}
#mainwrap{width:700px}
#main{width:700px}


Normalement avec ca c'est ok
0
Je ne suis pas sûr de comprendre, peux-tu très rapidement développer ?

Lorsque tu dis
Dans ton iframe:     
#wrap{width:960px}     
#mainwrap{width:700px}     
#main{width:700px} 
Dois-je rajouter ces éléments dans mon css? (si oui, lequel?) Ou bien dans le code html de l'iframe?

Quid du #content-in{width:100%} ?

La seule chose que je me sens capable de changer maintenant est
<iframe scrolling="no" width="100%" height="4000" frameborder="0" src="http://astore.amazon.fr/kitjvvaih-21"></iframe> 
(pas brillant je sais!)

Je te remercie beaucoup
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 10:53
Alors, dans la page contenant ton iframe, il faut que tu rajoute dans le css cette lignes là: #content-in{width:100%}

Dans la page contenue dans ton iframe (Si tu y as accès), rajoute ces lignes dans ton css :
#wrap{width:960px}
#mainwrap{width:700px}
#main{width:700px}

Et enfin modifie ta balise iframe de la sorte:
<iframe scrolling="no" width="100%" height="4000" frameborder="0" src="http://astore.amazon.fr/kitjvvaih-21"></iframe>

Je suis en ligne, n'hésite pas à demander des détails si tu n'as pas compris
0
C'est très clair, merci.

Lorsque je passe tous les changements que tu mentionnes cela marche à merveille!

Dernière chose cependant : le css de la page contenant l'iframe (style.css ici) est aussi celui de toutes les pages du site. De sorte que lorsque je passe
#content-in{width:100%} 
dans style.css, toutes les autres pages qui ont besoin d'une sidebar se retrouvent chamboulées (et je comprends bien pourquoi).

Ma dernière question donc, la plus facile j'espère : comment attribuer un css différent spécifique à cette page, ou bien à ce modèle de page (je suis sous wordpress) ? Puis-je lui dire d'ignorer style.css, mais de fonctionner avec un certain code css que j'intègre directement dans le html (ce serait une copie de style.css avec #content-in{width:100%} comme ajout) ?

Toute solution plus "propre" me conviendrait aussi, mais je n'arrive pas à voir qui "appelle" qui ! (ma théorie : cette page appelle header.php, header.php appelle style.css?)
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 11:53
Alors, crée un nouveau template (genre iframe.php) dans le répertoire de ton thème.


Colle ces lignes au début de ta nouvelle page:

<?php  
/*  
Template Name: iframe  
*/  
?>


Rends toi ensuite dans l'admin wordpress.

Edite la page contenue dans ton iframe

Dans la colonne de droite tu peux spécifier un template, choisi iframe.

Copie-colle ton template de base dans iframe.php et effectue les modifications que tu souhaites !

Enjoy !
0
Merci!
Mais cela suppose, je pense, que je demande à ce nouveau template d'utiliser un fichier CSS différent, par exemple style2.css, auquel je rajouterai
#content-in{width:100%} 


Seulement, je ne sais pas comment lui demander d'invoquer un css différent! Voici le code de ce nouveau template :
<?php   
/*   
Template Name: Page-Full_width   
*/   
?>   
<?php get_header(); ?>   

    <div id="page_head" class="container_12">   
           
     <h1><?php the_title(); ?><?php edit_post_link('<small>edit</small>','  ? '); ?></h1>   
          
 </div>   
    
 <div id="wrapper" class="container_12">   
    
     <div id="content-in" class="grid_15" >   
         
  <?php if(have_posts()) : ?>   
        
   <?php while(have_posts()) : the_post() ?>   
               
              <?php $pagedesc = get_post_meta($post->ID, 'pagedesc', $single = true); ?>   
               
               
           
                    <div id="post-<?php the_ID(); ?>" class="posts">   
                                            
                        <div class="entry">    
         
                            <?php the_content(); ?>   
          
                        </div>   
                                                                   
                    </div><!--/post-->   
                   
            <?php endwhile; else : ?>   
           
                    <div class="posts">   
        
                        <div class="entry-head"><h2><?php echo get_option('bizzthemes_404error_name'); ?></h2></div>   
         
                        <div class="entry-content"><p><?php echo get_option('bizzthemes_404solution_name'); ?></p></div>   
         
                    </div>   
           
        <?php endif; ?>   
           
     </div><!-- content-in #end --> 
     
     
     
    </div><!-- wrapper #end -->   

<?php get_footer(); ?>  


Hormis du get_header (mais je ne vois pas non plus, dans le header, où est appelé le css), je ne vois pas où un quelconque css peut être invoqué, ce qui rend difficile un quelconque changement!

Merci beaucoup!
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 17:36
c'est quoi le nom de ton CSS principal ?
0
style.css me semble-t-il.

Lui-même invoque :
/* Import RESET styling for grid framework*/
@import url('library/css/reset.css');

/* Import TEXT styling for grid framework*/
@import url('library/css/text.css');

/* Import GRID styling for grid framework*/
@import url('library/css/960.css');

/* Import GRID styling for grid framework*/
@import url('skins/1-default.css');
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 18:16
Mmmh... faudrait aller voir la doc des templates wordpress pour savoir comment spécifier un css pour un template donné...
0
Très bien, je vais me renseigner.

Je te remercie pour ton aide en tout cas!
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 18:28
De rien, si tu trouves vraiment pas hésite pas à redemander ;)
0
C'est gentil!

Une solution simple mais plus artisanale ne consisterait-elle pas à exprimer l'équivalent de #content-in{width:100%} directement dans le code html/php du template (cf sept posts avant celui-ci) ?

Cela réglerait facilement la chose, non? Cela dit, je n'ai pas un début d'idée de comment #content-in{width:100%} se traduirait en code PHP ni de à quel moment du code l'insérer!
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
16 mars 2011 à 11:37
ahhh bah si tu veux faire de l'artisanat, dans le template de ton iframe tu mets:


<div id="content-in" style="width:100%"></div> et il overridera le style présent dans ton fichier css ;)
0
Merci de ta réponse! Mais arf.. quand ça veut pas...!

J'ai placé ce div en le refermant à la fois autour du modèle de page :
<?php 
/* 
Template Name: Page-Full_width 
*/ 
?> 
<?php get_header(); ?> 
<div id="content-in" style="width:100%"> 
    <div id="page_head" class="container_12"> 
         
     <h1><?php the_title(); ?><?php edit_post_link('<small>edit</small>','  ? '); ?></h1> 
        
 </div> 
  
 <div id="wrapper" class="container_12"> 
  
     <div id="content-in" class="grid_15" > 
       
  <?php if(have_posts()) : ?> 
      
   <?php while(have_posts()) : the_post() ?> 
             
              <?php $pagedesc = get_post_meta($post->ID, 'pagedesc', $single = true); ?> 
             
             
         
                    <div id="post-<?php the_ID(); ?>" class="posts"> 
                                          
                        <div class="entry">  
       
                            <?php the_content(); ?> 
        
                        </div> 
                                                                 
                    </div><!--/post--> 
                 
            <?php endwhile; else : ?> 
         
                    <div class="posts"> 
      
                        <div class="entry-head"><h2><?php echo get_option('bizzthemes_404error_name'); ?></h2></div> 
       
                        <div class="entry-content"><p><?php echo get_option('bizzthemes_404solution_name'); ?></p></div> 
       
                    </div> 
         
        <?php endif; ?> 
         
     </div><!-- content-in #end --> 
   
     
   
    </div><!-- wrapper #end --> 
</div> 
<?php get_footer(); ?>


et de contenant qui applique ce modèle de page (ma page kit-jvvaih.php) et rien ne bouge!... Peut-être que je m'y prends mal, je désespère un peu à vrai dire!...
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 17/03/2011 à 09:49
Mais non faut pas désespérer =)

Bon bon, je vois ce qui ne va pas.

On à mis l'iframe en width:100% parce que content-in était censé l'être aussi.

Du coup passe ton iframe en width="960" et c'est réglé
0
C'est génial.

Prosthetiks, merci infiniment (tu peux voir ton oeuvre ici : http://www.integrerhec.fr/kit-jvvaih).

Si tu es sur Paris je serais heureux de te payer une bière (sérieusement!)
0