PDA

Zobacz pełną wersję : Nadpisywanie szablonem komponentu com_content



wook-ash
19-09-2011, 17:11
Witam!
Mam następujący problem. Próbuję zmienić wygląd listy artykułów w kategorii.
Jak na razie udało mi się usunąć wszystkie zbędne pola tabeli, zostawiłem jedynie tytuł artykułu.
Chciałem, aby przy każdym artykule widniał obrazek. I tutaj zaczęły się schody.


Widzę to tak, że w katalogu głównym tworzę folder z tymi zdjęciami. Zdjęcia byłyby nazywane na przykład numer id artykułu. Problem polega na tym, że nie wiem, jaki kod php dopisać w ścieżce do zdjęcia w pliku html/com_content/category/default_articles aby pobrany został numer id artykułu.

Z góry dziękuję za pomoc

palyga007
19-09-2011, 18:14
$idArtykulu = $_GET['id'];

uprzedzając pytanie.
Na prostych adresach też działa.

wook-ash
19-09-2011, 20:17
Działa, ale nie daje ID artykułu tylko kategorii...

palyga007
19-09-2011, 20:54
mój błąd
zamiast id powinno być Itemid co łatwo stwierdzić patrząc na adres w przeglądarce. Trochę więcej samodzielności.. :)

wook-ash
19-09-2011, 21:15
hm... niestety nadal nie działa... Itemid nadal zwraca tą samą wartość dla wszystkich artykułów w kategorii, chociaż inną niż zwracał id.
nie jestem pewny, czy zapis ma wyglądać tak:

<td>
<img src="folder/<?php echo $idArtykulu=$_GET['Itemid']; ?>.gif">
</td>

palyga007
19-09-2011, 21:34
Działa, ale nie daje ID artykułu tylko kategorii... Bzdura.
Dałem się zrobić jak dziecko...

index.php?option=com_content&view=article&id=53&Itemid=280

id= id artykułu z bazy (widoczne też jako skrajna prawa kolumna na liście artykułów)
(W tym przypadku Using Joomla!)
itemid = id z bazy dla danej pozycji menu.

<img src="folder/<?php echo $idArtykulu=$_GET['Itemid']; ?>.gif">
w tym przypadku wynikiem będzie plik o nazwie 280.gif
<img src="folder/<?php echo $idArtykulu=$_GET['id']; ?>.gif">
w tym 53.gif

Wszystko w temacie.

PS: skoro nie będziesz wykorzystywał zmiennej $idArtykulu nigdzie więcej to nie ma sensu jej tworzyć.
<img src="folder/<?php echo $_GET['id']; ?>.gif">

wook-ash
19-09-2011, 22:01
u mnie wygląda to inaczej....

index.php?option=com_content&view=category&id=80&Itemid=544 adres listy artykułów w kategorii

index.php?option=com_content&view=article&id=82:przykladowy-artykul&catid=80&Itemid=544 adres konkretnego artykułu w powyższej kategorii

kod:
<td>
<img src="folder/<?php echo $_GET['id']; ?>.gif">
</td>

zwraca w htmlu dla każdego artykułu w kategorii:
<td><img src="folder/80.gif">


</td>

natomiast Itemid faktycznie zwraca id pozycji menu

palyga007
19-09-2011, 22:20
@wook-ash
Przepraszam Cię najmocniej nie wiem jak to się stało, ale gdzieś umknęła mi najważniejsza część tego postu czyli "lista artykułów z kategorii"
Faktycznie w tym przypadku id wskazuje na id kategorii a nie id konkretnego artykułu.
W tej chwili już nie dam rady, ale postaram się na to zerknąć później.

wook-ash
19-09-2011, 23:36
Wielkie dzięki ;) nie ukrywam, że z chęcią dowiedziałbym się jak to działa..
Pozdrawiam!

palyga007
20-09-2011, 00:04
Wielkie dzięki ;) nie ukrywam, że z chęcią dowiedziałbym się jak to działa..ja też ;p

To takie proste, że aż sam się sobie dziwie..



<img src="folder/<?php echo $this->escape($article->id);?>.gif" />

KES
20-09-2011, 11:28
Witam,

Jestem początkującym w Joomli i jakiś czas temu miałem podobny problem. Może się komuś przyda to rozwiązanie i sprawdzę czy to rozwiązanie jest prawidłowe:


<img src="folder/<?php echo JRequest::getVar('id');?>.gif" />

Pozdrawiam, Tomek.

wook-ash
20-09-2011, 13:12
@palyga007 no, teraz działa jak należy ;D pozdrawiam ! ; )

palyga007
20-09-2011, 14:18
@wook-ash
No problem, sorki za to, że na początku wprowadziłem Cię w błąd.
@Batki
prześledź cały wątek i zobacz dlaczego Twoje rozwiązanie nie w pełni się sprawdzi.

KES
20-09-2011, 18:46
@palyga007

Po przeanalizowaniu wątku zauważyłem że popełniłem ten sam błąd co Ty przy czytaniu :) "JRequest::getVar('id')" wyciągnie id kategorii a nie tego co @wook-ash poszukiwał czyli poszczególnych id artykułów.

Przepraszam za zamieszanie :/