PDA

Zobacz pełną wersję : Data utworzenia a data publikacji artykułu



zszalbot
28-04-2009, 00:25
Witajcie,

W Joomli stosowane są dwie daty - utworzenia artykułu oraz jego publikacji. Z przeprowadzonych testów wychodzi mi, że jeśli chcę opublikować artykuł z przyszłą datą, to mam w tym momencie mały problem. Artykuł jest wprawdzie publikowany o wyznaczonej porze, ale widnieje na nim data jego utworzenia. Jeśli utworzę artykuł 28 kwietnia, a zlecę jego publikację na 15 maja, to 15 maja artykuł będzie wyglądał na mocno nieaktualny (data wyświetlana będzie wskazywała 28 kwietnia). I w związku z tym moje pytanie. Jak sprawić, żeby pod artykułem wyświetlała się data jego publikacji?

Z góry dziękuję!

zwiastun
28-04-2009, 00:30
1. daty utworzenia nie musisz publikować
2. datę utworzenia nasz można zmienić

zszalbot
28-04-2009, 07:43
1. daty utworzenia nie musisz publikować
2. datę utworzenia nasz można zmienić

Dzięki! Tak, oczywiście wiem, że nie muszę publikować daty utworzenia, ale jednak datę publikacji chciałbym mieć. Ręczna zmiana raczej nie wchodzi w grę.

Czyli pozostaje znaleźć w kodzie datę ostatniej aktualizacji i przenieść ją tak, by była u góry, pod tytułem wpisu. Ale co się stanie, gdy zdefiniuję, że wpis ma być opublikowany z przyszłą datą, np. 28.04.2010? Czy wtedy jako data aktualizacji wyświetli się data publikacji wpisu, czy też będę musiał otworzyć artykuł, nacisnąć save i wyjść z niego, by system uznał, że wpis został zaktualizowany? Bo jeśli tak, to jestem w tym samym miejscu. Muszę ręcznie modyfikować daty.

Jak inni sobie z tym radzą? W końcu to dosyć częsty przypadek, że pisze się artykuł, ale ustawia datę jego publikacji na przyszłość (np. wyjeżdżam, ale chciałbym, żeby na dzień Sprawiedliwego Handlu ukazał się stosowny wpis). Artykuł średnio wygląda, jeśli czytam go 28.10.2010 roku i widzę, że został utworzony rok wcześniej. Oczywiście to ekstremalny przypadek, chodzi raczej o zasadę.

BTW - gdzie w kodzie szukać zmiennej odpowiadającej za datę ostatniej aktualizacji? Dziękuję!

zwiastun
28-04-2009, 12:10
Można - jak zwykle, skorzystać z techniki nadpisywania szablonów i w miejsce daty utworzenia postawić datę publikacji. Zamiast:


<?php if ($this->params->get('show_create_date')) : ?>
<tr>
<td valign="top" class="createdate">
<?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')) ?>
</td>
</tr>
<?php endif; ?>

zastosować


<?php if ($this->params->get('show_create_date')) : ?>
<tr>
<td valign="top" class="createdate">
<?php echo JHTML::_('date', $this->article->publish_up, JText::_('DATE_FORMAT_LC2')) ?>
</td>
</tr>
<?php endif; ?>

zszalbot
30-04-2009, 09:30
Można - jak zwykle, skorzystać z techniki nadpisywania szablonów i w miejsce daty utworzenia postawić datę publikacji. Zamiast:


<?php if ($this->params->get('show_create_date')) : ?>
<tr>
<td valign="top" class="createdate">
<?php echo JHTML::_('date', $this->article->created, JText::_('DATE_FORMAT_LC2')) ?>
</td>
</tr>
<?php endif; ?>

zastosować


<?php if ($this->params->get('show_create_date')) : ?>
<tr>
<td valign="top" class="createdate">
<?php echo JHTML::_('date', $this->article->publish_up, JText::_('DATE_FORMAT_LC2')) ?>
</td>
</tr>
<?php endif; ?>


