Faire un bloc cliquable avec des champs personnalisés

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

  • Faire un bloc cliquable avec des champs personnalisés

    Salut

    J'ai un affichage blog pour lequel j'utilise des champs personnalisés :

    - Titre
    - Logo
    - Description
    - Lien

    Ce que j'aimerais c'est que l'ensemble soit cliquable en mettant les champs Titre, Logo et Description dans la balise <a></a> du champs Lien. Pour ça j'ai fait une substitution du fichier blog.php (que j'ai renommé en blog-lien-web.php) en suivant la partie Chargement de champs individuels du tuto Champs personnalisés : les substitutions.

    J'ai remplacé :

    Code HTML:
    <div class="item column-<?php echo $rowcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
    itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
    <?php
    $this->item = &$item;
    echo $this->loadTemplate('item');
    ?>
    </div>
    par

    Code HTML:
    <div class="item column-<?php echo $rowcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>"
    itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
    <a href="<?php echo $item->jcFields['lien-site']->rawvalue; ?>">
    
    <?php echo $item->jcFields['titre-site']->rawvalue; ?>
    <?php echo $item->jcFields['logo-site']->rawvalue; ?>
    <?php echo $item->jcFields['description-site']->rawvalue; ?>
    </a>
    </div>
    et j'ai mis :

    Code HTML:
    <?php foreach($item->jcfields as $jcfield)
         {
    $item->jcFields[$jcfield->name] = $jcfield;
         }
    ?>
    au tout début du fichier, donc juste avant :

    Code HTML:
    <?php
    /**
     * @package     Joomla.Site
     * @subpackage  com_content
     *
     * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
     * @license     GNU General Public License version 2 or later; see LICENSE.txt
     */
    
    defined('_JEXEC') or die;
    Dans l'onglet Paramètres de la catégorie correspondante, à Type de mise en page j'ai choisis blog-lien-web.php.

    Mais ça ne marche pas, rien ne s'affiche. aurais-je raté quelque chose ?
    Sur mon site www.sorgin-informatique.com : tutos sur Joomla! et ces composants et sur différents logiciels et services libres (Firefox, KeePass, uMap, Framadate, etc).

  • #2
    salut,
    met ceci
    Code:
    $this->item = &$item;
    avant la première ligne que tu a modifié

    Commentaire


    • #3
      Désolé j'ai un peu oublié de venir répondre. J'ai la construction de ce site en suspend, donc je verrais plus tard. Mais merci pour ta réponse.
      Sur mon site www.sorgin-informatique.com : tutos sur Joomla! et ces composants et sur différents logiciels et services libres (Firefox, KeePass, uMap, Framadate, etc).

      Commentaire


      • #4
        Ce que j'ai modifé c'est une div, pas une ligne :
        Code PHP:
          <div class="item column-<?php echo $rowcount?><?php echo $item->state == ' system-unpublished' null?>" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting"> <?php $this->item = &$item; echo $this->loadTemplate('item'); ?> </div>
        Je ne peux pas mettre ton bout de code juste avant.
        Sur mon site www.sorgin-informatique.com : tutos sur Joomla! et ces composants et sur différents logiciels et services libres (Firefox, KeePass, uMap, Framadate, etc).

        Commentaire


        • #5
          Code:
          -<?php echo $rowcount; ?>
          a remplacer par :
          Code:
          -<?php $this->item = &$item; echo $rowcount; ?>

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X