Chemin d'un field de typemedia

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

  • Chemin d'un field de typemedia

    Bonjour à tous,

    Je suis entrain de créer un template from scratch.

    Dans ce template, je permets à l'administrateur d'ajouter un logo depuis le back Office à l'aide d'un field de type media.

    Code:
     [COLOR=#808080]<[/COLOR][COLOR=#569cd6]config[/COLOR][COLOR=#808080]>[/COLOR]
    [COLOR=#808080]<[/COLOR][COLOR=#569cd6]fields[/COLOR][COLOR=#9cdcfe]name[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"params"[/COLOR][COLOR=#808080]>[/COLOR]
    [COLOR=#808080]<[/COLOR][COLOR=#569cd6]fieldset[/COLOR][COLOR=#9cdcfe]name[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"Advanced"[/COLOR][COLOR=#808080]>[/COLOR]
    [COLOR=#808080]<[/COLOR][COLOR=#569cd6]field[/COLOR]
    [COLOR=#9cdcfe]name[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"logoFile"[/COLOR]
    [COLOR=#9cdcfe]type[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"media"[/COLOR]
    [COLOR=#9cdcfe]label[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"Logo"[/COLOR]
    [COLOR=#9cdcfe]description[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"Logo placé en entête du site"[/COLOR]
    [COLOR=#9cdcfe]class[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]"logo"[/COLOR]
    [COLOR=#9cdcfe]default[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#ce9178]""[/COLOR]
    [COLOR=#808080]/>[/COLOR]
    [COLOR=#808080]</[/COLOR][COLOR=#569cd6]fieldset[/COLOR][COLOR=#808080]>[/COLOR]
    [COLOR=#808080]</[/COLOR][COLOR=#569cd6]fields[/COLOR][COLOR=#808080]>[/COLOR]
    [COLOR=#808080]</[/COLOR][COLOR=#569cd6]config[/COLOR][COLOR=#808080]>[/COLOR]
    J'ai testé l'intégration de ce logo ainsi sans problème :
    Code PHP:
     $logo '<img src="' JUri::root() . $this->params->get('logoFile') . '" alt="' $sitename '" />'
    Mais ce que je souhaiterais faire c'est l'intégrer en background-image de cette façon :
    Code PHP:
    <?php $logoUrl JUri::root() . '/images/' $this->params->get('logoFile');?>

    <div class="container"<?php if($this->params->get('logoFile')){       echo ' style="background-image:url("' JUri::root() . $logoUrl '")';  } ?>>
    Voici le résultat obtenu :
    Code HTML:
    <div class="container" style="background-image:url(" http:="" monsite.fr="" images="" logo-blanc-1.png")="">
    Donc apparemment dans le cadre de la balise img l'url de l'image est bien construite, mais dans une autre balise il faudrait que je récupère les différents attributs de l'objet pour reconstruire l'url ?

    Est-ce que l'un d'entre vous saurait comment construire correctement l'url de l'image dans ce cas de figure ?
    Je vous remercie par avance
    Dernière édition par nossibe à 02/01/2020, 19h30
    Développeur Web | Service Création | Mon Linkedin

  • #2
    hello je dirai que tu n'as pas addslashes ta chaine de caractère.


    <div class="container"<?php if($this->params->get('logoFile')){ echo ' style="background-image:url("' . addslashes(JUri::root() . $logoUrl) . '")'; } ?>>


    Commentaire


    • #3
      Merci pour ton aide Elecoest, malheureusement j'obtiens le même résultat avec addslashes.
      Développeur Web | Service Création | Mon Linkedin

      Commentaire


      • #4
        euh... tu as beaucoup de "...

        tu valides qu cà çà marche :

        <div class="container"<?php if($this->params->get('logoFile')){ echo ' style="background-image:url("' . imagemanu. '")'; } ?>>

        Commentaire


        • #5
          Merci Elecoest, je n'ai pas trop compris ce que tu voulais que je teste mais voici ce que j'ai fait :

          Code PHP:
           <?php $logoUrl JUri::root() . $this->params->get('logoFile'); ?>
            <div class="container"<?php if($this->params->get('logoFile')){       echo ' style="background-image:url("' $logoUrl '")';  } ?>>
          et voici le résultat

          Code HTML:
          <div class="container" style="background-image:url(" http:="" monsite.fr="" images="" logo-blanc-1.png")="">
          _______________

          en simplifiant encore plus pour ne mettre que le nom de l'image :

          Code PHP:
           <div class="container"<?php if($this->params->get('logoFile')){       echo ' style="background-image:url("' $this->params->get('logoFile') . '")';  } ?>>
          Résultat :
          Code HTML:
          <div class="container" style="background-image: url(" images="" logo-blanc-1.png")="">
          Donc à chaque fois l'objet média est décomposé...
          Développeur Web | Service Création | Mon Linkedin

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X