Problème avec un css en .php utilisant $this->template dans une url

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Problème avec un css en .php utilisant $this->template dans une url

    Bonjour,

    Je souhaiterais dans mon css en .php, pouvoir utiliser la variable (il me semble que c'est comme ça que ça s'appelle) <?php echo $this->baseurl;?> pour indiquer l'url d'un fichier...

    Mon problème est que si j'affiche mon css en .php dans mon navigateur, j'ai cette erreur :

    Fatal error: Using $this when not in object context in C:\wamp\www\_m4ng\templates\template-m4ng\css\design_IE.php on line 5


    Il faut sans doute que j'ajoute quelque chose à mon css, mais malgré mes recherches, je ne trouve rien...


    Merci d'avance à ceux qui voudront bien m'éclairer...

  • #2
    Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

    $this->baseurl;? ...dans ton fichier php ca correspond a quelle variable?

    Commentaire


    • #3
      Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

      Bonjour, et merci de ton intérêt...

      En fait je n'ai rien défini dans mon css en .php... le voici :
      Code:
      #slideshow, #logo, #footer, .search input.inputbox, .footer1, .footer2, .footer3, 
      .moduletable.adsense img, .moduletable.login, div.registration, div.reset, div.remind, 
      #centre div.item-page, .moduletable.mv4, div.moduletable_footer{
      	position: relative;
      	behavior: url(<?php echo $this->baseurl;?>/templates/<?php echo $this->template ?>/PIE.php);
      }
      								
      div#maximenuck ul.maximenuck, div#maximenuck ul.maximenuck li.level1, 
      div#maximenuck ul.maximenuck li.active.level1, div#maximenuck ul.maximenuck li.level1:hover, 
      div#maximenuck ul.maximenuck li.parent.level1:hover, div#maximenuck ul.maximenuck li div.floatck{
      	behavior: url(<?php echo $this->baseurl;?>/templates/<?php echo $this->template ?>/PIE.php);
      }
      			
      div#maximenuck ul.maximenuck{
      	background :  url(<?php echo $this->baseurl;?>/modules/mod_maximenuck/themes/m4ng/images/fond_bg.png) top left repeat-x;
      }
      Je pensais que, comme dans le fichier index.php de mon template, je pouvais utiliser ce "<?php echo $this->baseurl;?>" sans rien avoir à faire d'autre, vu que dans mon index.php, à aucun moment je n'indique à quoi correspond "$this->baseurl;?"... mais visiblement ce n'est pas le cas...

      Comme vous pouvez le voir, c'est juste pour indiquer le chemin de "PIE.php" qui ne doit pas être considéré à partir du fichier css mais depuis la page l'appelant... Je voulais donc utiliser ce "<?php echo $this->baseurl;?>" qui permet de ne pas se louper...

      Commentaire


      • #4
        Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

        ?php echo $this->template ?> erreur de syntaxe manques ;

        Commentaire


        • #5
          Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

          Euh, bah je ne sais pas ce que ce ";" fait là... il n'y a normalement pas de ";" à avoir ici... pardon...

          Le bon css en php est celui-ci...
          Code:
          #slideshow, #logo, #footer, .search input.inputbox, .footer1, .footer2, .footer3, 
          .moduletable.adsense img, .moduletable.login, div.registration, div.reset, div.remind, 
          #centre div.item-page, .moduletable.mv4, div.moduletable_footer, .button-left, 
          #centre div.edit.item-page, .intern div.search, div.login, .moduletable.login input.button, 
          .moduletable.login input#modlng-username, .moduletable.login input#modlng-passwd, 
          .item-page.tuto_v4 h2, .item-page.tuto_v4 h3, .item-page.tuto_v4 div.tuto{
          	position: relative;
          	behavior: url(<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/PIE.php);
          }
          								
          div#maximenuck ul.maximenuck, div#maximenuck ul.maximenuck li.level1, 
          div#maximenuck ul.maximenuck li.active.level1, div#maximenuck ul.maximenuck li.level1:hover, 
          div#maximenuck ul.maximenuck li.parent.level1:hover, div#maximenuck ul.maximenuck li div.floatck{
          	behavior: url(<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/PIE.php);
          }
          			
          div#maximenuck ul.maximenuck{
          	background :  url(<?php echo $this->baseurl ?>/modules/mod_maximenuck/themes/m4ng/images/fond_bg.png) top left repeat-x;
          }
          Et tel quel, si je place directement dans l'index.php de mon template, tout est bien pris en compte... mais dans un css en php que j'appelle depuis l'index, ça ne marche pas et j'ai cette fatal error si j'affiche ce php dans mon navigateur...
          Dernière édition par Subbat à 14/04/2013, 15h42

          Commentaire


          • #6
            Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

            Il n'est pas possible d'inclure du php dans des css... Si tu changes une extension de fichier à l'arrache pas la peine de te demander pourquoi ça ne marche pas !

            A quoi ça te sert d'avoir ces variables dans tes css ?

            background : url(../images/fond_bg.png);
            non ?

            Et si tu as besoin d'une URL absolue pour tes fichiers htc vas-y à coups de

            Au passage c'est quoi ce PIE.php ?

            Au passage je te déconseille Pie qui est inutilisable sur les machines anciennes (celles qui font justement tourner les vieux navigateurs...)

            Commentaire


            • #7
              Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

              Envoyé par kursus Voir le message
              Il n'est pas possible d'inclure du php dans des css... Si tu changes une extension de fichier à l'arrache pas la peine de te demander pourquoi ça ne marche pas !

              A quoi ça te sert d'avoir ces variables dans tes css ?
              Bah si, des css en php il en existe... j'utilise le maximenuck de joomlack.fr et il y a du php dans ses css... Et je ne renommes pas mes fichiers à l'arrache... je ne comprends pas ce que tu veux dire...


              Sinon, oui, c'est ce que je pensais faire pour les url absolu... mais l'utilisation de $this-> baseurl m'évitait de devoir modifier le css entre la construction en local et le passage sur l'hébergeur...

              Pour pie.php, c'est sur le site du développeur qu'il est indiqué que parfois le htc pose problème... et qu'on peut alors utiliser le pie.php, qui ne fait que dire d'aller voir le pie.htc...

              Quant à son utilisation ou non... elle est quand même assez répandue... et dans mon cas, tout fonctionne sur IE8 au moins.... pour les version d'IE antérieure, je n'ai pas tester, mais tant pis...
              Dernière édition par Subbat à 15/04/2013, 11h03

              Commentaire


              • #8
                Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

                Ok je croyais que tu l'avais modifié toi-meme :

                que si j'affiche mon css en .php
                Tu as donc une sorte de processeur en php. Mais tu n'as toujours pas besoin de variables : regarde mon premier exemple en URL relative, tu pourras garder le même code en cas de changement de template ou de nom de domaine (c'est le principe des chemins relatifs).

                Pour pie comme je te l'ai dit utilise une URL directe comme dans mon 2ème exemple (IE, surtout les vieux, ayant du mal). Quand tu passeras ton site en ligne il te suffira d'utiliser la commande rechercher/remplacer de ton éditeur, ça te prendra 5 secondes.

                Quand je parlais des "vieux navigateurs", c'était plutôt IE6 et 7. IE8 n'est pas vieux (4 ans). PIE met les machine plus anciennes (6, 8, 10 ans ou plus, ça existe!) à genoux, tout ça pour afficher 3 coins arrondis. A la rigueur il faut utiliser des hacks css pour cibler les versions d'IE, mais le plus simple est quand même de ne pas l'utiliser du tout.

                Commentaire


                • #9
                  Re : Problème avec un css en .php utilisant $this-&gt;template dans une url

                  Re...

                  Pour les urls c'est ce que je ferais oui...

                  Et pour pie... à la limite oui... je mettais if IE lte 8... il me suffira de changer pour mettre seulement pour IE8... et les autres auront droit au angles droits...

                  Merci à toi...

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X