Jak wyświetlić listę terminów ze słownika
Właśnie stanąłem przed zadaniem, jak wyświetlić alfabetycznie listę terminów
z konkretnego słownika
(kategorii
). Po przeszukaniu strony Drupal.org znalazłem rozwiązanie i trochę je zmodyfikowałem.
Na początku musimy znać numer naszego słownika
, aby go poznać należy w Panelu Administracyjnym
wybrać Kategorie
z menu Zarządzaj
→ Zarządzanie zawartością
. Następnie po wybraniu Edytuj słownik
przy naszym słowniku, w pasku URL dostaniemy jego numer.
Link powinien wyglądać podobnie do przedstawionego poniżej, ostatni znak jest numerem słownika.
http://twoja.strona.pl/admin/content/taxonomy/edit/vocabulary/5
Następnie w Bloku
lub Artykule
(zależnie od tego, gdzie będziemy otrzymać listę terminów
) wpisujemy poniższy kod:
<?php
$vocabulary_id = 5;
$result = db_query("SELECT d.tid, d.name, MAX(n.created) AS updated, COUNT(*) AS count FROM {term_data} d INNER JOIN {term_node} USING (tid) INNER JOIN {node} n USING (nid) WHERE d.vid = $vocabulary_id AND n.status = 1 GROUP BY d.tid, d.name ORDER BY d.name");
$items = array();
while ($category = db_fetch_object($result)) {
$items[] = l($category->name .' ('. $category->count .')', 'taxonomy/term/'. $category->tid);
}
print theme('item_list', $items);
?>
Do zmiennej $vocabulary_id przypisujemy numer słownika.
Od tej pory możemy cieszyć się Listą terminów
w formacie: Nazwa Terminu
(w nawiasie liczba artykułów w terminie
)
Oczywiście nie należy zapomnieć o włączeniu w Formacie danych
opcji PHP Code
.
Sprawdzone działanie na wersji 5, natomiast według opisu na Drupal.org powinno też działać w wersji 4.7

Dzieki! Działa, ale jak zrobić listę terminów w poziomie?
Joanna Matt (niezweryfikowany), śr., 2008-03-12 12:21Terminy wyświetlają się w pionie, jeden pod drugim. A jak zrobić, żeby wyświetlały się w poziomym ciągu, jeden obok drugiego?
CSS
archetwist, śr., 2008-03-12 12:40 moderatorTo już zależy od tego, jakie reguły CSS nadasz tym elementom. Ważna będzie deklaracja
display: inline;. By dodać odstępy między elementami, można jeszcze dodaćmargin-right: 1em;.Przykład:
Trzeba tylko pamiętać o dodaniu do selektora klas lub ID tych elementów, bo inaczej wszystkie listy będziesz mieć poziomo.
design www drupal
Wiem że temat stary, ale
ireq, śr., 2008-08-27 20:34Wiem że temat stary, ale może ktoś pomoże.
Chciałbym aby skrypt wyświetlał również puste kategorie i nie wiem za bardzo jak to zrobić. W PHP jestem cienki i wczelkie modyfikacje kończyły się błędami.
Liczę na pomoc. Pozdrawiam.