web-dev-qa-db-fra.com

Remplacements de disposition: lien vers l'image d'introduction

J'ai cherché partout cette réponse mais je ne la trouve pas.

J'aime beaucoup les nouveaux remplacements de mise en page dans Joomla 3, mais je veux pouvoir ajouter un lien au fichier intro_image.php afin que lorsqu'un utilisateur clique sur une image d'introduction, il soit redirigé vers l'article complet.

La plupart des réponses que j'ai trouvées suggèrent de supprimer le remplacement et de placer le php directement dans le remplacement du modèle, mais c'est vraiment une étape en arrière.

J'aimerais vraiment conserver ma mise en page mais lui ajouter un lien. Cela semble simple mais je ne peux pas le comprendre.

3
DesignSubway

L'image d'introduction est générée dans JLayout layouts/joomla/content/intro_image.php.

Vous pouvez remplacer cela dans votre propre modèle dans /templates/your_template/html/layouts/joomla/content/intro_image.php.

Copiez simplement le fichier et ajustez-le si nécessaire. Je pense que vous devriez être capable de générer un lien là-bas.

Pour générer le lien, vous pouvez utiliser JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid));.

4
Bakual

Intro Image avec lien vers l'article: Template override

Après la réponse de Bakual sur où placer le remplacement pour l'intro-image , voici un exemple de code pour un remplacement de modèle pour la présentation d'intro-image, ce lien à l'article. Il vérifie si l'utilisateur dispose d'un accès en lecture pour lire l'intégralité de l'article, puis génère le lien en conséquence (comme pour la génération du titre de l'article).

defined('_JEXEC') or die;

$params  = $displayData->params;
if ($params->get('access-view')) :
    $link = JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug, $displayData->catid));
else :
    $menu = JFactory::getApplication()->getMenu();
    $active = $menu->getActive();
    $itemId = $active->id;
    $link1 = JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId);
    $returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($displayData->item->slug, $displayData->item->catid));
    $link = new JUri($link1);
    $link->setVar('return', base64_encode($returnURL));
endif; ?>

<?php $images = json_decode($displayData->images); ?>
<?php if (isset($images->image_intro) && !empty($images->image_intro)) : ?>
    <?php $imgfloat = (empty($images->float_intro)) ? $params->get('float_intro') : $images->float_intro; ?>
    <div class="pull-<?php echo htmlspecialchars($imgfloat); ?> item-image">
        <a href="<?php echo $link; ?>">
            <img
            <?php if ($images->image_intro_caption):
                echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_intro_caption) . '"';
            endif; ?>
                src="<?php echo htmlspecialchars($images->image_intro); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" itemprop="thumbnailUrl"/>
        </a>
     </div>
<?php endif; ?>



Autres références:

0
FFrewin