PDA

Zobacz pełną wersję : Data utqworzenia artykułu na liście kategorii



stanislawl
20-09-2008, 16:55
Witam,

Próbuję uaktywnić wyświetlanie daty utworzenia artykułów: http://www.2liceum.eu/index.php?option=com_content&view=category&id=18:administrator-portalu&Itemid=6&layout=default. Włączyłem wyświetlanie tych dat oraz nazw autorów (dla opcji menu: Aktualności). Autorzy się wyświetlają, daty - nie. Co pomyliłem???

Pozdrawiam
stanislawl

Dakota
20-09-2008, 17:28
u mnie, jak wejdę w dany artykuł pojawia się oprócz autora także data... :)

pozdrawiam
Dakota

stanislawl
20-09-2008, 18:11
Zgadza się, po wyświetleniu artykułu wszystko jest OK. Chodzi mi jednak o wyświetlanie kolumny daty w tabeli kategorii - tak samo jak nazwy autora. To pozwala na sortowanie artykułów w tabeli; kiedy będzie ich dużo, będzie to bardzo przydatne.

Pozdrawiam
stanislawl

Dakota
21-09-2008, 00:29
to już wyższa szkoła jazdy.... :) wg. mnie trzeba pogmerać w pliku content.html.php znajdującym się w components->com_content....

popatrz na ten plik...ale mogę się myslić :)....

pozdrawiam
Dakota

zwiastun
21-09-2008, 00:52
1. W konfiguracji można precyzyjnie zdecydować o kolejności wyświetlania artykułów
2. Użytkownikom można dać dodatkowo filtr zmieniający domyślny porządek

Oczywiście, że można sobie "pogmerać" - raczej w kilku plikach obsługujących ten komponent, tylko czy to rzeczywiście konieczne?

stanislawl
21-09-2008, 09:48
Dziękuję za sugestie, jednak nadal czegoś nie rozumiem...

W pliku /components/com_content/views/category/tmpl/default_items.php znajduje się następujący fragment odpowiedzialny za wyświetlanie nagłowka tabeli:

<?php if ($this->params->get('show_headings')) : ?>
<tr>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" align="right" width="5%">
<?php echo JText::_('Num'); ?>
</td>
<?php if ($this->params->get('show_title')) : ?>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="45%">
<?php echo JHTML::_('grid.sort', 'Item Title', 'a.title', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_date')) : ?>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="25%">
<?php echo JHTML::_('grid.sort', 'Date', 'a.created', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_author')) : ?>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="20%">
<?php echo JHTML::_('grid.sort', 'Author', 'author', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_hits')) : ?>
<td align="center" class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="5%" nowrap="nowrap">
<?php echo JHTML::_('grid.sort', 'Hits', 'a.hits', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
</tr>
<?php endif; ?>

oraz drugi, odpowiedzialny za wyświetlanie zawartości tabeli:

<?php foreach ($this->items as $item) : ?>
<tr class="sectiontableentry<?php echo ($item->odd +1 ) . $this->params->get( 'pageclass_sfx' ); ?>" >
<td align="right">
<?php echo $this->pagination->getRowOffset( $item->count ); ?>
</td>
<?php if ($this->params->get('show_title')) : ?>
<?php if ($item->access <= $this->user->get('aid', 0)) : ?>
<td>
<a href="<?php echo $item->link; ?>">
<?php echo $item->title; ?></a>
<?php $this->item = $item; echo JHTML::_('icon.edit', $item, $this->params, $this->access); ?>
</td>
<?php else : ?>
<td>
<?php
echo $this->escape($item->title).' : ';
$link = JRoute::_('index.php?option=com_user&view=login');
?>
<a href="<?php echo $link; ?>">
<?php echo JText::_( 'Register to read more...' ); ?></a>
</td>
<?php endif; ?>
<?php endif; ?>
<?php if ($this->params->get('show_date')) : ?>
<td>
<?php echo $item->created; ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_author')) : ?>
<td >
<?php echo $item->created_by_alias ? $item->created_by_alias : $item->author; ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_hits')) : ?>
<td align="center">
<?php echo $item->hits ? $item->hits : '-'; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>

Na zielono zaznaczyłem części odpowiedzialne za nazwę autora, na czerwono - odpowiedzialne za datę utworzenia. Autor się wyświetla, data - nie. Wystarczy usunąć dwa wiersze:

<?php if ($this->params->get('show_date')) : ?>

na początku oraz

<?php endif; ?>

na końcu (w obu fragmentach) i data już jest... Czyli albo nie ustawiłem jakiegoś parametru (wydaje mi się, że o niczym nie zapomniałem), albo warunek nie jest spełniony z innych przyczyn.

Pozdrawiam - i przepraszam, że piszę w niedzielę... Miłego wypoczynku - ja na dziś daję Joomli spokój.
stanislawl

stanislawl
21-09-2008, 10:07
Znalazłem rozwiązanie. Trzeba zmienić w obu warunkach

show_date

na

show_create_date

i jest OK.

Miłej niedzieli.
stanislawl