PDA

Zobacz pełną wersję : [Rozwiązane] Ikony video i galerii na miniaturach artykułów



KastaRaze
14-11-2018, 11:59
Cześć,
Przeszukałem forum, sprawdziłem wiele różnych wtyczek, mimo to nie udało mi się znaleźć informacji odnośnie mojego problemu.
Poszukuje informacji odnośnie konfigurowania miniatur artykułów, dokładnie chciałbym aby podczas dodawania nowego artykułu była możliwość wybrania czy jest to zwykły artykuł, galeria, czy video. Chodzi mi taki efekt jaki jest na stronie onet.pl, widać tam, że niektóre miniatury mają białe ikony w prawym dolnym narożniku.
Czy znacie jakiś moduł, dzięki któremu mógłbym uzyskać taki efekt?
Pozdrawiam

Bazyl
14-11-2018, 12:13
Hej,

możesz to zrobić np. polami dodatkowymi + nadpisanie widoków + style css

siristru
14-11-2018, 12:48
możesz to zrobić np. polami dodatkowymi + nadpisanie widoków + style css

Dokładnie! Np. tak jak ja zrobiłem to tutaj: https://cerkiew.szczecin.pl/multimedia/filmy.html

Wykorzystałem artykuły i pola do odnośników w tymże. Następnie odpowiednia modyfikacja szablonu wyświetlania i taki efekt :D

KastaRaze
14-11-2018, 18:06
Hej
Dzięki za szybką odpowiedź, mam kilka dodatkowych pytań, jaki typ pola dodatkowego powinienem wybrać? I jak to ustawić żeby te ikony były widoczne na głównej stronie na miniaturach, bo z tego co udało mi się teraz poklikać, to wszystko pojawia się już w samym artykule.
Tak dla jasności co chciałbym osiągnąć, zależy mi na tych białych ikonach w prawym dolnym roku niektórych miniatur, jak na załączniku poniżej.
9458

Pozdrawiam

siristru
14-11-2018, 18:35
Nie musisz wykorzystywać pól dodatkowych bo zawsze możesz użyć łącz. Kiedy tworzy artykuł kliknij zakładkę "Obrazki i łącza" http://prntscr.com/lidbj6
Masz aż trzy pola do dyspozycji.
Następnie należy nadpisać widok dla kategorii artykułów lub artykułów wyróżnionych.
W pliku szablonu tworzysz warunek: gdy użyto łącza C Załaduj obrazek z ikonką.
I oczywiście musisz utworzyć kod html i styl css dla takiego elementu.

To jest sposób dla zaawansowanych i biegłych w modyfikowaniu Joomli.

Jeśli szukasz jakiegoś automagicznego sposobu - niestety nie pomogę. Nie wiem czy takie cosie są.
Wiem jak sobie coś takiego zrobić bez cosiów.

Jeśli chcesz się nauczyć pomogę w wątku by i inni skorzystali.
Jeśli nie chcesz się "bawić w dłubanie", może ktoś coś poleci.

KastaRaze
14-11-2018, 19:05
Hej,
Bardzo chętnie doszkolę się w tym zakresie, jak masz chwilę żeby opisać jak osiągnąć wspomniany efekt to będę bardzo wdzięczny.
Pozdrawiam

siristru
14-11-2018, 19:47
Dobra :)

Krok 1: Nadpisanie widoku dla kategorii artykułów

Skopiuj plik:


ROOT/components/com_content/views/category/tmpl/blog_item.php

Do:


ROOT/templates/twoj-szablon/html/com_content/category/blog_item.php

Krok 2: Dodajemy link i obrazek do filmu w artykule

Tworząc artykuł klikasz na zakładkę "Obrazki i łącza".
Dodajesz obrazek wprowadzenia oraz id filmu na YouTube: http://prntscr.com/lidxzl

Założenia:

