Jak wyświetlić wykaz artykułów zalogowanego w Joomla użytkownika Drukuj
Ocena użytkowników: / 1
SłabyŚwietny 
Wpisany przez Jan Jackowicz-Korczyński   
czwartek, 09 grudnia 2010 07:45

Jeśli chciałbyć wyświetlić artykuły zalogowanego w Joomla użytkownika tzreba do tego skonstruować odpowiedni moduł. Odnośnie budowania modułów odsyłam do dostępnej literatury na ten temat. (nie wiesz jak - ,,wygoogluj sobie'' - jak znajdę chwile wolnego czasu to opiszę krok po kroku jak to się robi).

Można alternatywnie osiagnąc taką funkcjonalność za pomocą paczki rozszerzen JUMI opisywanej pzreze mnie w jednym ze wcześniejszych opisów.

 

Algorytm

Jest prosty - należy kolejno:

  1. Pobrać id zalogowanego użytkownika (domyślnie 0 jeśli nikt nie jest zalogowany)
  2. Wykonać pytanie do Tabeli JosContent bazy systemowej o wszystkie wpisy użytkownika o tym identyfikatorze.
  3. Wyświetlić listę wyników wyszukania z linkami do artykułów. (od Ciebie zależy jakie elementy dancyh umieścisz we wpisie.

Kod można użyć w nowym module JUMI (Moduły ->Nowy -> Jumi) lub umieścić w koponencie JUMI i odwołąc się do niego w module ,,Własny kod HTML''  lub dowolnym artykule.

Poniżej przykładowy kod:

<?php
$userdetails =&JFactory::getUser();
//$userdetails->id;
$db =& JFactory::getDBO();
$sql = "SELECT `id` , `title` FROM `jos_content` WHERE `created_by` = $userdetails->id LIMIT 0, 500 ";

$db->setQuery($sql, 0, $items);

$rows = $db->loadObjectList();

foreach($rows as $row)
{
    $nr = $row->id;
    $title = $row->title;
    echo "<a href='http://mediaclass.vilogdansk.eu/index2.php?option=com_content&view=article&id=$nr' 
          target='_blank' >";             
    echo "<b>$title </a><br />";
}

Powyższy kod wyświetla listę artykułów zalogowanego użytkownika z linkiem do wyświetlanie tego artykułu jako osobną pozycję w nowym oknie.
 

Gdyby chcieć, aby linki odsyłąły do artykułu w jego umiejscowieniu w systemie należy w generowanym adresie URL index2.php zamienic na index.php i dodać zmienne określające przynależność do sekcji i kategorii każdego artykułu. Oczywiście rozszerzyć wtedy trzeba o te dwa pola danych zakres zapytania w kodzie powyżej.

 

UWAGA!

Dla czytelności kodu - na potrzeby tego opisu - utworzyłem w pętli foreach dwie zmienne $nr i $title i te dopiero wstawiam do instrukcji generującej kod wyświetlanej strony. W praktyce nie ma potrzeby dublowania tych samych zmiennych.