PDA

Zobacz pełną wersję : Starsze artykuły- com_content/featured/default_links



Enpeiks
29-10-2013, 21:53
Witam serdecznie!

Otóż mam taki problem, mianowicie chciałbym w swoim szablonie zmodyfikować komponent (?) wyświetlania starszych artykułów. Dokładniej opisując, chodzi mi o sposób wyświetlania nazwy artykułu oraz dodania w linku daty publikacji danego artykułu wraz ze skróconą ilością znaków (dla całości). Może to brzmieć lekko zagmatwanie jednak takowym raczej być nie powinno.

Rozchodzi mi się dokładnie o ten plik: components\com_content\views\featured\tmpl\default _links.php

Póki co, udało mi się jedynie skrócić wyświetlanie nazwy artykułu, jednak za nic w świecie nie mogę dodać aby po jego lewej stronie wyświetlała się data publikacji artykułu. Umiem wykonać to zadanie, jednak wtedy już nie umiem zrobić skracania ilości znaków.

Mój kod:

<li> <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($ite m->slug, $item->catslug)); ?>"> <?php echo " " .substr($item->title, 0, 60) . "...";?></a> </li>

Jak widać, skorzystałem z funkcji substr jednak nie wiem w jaki sposób, można połączyć tą funkcję wraz z wyświetlaniem daty publikacji artykułu.

Czy mógłby ktoś z Was odpowiednio mnie nakierować w jaki sposób mogę to wykonać? Mam nadzieję że w miarę odpowiednio wytłumaczyłem mój problem.
Za wszelką pomoc- SERDECZNIE DZIĘKUJĘ!

traabbit
29-10-2013, 22:17
Chcesz aby obok tytułu wyświetlała się data?

Przecież można to zrobić w ustawieniach bez grzebania w kodzie.

Enpeiks
29-10-2013, 22:22
Owszem, wyświetlanie daty jest możliwe ale w artykule (jak już w nim jesteśmy). Mi mianowicie chodzi o wyświetlanie DATY + SKRÓCENIE NAZWY. Oczywiście nie w artykule jednak w odnośniku do ów artykułu.

Bazyl
29-10-2013, 22:24
Witam,

Zobacz, czym jest wyświetlana data w artykule i wstaw tam, gdzie chcesz...
p.s. Dałbym warunek, że kropki sie pokazują dopiero, gdy obcinasz tytuł ;)

Enpeiks
29-10-2013, 23:03
@Bazyl, niestety takie rozwiązanie nie idzie... próbowałem również i w ten sposób (chyba że, mówimy o czymś innym). Proszę spojrzeć:
Tak wygląda lekko zmodyfikowany kod (skrócenie nazwy w odnośniku do artykułu)


<li>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($ite m->slug, $item->catslug)); ?>">
<?php echo " " .substr($item->title, 0, 60) . "...";?></a>
</li>

A tak przerobiony + dodana opcja z wyświetlaniem daty opublikowania:

<li> <a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($ite m->slug, $item->catslug)); ?>"> <?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE_ON', JHtml::_('date', $this->item->publish_up, JText::_('DATE_FORMAT_LC4'))); ?><?php echo " " .substr($item->title, 0, 60) . "...";?></a> </li>

Niby wszystko ładnie, pięknie. Data się wyświetla... tylko że błędna... system tak jakby pobiera pierwszą datę z listy <li> do wszystkich pozostałych...
Moim zdaniem, chodzi tutaj o poprawne wywołanie funkcji substr, a dokładniej- poprawne połączenie $item->title + item->publish_up (z kodu powyżej)...

Już po prostu brakuje mi pomysłów :(

- - - Updated - - -

Po walkach- udało się!
Rozwiązanie problemu:


<li>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($ite m->slug, $item->catslug)); ?>">
<?php echo JHTML::_('date', $item->publish_up , JText::_('DATE_FORMAT_LC4')); ?>
<?php echo " " .substr($item->title, 0, 60) . "..." ?></a>
</li>


A więc należało po prostu dodać
<?php echo JHTML::_('date', $item->publish_up , JText::_('DATE_FORMAT_LC4')); ?>
Dziękuję za chęć udzielenia pomocy i serdecznie pozdrawiam!

Bazyl
29-10-2013, 23:40
Jeszcze tak bym zrobił:



<li>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($ite m->slug, $item->catslug)); ?>">
<?php
echo JHtml::_('date', $item->publish_up, JText::_('DATE_FORMAT_LC3')) .' ';
echo (strlen($item->title) > 16) ? (substr($item->title, 0, 16)).'...' : $item->title;
?>
</a>
</li>

Enpeiks
30-10-2013, 00:25
@Bazyl
Tak, teraz to wygląda jeszcze bardziej przejrzyście- dziękuję jeszcze raz za pomoc. Miło :)
Pozdrawiam!