Zwiastun - bardzo dziękuję za tę wskazówkę. Na razie jakoś mi to nie chce działać i zastanawiam się gdzie zrobiłem błąd.

1. Znalazłem plik components/com_content/views/article/tmpl/default.php
2. Skopiowałem go do rhuk_milkyway/html/components/com_content/views/article/tmpl/
3. Zmieniłem plik przez podmianę fragmentu kodu

Niestety artykuły po opublikowaniu nadal wyświetlają datę utworzenia.

Czy móglbym liczyć na jakąś dodatkową sugestię? :)

Dziękuję!

P.S. Zmieniłem nawet oryginalny plik w katalogu components/com_content/views/article/tmpl/, ale to też nic nie zmieniło?

zszalbot
30-04-2009, 10:13
Zwiastun - bardzo dziękuję za tę wskazówkę. Na razie jakoś mi to nie chce działać i zastanawiam się gdzie zrobiłem błąd.

1. Znalazłem plik components/com_content/views/article/tmpl/default.php
2. Skopiowałem go do rhuk_milkyway/html/components/com_content/views/article/tmpl/
3. Zmieniłem plik przez podmianę fragmentu kodu

Niestety artykuły po opublikowaniu nadal wyświetlają datę utworzenia.

Czy móglbym liczyć na jakąś dodatkową sugestię? :)

Dziękuję!

P.S. Zmieniłem nawet oryginalny plik w katalogu components/com_content/views/article/tmpl/, ale to też nic nie zmieniło?

I jeszcze jedno - z innego artykułu (http://www.madver.pl/joomla-ciekawe-rozwiazania/template-overrides-struktura-plikow.html) dowiedziałem się, że szablon ma być w templates/nazwaSzablonu/html/com_content/article/ i tam go w końcu umieściłem, ale na nic się to zdało.

zszalbot
30-04-2009, 10:34
I jeszcze jedno - z innego artykułu (http://www.madver.pl/joomla-ciekawe-rozwiazania/template-overrides-struktura-plikow.html) dowiedziałem się, że szablon ma być w templates/nazwaSzablonu/html/com_content/article/ i tam go w końcu umieściłem, ale na nic się to zdało.

Niesamowite ile człowiek może się sam nauczyć jak czeka na odpowiedć i szuka rozwiązania :). Już wiem - publish_up działa, ale dopiero w widoku pojedynczego artykułu. Natomiast nie działa na stronie głównej. Dlatego poszukałem trochę i znalazłem jeszcze katalog frontpage a w nim default_item.php. Zmiana daty created and publish_up rozwiązuje problem.

Zwiastun - bardzo, bardzo serdecznie dziękuję za nakierowanie na rozwiązanie problemu!!!

zszalbot
30-04-2009, 11:12
Niesamowite ile człowiek może się sam nauczyć jak czeka na odpowiedć i szuka rozwiązania :). Już wiem - publish_up działa, ale dopiero w widoku pojedynczego artykułu. Natomiast nie działa na stronie głównej. Dlatego poszukałem trochę i znalazłem jeszcze katalog frontpage a w nim default_item.php. Zmiana daty created and publish_up rozwiązuje problem.

Zwiastun - bardzo, bardzo serdecznie dziękuję za nakierowanie na rozwiązanie problemu!!!

Za szybko odtrąbiłem zwycięstwo... To znaczy wszystko gra, ale artykuły na stronie głównej są sortowane według daty utworzenia. Oczywiście powinny być według daty publikacji. Tymczasowe rozwiązanie to tworzenie artykułów w ten sposó, by data utworzenia była taka sama jak data publikacji. Ciekaw jednak jestem czy to też dałoby się rozwiązać. W plikach default.php jakoś nie widzę takiej opcji. W Joomli też nie, ale mogłem coś przeoczyć...? Dzięki!

zwiastun
30-04-2009, 12:42
no, niestety, to juz głębsze grzebanie i w kodzie, którego nie powinno się modyfikować (bo każda aktualizacja będzie wymagała zmian)