1. Film pochodzi z YouTube ale podobna metoda może być użyta dla dowolnego usługodawcy
2. Masz zainstalowane FontAwesome: https://fontawesome.com/

Na razie wynik wygląda tak: http://prntscr.com/lie0h6
http://test.siristru.smarthost.pl/index.php?option=com_content&view=category&layout=blog&id=11&Itemid=123

- - - Updated - - -

Krok 3: Modyfikacja artykułu w widoku przeglądu kategorii

Edytujemy plik:


ROOT/templates/twoj-szablon/html/com_content/category/blog_item.php

W linii 16 jest:


$info = $params->get('info_block_position', 0);

Pod nią dodajemy:


$images = json_decode($this->item->images);$urls = json_decode($this->item->urls);

Pierwsza zmienna przechowuje nam obrazki dla artykułu, druga linki.

Szukaj linii:


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

Teraz trochę tutaj namieszamy :) Musimy zastąpić domyślne wyświetlanie obrazka, wyświetlaniem z warunkową ikonką.

Ten kod będzie dobry:


<div class="intro-item-container"> <a class="maska-link" href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($thi s->item->slug, $this->item->catid, $this->item->language)); ?>"></a> <img src="<?php echo $images->image_intro; ?>" /> <?php if (isset($urls->urlc) && !empty($urls->urlc)) { ?> <i class="far fa-play-circle"></i> <?php } ?></div>

Jak widać mamy pojemnik z klasą intro-item-container który zawiera wszystko co potrzebne.
Link maska-link jest powłoką pokrywającą cały obrazek z linkiem do samego artykułu.
<img to oczywiście obrazek wprowadzenia.
Następnie jest warunek: jeśli dany jest link C oraz link C jest różny od pustego to załaduj co w klamerkach.
A w klamerce jest ikonka odtwarzania.

Do tego taki kod CSS:


.intro-item-container {position: relative;}
.intro-item-container .far {
position: absolute;
bottom: 10px;
right: 10px;
color: #fff;
font-size: 2rem;
}
.maska-link {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
}


CSS opisuje pojemnik, maskę oraz ikonkę.

Wynik: http://prntscr.com/lie88m

http://test.siristru.smarthost.pl/index.php?option=com_content&view=category&layout=blog&id=11&Itemid=123

- - - Updated - - -

Teraz pozostaje korzystając z ID filmu wywołać go w treści artykułu. Gdzie ma być? Na początku czy na końcu? (z oczywistych względów nie będzie w tekście..., chyba, że wstawisz go już ręcznie). To jak ma być?

KastaRaze
20-11-2018, 23:35
Hej
Wybacz za zwłokę z odpisaniem, ale mam urwanie głowy. A teraz tak, to co opisałeś działa bardzo dobrze, tylko działa to gdy wyświetlamy artykuły bez żadnych dodatkowych modułów. Sprawdziłem kod swojej strony i okazało się, że szablon, który wgrałem na stronę używa jakiegoś wbudowanego modułu do wyświetlania artykułów i dlatego twoje rozwiązanie niestety nie zadziałało. Udało mi się znaleźć pliki odpowiedzialne za wyświetlanie tych artykułów, jednak sam na php znam się słabo, dałbyś radę rzucić na to okiem i pomóc mi skonfigurować te pliki tak, aby efekt był taki jak w sposobie powyżej? Jak coś rozszerzenie tych plików to *.html.twig, ale żeby załączyć je do odpowiedzi musiałem zmienić je na txt.
Z góry wielkie dzięki
PS. Polecam Twój sposób każdemu kto nie korzysta z żadnych dodatkowych rozszerzeń :D
9475
9476

siristru
21-11-2018, 02:14
Niestety, te pliki wykorzystują jakiś framework (Gantry?) i nie jest to czysty php.
Nic z tym nie zrobię.

KastaRaze
21-11-2018, 08:14
Ok, w każdym razie jeszcze raz wielkie dzięki za pomoc.
Pozdrawiam