PDA

Zobacz pełną wersję : Obrazek w Intro



robertinog
22-08-2019, 23:59
Mam pytanie jak mozna wylaczyc link z obrazka ktory zostal umieszczony w intro w artykule.

Z gory dziekuje

siristru
23-08-2019, 10:57
Obrazek intro dostaje link w przypadku kiedy włączone jest ustawienie dla artykułów by tytuł był linkiem. Jeśli chcesz zachować link dla tytułu a wyłączyć go dla obrazka to tylko przez modyfikację widoku tego elementu.

1. Kopiujesz plik: ROOT/layouts/joomla/content/intro_image.php
2. Do ROOT/templates/<twoj-szablon>/html/layouts/joomla/content
3. Edytujesz plik zamieniasz ten kod:


<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>

4. Na ten kod:


<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"/>

robertinog
02-09-2019, 01:15
A jeśli nie chcę zachować linku dla tytułu to gdzie to można wyłączyć.
Z góry dziękuje za pomoc.

siristru
02-09-2019, 09:08
A. Zaplecze -> Artykuły -> Artykuły -> Opcje (przycisk w prawym górnym rogu) -> Artykuły http://prntscr.com/p0l3zh

B. Podczas edycji artykułu -> zakładka Opcja http://prntscr.com/p0l53g

C. Podczas edycji pozycji menu -> zakładka Opcje http://prntscr.com/p0l5hs

Oczywiście ustaw na NIE. I wystarczy tylko jak w ustawieniach globalnych będzie zrobione a wszędzie indziej ustawione "Globalnie".

robertinog
02-09-2019, 09:24
Sorki mistrzu ale nie mam takiej pozycji jak tytuł linkiem.
Czy ona jest gdzieś wyłączona?
W pozycji samego już artykułu nie mam tych pozycji co u Pana czyli pola dodatkowe opcje konfiguracji
z góry dziękuje

siristru
02-09-2019, 09:47
Sprawdź opcję A czyli ustawienia globalne dla artykułów.
Zrób zrzuty ekranu korzystając z tego http://prntscr.com/p0l5hs
Pokaż je tutaj.

robertinog
02-09-2019, 10:27
Opcja A printscreen
https://prnt.sc/p0m7d8

siristru
02-09-2019, 10:32
Kliknij "Pokaż tytuł" a opcja się pojawi. Ustaw ja na NIE. Zapisz. Potem ustaw pokazywanie tytułu na NIE.

robertinog
02-09-2019, 10:47
Hej
Nie pomogło może wrzucę zrzut będzie łatwiej wytłumaczyć
https://prnt.sc/p0mi7j
Chodzi mi o te okrągłe obrazki nie chce żeby były linkami

siristru
02-09-2019, 11:24
Dobra, zatem trzeba nadpisać widok.

Skopiuj plik ROOT/layouts/joomla/content/intro_image.php

Do

ROOT/templates/<twoj-szablon>/html/layouts/joomla/content

Wklej ten kod jako zawartość tego pliku:


