Comment récupérer la variable du LIEN A de l'article?

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

  • [RÉGLÉ] Comment récupérer la variable du LIEN A de l'article?

    Bonjour à tous,

    Je souhaite récupérer la variable du LIEN A de mon article pour l'utiliser dans un autre script.
    J'ai beau chercher dans les sites qui présentent la liste des variables joomla, je ne trouve pas.
    Quelqu'un pour m'aider?
    Ce lien apparait dans la classe "content-links-a"
    Merci
    Dernière édition par jimmy42 à 04/09/2019, 08h52
    Jimmy 42

  • #2
    Voilà ce que j'ai dans mon script (module owl carousel)

    <figure class="item_img img-intro img-intro__<?php echo htmlspecialchars($params->get('intro_image_align')); ?>">
    <a href="<?php echo $item->link;?>">
    <img src="<?php echo htmlspecialchars($item_images->image_intro); ?>" alt="<?php echo htmlspecialchars($item_images->image_intro_alt); ?>">
    <?php if ($item_images->image_intro_caption): ?>
    <figcaption><?php echo htmlspecialchars($item_images->image_intro_caption); ?></figcaption>
    <?php endif; ?>
    </a>
    </figure>


    Or moi je ne veux pas que lorsque l'on clique sur l'image, le lien nous renvoi vers l'article complet mais vers le LIEN A défini dans l'article.
    EN rouge l'emplacement où je dois mettre la variable LIEN A
    Jimmy 42

    Commentaire


    • #3
      Bonjour, essayez
      $item->urls->urla
      Je n'en suis pas sûr. Sinon un print_r du $item devrait vous dévoiler tout l'array !
      I love overrides
      -------
      UX/UI Designer - Grenoble - greendog.fr

      Commentaire


      • #4
        dans le fichier default_links.php on as ceci :
        Code:
                    $urlarray = array(
                    array($urls->urla, $urls->urlatext, $urls->targeta, 'a'),
                    array($urls->urlb, $urls->urlbtext, $urls->targetb, 'b'),
                    array($urls->urlc, $urls->urlctext, $urls->targetc, 'c')
                    );
        Mon site en cours de construction avec de nouvelles catégories de documents...
        https://informaticien51.fr

        Commentaire


        • #5
          Envoyé par wabaw Voir le message
          Bonjour, essayez
          $item->urls->urla
          Je n'en suis pas sûr. Sinon un print_r du $item devrait vous dévoiler tout l'array !
          J'ai essayé mais ça me renvoi sur la page d'accueil
          Jimmy 42

          Commentaire


          • #6
            $item_url->urls->urla
            $item_url->urls->urla>targeta
            $item->urls->urla->targeta

            J'en essaie pas mal... Tout me renvoie sur la home
            Jimmy 42

            Commentaire


            • #7
              Je vois que ma variable est écrit en noir au lieu de bleu je pense qu'il faut la déclarer en amont, non?
              Cliquez sur l'image pour l'afficher en taille normale

