Zobacz pełną wersję : Wyświetlanie tagów w dowolnym miejscu
Czy jest możliwość wyświetlania tagów, które są przypisane do artykułu, w dowolnym miejscu w treści artykułu?
Aktualnie tagi pokazują mi się na dole artykułu.
I nie pokazują się w ogóle w przeglądzie artykułów wyróżnionych...
siristru
23-09-2020, 19:46
w dowolnym miejscu w treści artykułu?
W TREŚCI nie. Treść bowiem jest "litą" informacją. treścią z konkretnej kolumny w tabeli bazy danych. Chyba, że rozbijesz tą treść i pomiędzy rozbite elementy wstawisz kod wyświetlający tagi.
Ale można zmienić w widoku artykułu (w kodzie) miejsce wyświetlania tagów.
Generalnie zobacz sobie plik: ROOT/components/com_content/views/article/tmpl/default.php (szukaj "tags").
Tam zobaczysz, że kod jest wyświetlany przed lub po treści.
Wyświetlanie zależy od położenia informacji o artykule: http://prntscr.com/umlxmd
W TREŚCI nie. Treść bowiem jest "litą" informacją. treścią z konkretnej kolumny w tabeli bazy danych. Chyba, że rozbijesz tą treść i pomiędzy rozbite elementy wstawisz kod wyświetlający tagi.
Jakiś dodatek ktoś kojarzy? :) Coś wstawiającego tagi kodem w stylu {load tags}...
A co do braku tagów w widoku przeglądu artykułów wyróżnionych, to rozumiem, że to kwestia używanego przeze mnie szablonu i muszę go nadpisać?
siristru
23-09-2020, 23:31
A co do braku tagów w widoku przeglądu artykułów wyróżnionych, to rozumiem, że to kwestia używanego przeze mnie szablonu i muszę go nadpisać?
Tag... to znaczy tak :)
Kurde. Takich cudów jeszcze nie robiłem. Jakaś podpowiedź..? Który plik odpowiada za przegląd artykułów wyróżnionych? Używam templatki http://demo3.agethemes.com/joomla/at-city/
jesli wyłączysz proste adresy to będziesz widział wszystko
Próbowałem, ale niestety bez rezultatu...
Widok przeglądu jednej kategorii (tu widać tagi) ma adres index.php?option=com_content&view=category&layout=blog&id=8&Itemid=142
Czyli z pliku w szablonie /html/com_content/category/blog.php kopiuję fragment o tagach (jednyny, jaki tam jest, ze słowem "tags"):
<?php if ($this->params->get('show_cat_tags', 1) && !empty($this->category->tags->itemTags)) : ?>
<?php $this->category->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
<?php echo $this->category->tagLayout->render($this->category->tags->itemTags); ?>
<?php endif; ?>
Widok przeglądu artykułów wyróżnionych ma adres index.php?option=com_content&view=featured&Itemid=102
więc do pliku: /html/com_content/featured/default.php
wklejam ww. kod.
Nie działa. Co robię źle?
Uprzedzam pytania: nie mam zielonego pojęcia o PHP :(
widok default.php to widok zbiorczy, do wszystkich zajawek, natomiast do poszczególnych artykułów jest default_item.php i to w tym pliku definiujesz wygląd tagów, dla artykułu.
UWAGA: Widoczność tagów definiujesz w ustawieniach komponentu Content !!!, zauważ, że w pliku default_item.php masz kod (a przynajmniej powinieneś mieć)
override, czyli nadpisywanie widoku służy tylko do zmiany stylu prezentacji.
Nie możesz prezentować czegoś, czego nie zdefiniowałeś.
<?php if ($params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
<?php echo JLayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
<?php endif; ?>
co oznacza, że jeżeli masz ustawioną opcję show_tags',1 i takowe istnieją !empty to pokazuj ...render('joomla.content.tags'
Wejdź w pozycję menu odpowiedzialną za widok przeglądu i w zakładce "Lista jednej kategorii" lub "Opcje" w pozycji "Pokaż tagi" wybierz opcję POKAŻ i zapisz
tutaj masz przykład, https://www.joomlaterra.pl/blog tagi widoczne są bez nadpisywania szablonu. Stylizacja tagów też realizowana jest bez nadpisywania (tylko CSS), dopiero jeśli chcesz zdefiniować miejsce wyswietlania tagów, BEZ INGERENCJI W ORYGINALNY KOD JOOMLA, wykonujesz nadpisywanie i wtedy np. przenosisz umiejscowienie kodu
<?php echo JLayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
Wejdź w pozycję menu odpowiedzialną za widok przeglądu i w zakładce "Lista jednej kategorii" lub "Opcje" w pozycji "Pokaż tagi" wybierz opcję POKAŻ i zapisz
Tak mam ustawione i niestety w widoku przeglądu wyróżnionych tagi się nie pokazują. Po wejściu w konkretny artykuł już są widoczne.
Kod:
<?php echo JLayoutHelper::render('joomla.content.tags', $this->item->tags->itemTags); ?>
Wstawienie tej linijki w plik default_item.php rozwiązało sprawę. Dziękuję :)
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!