<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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('JPATH_BASE') or die;
$params = $displayData->params;
?>
<?php $images = json_decode($displayData->images); ?>
<?php if (!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">
<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"/>
</div>
<?php endif; ?>

robertinog
13-09-2019, 00:10
W moim layout nie mam w katalogu html /layouts/joomla/content

siristru
13-09-2019, 08:11
I nie powinieneś mieć :) Katalog nazywa się "layouts".
Oryginalnie katalog "layouts" znajduje się w lokalizacji ROOT czyli w katalogu głównym Joomla (tam gdzie configuration.php
Jeśli chcesz nadpisywać widoki dla "layouts" to musisz UTWORZYĆ ten katalog i strukturę w nim w katalogu ROOT/templates/<twoj-szablon>/html.
Czyli w katalogu "html" tworzysz "layouts" a następnie "joomla" a w nim "content" i potem w zależności co chcesz nadpisać.

robertinog
23-09-2019, 20:49
Hej zrobiłem tak jak napisałeś ale dalej linki istnieją

siristru
23-09-2019, 22:11
To znaczy przekopiowałeś pliki do katalogu "layouts"?
No to nie wszystko, teraz trzeba zmodyfikować plik dla obrazka i usunąć z niego link.

Podaj nazwę pliku.

robertinog
24-09-2019, 06:06
Zrobiłem według twojego opisu i stworzyłem te katalogi a w nich plik intro_image.php. Modyfikować plik dla obrazka i usunąć z niego link czy to się robi w innym pliku czy dalej ten sam?

siristru
24-09-2019, 10:59
Tak, to ten plik.

Zawiera:


<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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('JPATH_BASE') or die;
$params = $displayData->params;
?>
<?php $images = json_decode($displayData->images); ?>
<?php if (!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; ?>

Zamień to na:


<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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('JPATH_BASE') or die;
$params = $displayData->params;
?>
<?php $images = json_decode($displayData->images); ?>
<?php if (!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">
<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>
</div>
<?php endif; ?>

robertinog
24-09-2019, 20:24
Ale to zrobiłem już i dalej nie działa

siristru
24-09-2019, 21:15
Zatem nie jestem w stanie dalej pomóc "w ciemno". Muszę zobaczyć co zrobiłeś i jak to jest ustawione.
Poprawnie wykonane zalecenie powinny zagwarantować obrazek wprowadzenia BEZ linka.

robertinog
30-09-2019, 22:55
A co dokładnie potrzebujesz kod i linka do strony?

siristru
30-09-2019, 23:35
Na początek link do strony.

robertinog
01-10-2019, 11:27
www.mandagaz.com.pl
Na pierwszej stronie są okrągłe obrazki i tam są linki których nie chce.
Z góry dzięki

siristru
01-10-2019, 13:00
Eh... zaoszczędzilibyśmy sporo czasu gdybym to zobaczył od razu :) To jest MODUŁ nie kategoria artykułów :)

http://prntscr.com/pdbgb1

W ustawieniach tego modułu nie ma linkowania, w kodzie też więc albo masz modyfikowany moduł albo cała ta treść (obrazek z linkiem) jest artykułem... i w nim ten link jest zrobiony.

robertinog
01-10-2019, 13:09
To jak to zmienic

siristru
01-10-2019, 13:50
Sprawdź w artykule który pokazywany jest w tym module. W module zobacz z jakiej kategorii są pobierane artykuły, idź do kategorii, znajdź artykuł, otwórz go i zobacz czy tam jest link w obrazku.

robertinog
01-10-2019, 19:32
To jest w Artykule obrazki lacza ilustracja wprowadzenia
https://prnt.sc/pdhwby

siristru
01-10-2019, 20:37
A treść?

I zobacz czy masz katalog: ROOT/templates/<twoj-szablon>/html/mod_articles_news i jakie pliki w nim (o ile są).

robertinog
02-10-2019, 13:40
zawartość folderu
https://prnt.sc/pdtmp9

siristru
02-10-2019, 14:25
Wklej tutaj zawartość pliku _item.php

robertinog
03-10-2019, 11:02
<?php
/**
* @package Joomla.Site
* @subpackage mod_articles_news
*
* @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;
$images = json_decode($item->images);

$item_heading = $params->get('item_heading', 'h3');
?>


<?php /** For Intro Image **/ if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
<?php $imgfloat = (empty($images->float_intro)) ? $item->params->get('float_intro') : $images->float_intro; ?>
<div class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
<a href="<?php echo $item->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); ?>"/>
</a>
</div>
<?php /** End For Intro Image **/endif; ?>

<?php if ($params->get('item_title')) : ?>
<div class="newsflash-title<?php echo $params->get('header_class'); ?>">
<div class="newsflash-title-wrapper">
<<?php echo $item_heading; ?>>
<?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; ?>>
</div>
</div>
<?php endif; ?>

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

<?php echo $item->beforeDisplayContent; ?>

<?php echo $item->introtext; ?>

<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) :
echo '<a class="readmore" href="'.$item->link.'">'.$item->linkText.'</a>';
endif; ?>

siristru
03-10-2019, 11:33
Zmień kod na:


<?php
/**
* @package Joomla.Site
* @subpackage mod_articles_news
*
* @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;
$images = json_decode($item->images);

$item_heading = $params->get('item_heading', 'h3');
?>


<?php /** For Intro Image **/ if (isset($images->image_intro) and !empty($images->image_intro)) : ?>
<?php $imgfloat = (empty($images->float_intro)) ? $item->params->get('float_intro') : $images->float_intro; ?>
<div class="img-intro-<?php echo htmlspecialchars($imgfloat); ?>">
<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); ?>"/>
</div>
<?php /** End For Intro Image **/endif; ?>

<?php if ($params->get('item_title')) : ?>
<div class="newsflash-title<?php echo $params->get('header_class'); ?>">
<div class="newsflash-title-wrapper">
<<?php echo $item_heading; ?>>
<?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; ?>>
</div>
</div>
<?php endif; ?>

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

<?php echo $item->beforeDisplayContent; ?>

<?php echo $item->introtext; ?>

<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) :
echo '<a class="readmore" href="'.$item->link.'">'.$item->linkText.'</a>';
endif; ?>