PDA

Zobacz pełną wersję : Ilustracja wprowadzenia i pełnego tekstu w artykule hiperłączem



szeryf75
15-01-2018, 15:12
Witam.
Czy jest możliwe ustawienie hiperłącza na ilustracji wprowadzenia i ilustracji pełnego tekstu w artykule?

moje
15-01-2018, 16:44
Tak, wystarczy skorzystać z nadpisywania szablonem i dokonac odpowiedniej modyfikacji kodu lub zainstalować szablon, który już to ma.

szeryf75
16-01-2018, 21:36
Dzięki za odpowiedź. Szablony, które posiadam niestety nie mają takich możliwości. Spróbuję się pobawić z nadpisywaniem szablonem.

siristru
17-01-2018, 09:24
Nie trzeba nic modyfikować. W Joomla! 3.8.3 to domyślna funkcja.

W szablonie ROOT/components/com_content/views/category/tmpl/blog_item.php wywoływany jest kod:


<?php echo JLayoutHelper::render('joomla.content.intro_image' , $this->item); ?>

Czyli ładowany jest plik:

ROOT/layouts/joomla/content/intro_image.php

A w nim widzimy:

<?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, ENT_COMPAT, 'UTF-8'); ?> item-image">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($dis playData->slug, $displayData->catid, $displayData->language)); ?>"><img
<?php if ($images->image_intro_caption) : ?>
<?php echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_intro_caption) . '"'; ?>
<?php endif; ?>
src="<?php echo htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8'); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt, ENT_COMPAT, 'UTF-8'); ?>" itemprop="thumbnailUrl"/></a>
<?php else : ?><img
<?php if ($images->image_intro_caption) : ?>
<?php echo 'class="caption"' . ' title="' . htmlspecialchars($images->image_intro_caption, ENT_COMPAT, 'UTF-8') . '"'; ?>
<?php endif; ?>
src="<?php echo htmlspecialchars($images->image_intro, ENT_COMPAT, 'UTF-8'); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt, ENT_COMPAT, 'UTF-8'); ?>" itemprop="thumbnailUrl"/>
<?php endif; ?>
</div>
<?php endif; ?>

Wszystko wyjaśnia ten fragment:


<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($dis playData->slug, $displayData->catid, $displayData->language)); ?>">

Jeśli w ustawieniach artykułów "tytuły łączem" jest na tak i mamy dostęp do przeglądania linkowanej treści to ładuje się obrazek wprowadzenia objęty linkiem do artykułu.

Tutaj przykład jak to wygląda w Protostar: http://siristru.prolusatia.pl/test/index.php?option=com_content&view=category&layout=blog&id=10&Itemid=325

Jeśli nie działa z twoim szablonem to prawdopodobnie nie przekazuje wszystkich parametrów, wtedy możesz wykorzystac kod z intro_image.php i po drobnej modyfikacji wstawić do blog_item.php.

moje
17-01-2018, 11:47
@siristru niestety nie masz racji, musi dokonać nadpisywania szablonem jeśli chce, żeby zarówno obrazek wstępu jak i obrazek pełnego artykułu był łączem - co wnioskuję z pytania.

siristru
17-01-2018, 13:00
Obrazek pełnego artykułu nie powinien być łączem bo by linkował do strony gdzie już jest - czyli do artykułu w którym jest wyświetlany.

Natomiast jak widzisz w powyższym kodzie - link na obrazku wprowadzenia do pełnego artykuły już jest. Pod testowym linkiem możesz zobaczyć jak to działa (kiedy indziej bo teraz tam eksperymentuję).

Ten fragment (zwłaszcza <a href=):


<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($dis playData->slug, $displayData->catid, $displayData->language)); ?>">

I to faktycznie działa. Spróbuj z Protostar.
O tym samym pisali też na forum.joomla.org oraz na Githubie.

szeryf75
17-01-2018, 13:47
Jeśli chodzi o hiperlink na zdjęciu w intro to już mi działa i przekierowuje do pełnego artykułu. Natomiast jeśli chodzi o ilustrację dla pełnego artykułu, to nie chodziło mi o to, aby umieścić na obrazku hiperłącze do tego samego artykułu tylko ustawić dowolne hiperłącze np. do jakiejś galerii albo na zewnętrzy adres.

moje
17-01-2018, 14:02
@szeryf, ustawienie innego łącza wymaga nadpisywania szablonem.
Musisz wykorzystać zawartość jedno z pól dodatkowymi łączami, gdzie będziesz podawał link, który ma być wykorzystany, następnie zmodyfikować kod używając tego łącza do zrobienia linku z obrazka pełnego tekstu.

siristru
17-01-2018, 14:08
Zgadza się, tak jak tutaj: http://adlojada.muzeum.szczecin.pl/poprzednie-edycje/prawo-i-kultura-2015.html

szeryf75
20-01-2018, 21:15
Dzięki za wskazówki. Będę próbował działać.