PDA

Zobacz pełną wersję : Moduł - lista artykułów.



Quality
12-06-2007, 00:03
Witam.
Chciałbym zrobić moduł do joomla, który wyświetla listę artykułów, a po kliknięciu w tytuł w zależności od tego czy ktoś jest zalogowany czy nie wyświetla albo sam początek artykułu albo całość.

Nie wiem czy to pisać jako nowy moduł czy przerobić ten com_content ?

Proszę o jakąś pomoc, jak zacząć ?

zwiastun
12-06-2007, 00:09
Zacznij od początku. Niby jakiej rady oczekujesz?

Quality
22-06-2007, 11:14
Jak stworzyć taką nową formę prezentacji zawartości ?
W pomocy joomla jest opisane tylko jak zastosować taką formę w pozycji w menu:
http://www.pomoc.joomla.pl/content/view/404/26/


A jak stworzyć nową ?

zwiastun
22-06-2007, 15:06
Dokładnie tak, jak jest opisane w pomocy. Powtarzam pytanie: Jakiej rady oczekujesz, czego nie rozumiesz?

Quality
22-06-2007, 15:48
ad.1 Nie znalazłem w pomocy nic dotyczącego tworzenia nowej formy prezentacji zawartości; może jakiś link ?

Mam ciągle ten sam problem z wyświetlaniem artykułów na stronie.
- Próbowałem tak jak radziłeś za pomocą modułu, jednak mi jest potrzeba żeby wyświetlało sie w głównym oknie a nie jako moduł,
- 2 sposób w jaki myślę to zrobić to jest właśnie stworzyć nowy typ wyświetlania zawartości, jednak nie wiem jak go stworzyć
- 3 sposób w jaki kombinowałem to stworzyłem prosty komponent, który w zasadzie działa bardzo dobrze, jednak wyświetla mi wszystko jak leci z bazy z tabeli content, a chciałbym żeby była możliwość wybrania w panelu administracyjnym z jakiej kategorii ma wyświetlać artykuły.

Komponent wygląda tak:

<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $database, $my;
$database->setQuery("SELECT * FROM #__content LIMIT 10");
$rows = $database->loadObjectList();
//$row = $rows[0];
?>
<table>
<?php
switch ($task)
{
case 'list':
foreach($rows as $row)
{
if(empty($my->username))
{
echo "<tr><td>" . $row->title . "</td></tr>";
echo "<tr><td>" . $row->introtext . "</td></tr>";
echo "<tr><td>Aby przeczytać całość należy się zalogować.</td></tr>";
}else
{
echo "<tr><td>" . $row->title . "</td></tr>";
echo "<tr><td>" . $row->fulltext . "</td></tr>";
}
}
break;

default:
foreach($rows as $row)
{
echo "<tr><td><a href=index.php?option=com_test&amp;task=list&amp;Itemid=".$Itemid.">" . $row->title . "</a></td></tr>";
}
}
?>
</table>

zwiastun
22-06-2007, 22:07
Hmm. Odpowiedź może być dwojakiego rodzaju:
1) albo siądę, napiszę rozwiązanie, jakie ci jest potrzebne, a potem Ci objaśnię, jak to zrobić.
2) albo - skoro umiesz programować, to czemu pytasz, a jeśli nie umiesz, to czemu się za cos takiego bierzesz.

Jeśli 2 a), to poanalizuj sobie skrypty z katalogu /content/ W przypadku list pozycji niezalogowanym pokazywane są linki do pozycji dostępnych tylko dla uprawnionych (jeśli zaznaczona jest odpowiednia opcja w konfiguracji globalnej witryny)

Quality
23-06-2007, 12:58
Hmm wole sam to napisać bo i tak muszę się nauczyć tego.
Umiem programować ale nie znam joomli więc mi trochę trudno tak od razu poznać cały skrypt. Potrzebuje tylko kierunku takiego jak teraz napisałeś.

No właśnie pokazywane są tylko linki, a ja potrzebuję żeby były na początku linki a później jeszcze tekst skrócony i dopiero wtedy info ze całość dostępna po zalogowaniu.

Dzięki pokombinuje i zgłoszę sie jak będę miał jeszcze jakieś problemy :).

zwiastun
24-06-2007, 00:10
no to każ wyświetlać linka i $introtext