Nom : Capture.JPG 
Affichages : 46 
Taille : 5,1 Ko 
ID : 2005918
              Dernière édition par jimmy42 à 02/09/2019, 11h52
              Jimmy 42

              Commentaire


              • #8
                Bonjour,

                il ne faut pas oublier également que le stockage des liens A B C est au format json. (comme indiqué dans default_link.php )

                Code PHP:

                $urls 
                json_decode($this->item->urls); 
                Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                Commentaire


                • #9
                  Envoyé par daneel Voir le message
                  Bonjour,

                  il ne faut pas oublier également que le stockage des liens A B C est au format json. (comme indiqué dans default_link.php )

                  Code PHP:

                  $urls 
                  json_decode($this->item->urls); 
                  Ok mais qu'est-ce qui change du coup?
                  Jimmy 42

                  Commentaire


                  • #10
                    Cela veux dire qu'il faut ajouter la ligne donnée par daneel.
                    Certaines partie du code d'un article sont encodées, comme les images ou les liens.
                    Comme par exemple pour un lien qui est constitué de 3 parties, le texte porteur du lien, l'URL et la target.
                    De la sorte cela doit marcher.
                    I love overrides
                    -------
                    UX/UI Designer - Grenoble - greendog.fr

                    Commentaire


                    • #11
                      J'ai donc ajouté le script mais le site est en erreur page blanche :Using $this when not in object context
                      Voici le code de ma page :

                      <?php
                      /**
                      * @package Joomla.Site
                      * @subpackage mod_owl_carousel
                      *
                      * Copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
                      * @license GNU General Public License version 2 or later; see LICENSE.txt
                      */

                      defined('_JEXEC') or die;
                      $item_images = json_decode($item->images);
                      require_once (JPATH_BASE.'/components/com_content/helpers/icon.php');
                      jimport( 'joomla.filter.filteroutput' );
                      if($layout!='edit'){
                      $canEdit = $item->params->get('access-edit');
                      if ($canEdit) : ?>
                      <!-- Icons -->
                      <?php if ($canEdit || $item->params->get('show_print_icon') || $item->params->get('show_email_icon')) : ?>
                      <?php echo JFilterOutput::ampReplace(html_entity_decode(JLayo utHelper::render('joomla.content.icons', array('params' => $item->params, 'item' => $item, 'print' => false)))); ?>
                      <?php endif;
                      endif;
                      }
                      $urls = json_decode($this->item->urls);
                      $item_heading = $params->get('item_heading', 'h4');

                      if ($params->get('item_title')) : ?>
                      <<?php echo $item_heading; ?> class="item_title item_title__<?php echo $params->get('moduleclass_sfx'); ?>">
                      <?php if ($params->get('link_titles') && $item->link != '') : ?>
                      <a href="<?php echo $item->link;?>"><?php echo $item->title;?></a>
                      <?php else : ?>
                      <?php echo $item->title; ?>
                      <?php endif; ?>
                      </<?php echo $item_heading; ?>>
                      <?php endif;

                      if (!$params->get('intro_only')) :
                      echo $item->afterDisplayTitle;
                      endif;

                      if ($params->get('show_tags', 1) && !empty($item->tags)) :
                      $item->tagLayout = new JLayoutFile('joomla.content.tags');

                      echo $item->tagLayout->render($item->tags->itemTags);
                      endif;

                      if ($params->get('published')) : ?>
                      <time datetime="<?php echo JHtml::_('date', $item->publish_up, 'Y-m-d H:i'); ?>" class="item_published">
                      <?php echo JHtml::_('date', $item->publish_up, JText::_('DATE_FORMAT_TPL1')); ?>
                      </time>
                      <?php endif;

                      echo $item->beforeDisplayContent;

                      if ($params->get('intro_image')):
                      if (isset($item_images->image_intro) and !empty($item_images->image_intro)) :
                      $imgfloat = (empty($item_images->float_intro)) ? $params->get('float_intro') : $item_images->float_intro; ?>
                      <!-- Intro Image -->
                      <figure class="item_img img-intro img-intro__<?php echo htmlspecialchars($params->get('intro_image_align')); ?>">

                      <a href="<?php echo $urls->urla;?>">
                      <img src="<?php echo htmlspecialchars($item_images->image_intro); ?>" alt="<?php echo htmlspecialchars($item_images->image_intro_alt); ?>">
                      <?php if ($item_images->image_intro_caption): ?>
                      <figcaption><?php echo htmlspecialchars($item_images->image_intro_caption); ?></figcaption>
                      <?php endif; ?>
                      </a>
                      </figure>
                      <?php endif;
                      endif;

                      echo $item->introtext; ?>

                      <!-- Read More link -->
                      <?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) :
                      $readMoreText = JText::_('TPL_COM_CONTENT_READ_MORE');
                      if ($item->alternative_readmore){
                      $readMoreText = $item->alternative_readmore;
                      }
                      echo '<a class="btn btn-info readmore" href="'.$item->link.'"><span>'. $readMoreText .'</span></a>';
                      endif; ?>
                      Jimmy 42

                      Commentaire


                      • #12
                        Bonjour,

                        En programmation objet, $this correspond à l'objet sur lequel vous êtes. Donc, s'il ne le reconnait pas c'est que vous n'êtes pas sur un objet...(voir https://www.php.net/manual/fr/language.oop5.basic.php)

                        Sur votre code, en amont, vous avez $item->images qui semble fonctionner. Pourquoi avez-vous mis $this->item ?

                        Pascal
                        Dernière édition par pmleconte à 03/09/2019, 08h32
                        If anything can go wrong, it will...
                        If I can help, I will ..https://conseilgouz.com

                        Commentaire


                        • #13
                          J'ai ajouté la ligne de code donnée par daneel. J'aurais peut-être dû la modifier avant?
                          Que me conseillez-vous?
                          Comme vous l'avez vu, moi et la programmation ça fait 2...
                          Jimmy 42

                          Commentaire


                          • #14
                            J'ai réussiiiiiiiiiii !!!!!!!!
                            Voici le code que j'ai inséré en amont : $urls = json_decode($item->urls);
                            Merci à tous pour vos précieux conseils !!!
                            Jimmy 42

                            Commentaire


                            • #15
                              Avec un peu de persévérance et quelques conseils, on finit par y arriver....

                              Bonne continuation,

                              Pascal

                              PS: pensez à mettre cette discussion sur "Réglé"
                              If anything can go wrong, it will...
                              If I can help, I will ..https://conseilgouz.com

                              Commentaire

                              Annonce

                              Réduire
                              1 sur 2 < >

                              C'est [Réglé] et on n'en parle plus ?

                              A quoi ça sert ?
                              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                              Comment ajouter la mention [Réglé] à votre discussion ?
                              1 - Aller sur votre discussion et éditer votre premier message :


                              2 - Cliquer sur la liste déroulante Préfixe.

                              3 - Choisir le préfixe [Réglé].


                              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                              2 sur 2 < >

                              Assistance au forum - Outil de publication d'infos de votre site

                              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                              UTILISER À VOS PROPRES RISQUES :
                              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                              Problèmes connus :
                              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                              Installation :

                              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                              Archive zip : https://github.com/AFUJ/FPA/zipball/master

                              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                              et remplacer www. votresite .com par votre nom de domaine


                              Exemples:
                              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/
                              Pour executer le script: http://www..com/fpa-fr.php

                              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/cms/
                              Pour executer le script: http://www..com/cms/fpa-fr.php

                              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                              Voir plus
                              Voir moins

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X