< návrat zpět

Diskuse


Téma: Vypis datumu rss

Zaslal/a 25.7.2013 20:08

Zdravím, chtěl bych se zeptat kde v sunlightu bych měl zakomponovat tuto úpravu výpisu datumu (primárně se mi jedná o články a fórum?

http://www.joomlaportal.cz/index.php/clanky-a-novinky/vyvojarske-tipy-a-triky/315-zobrazeni-qdnesq-a-qveraq-misto-data-u-lank

Jedná se úpravu pro joomlu ale do SL to určitě také půjde zakomponovat.

//Hack for showing "Today" and "Yesterday" by Kryštof Korb | Copyright August 2008
$lang = "cz"; //Language en, cz, fr

$today['en'] = 'Today!';
$today['cz'] = 'Dnes!';
$today['fr'] = 'Aujourd\'hui!';
$yesterday['en'] = 'Yesterday';
$yesterday['cz'] = 'Včera';
$yesterday['fr'] = 'Hier';
if ($create_date == mosFormatDate(date("Y-m-d H:i:s", strtotime("now")))) {
$create_date = '<span style="color: red;">' . $today[$lang] . '</span>';
}
if ($create_date == mosFormatDate(date("Y-m-d H:i:s", strtotime("1 day ago")))) {
$create_date = '<span style="color: red;">' . $yesterday[$lang] . '</span>';
}
//End of Today/Yesterday hack

Zaslat odpověď >

Strana:  « předchozí  1 2
#019078
Zdravím, vracím se k prozbě na "Landsmana" s kategoriemi zdali by mi neporadil jak je zakomponovat do articlePreview na stránkách kterých to mám na novou verzi přecházet nebudu neboť již změň je velké množstí.

Děkuji za případné rady
#019079
Zdravím,

použijte kód, který jsem zde posílal.
Na novou verzi rozhodně doporučuji přejít, vyplatí se.
#019080
Určitě bych doporučil udělat si seznam změn a tyto přepsat do extendů, je jen málo věcí které extendem nejdou udělat. A přechod na novou verzi určitě doporučuji, jelikož nikdo z nás se starými verzemi již zabývat nebude, nebudou extendy, nebudou šablony.... a myslím že pokud se sem obrátíš s otázkou, tak ti bude odpovězeno popř. budeš nasměrován jak problém řešit

edit: já mám například na GitHubu statickou OOP třídu pro převod timestampu na slovní časový interval... př: před 3 sekundami, před 2 dny, za 2 měsíce ...

https://github.com/jDanek/TimeInterval/blob/master/TimeInterval.php
#019139
Bohužel použitím kódu který jsi dříve postoval mi nefungoval viz. předešlé příspěvky. To s tím časem mi od tebe fungoval v pohodě dle návodu ale kategorie nikoliv.

Co se týče nové verze vím že přináší spousty nového ale vzhledem k tomu že hodně věcí pluginu atd.. nefungovalo v 7.5.3 a dost večí se zde ani neojevila předělaných ve stažených tak jsem zůstal na 7.5.2 STABLE8 a předělávat vše na to hold nemám zkušenosti a hlavně čas. Ale určitě využiju novou verzi na jiný web.

Jirko D. díky ale co se týče času s tím problém nemám to co již mám od Landsmana mi vyhovuje.
#019142
problem byl v praci s $homes, skript pristupoval k $homes['id'] ktere tam vlastne vubec nebylo, tak jsem vyhodil ten if a nahradil foreachem

cely ten skript je starsiho data a trochu divocina, prepisovat to nebudu... pouze jsem to opravil

<?php

/* --- kontrola jadra --- */

if (!defined('_core'))
{
exit;
}

$GLOBALS['_odd'] = true;

// funkce
function _plugin_articlePreview($art, $info, $perex, $comment_count)
{
global $_odd;

$status = ((true === $_odd) ? "odd" : "even");

$link = _linkArticle($art['id'], $art['title_seo']);

// uprava datumu na dnes, vcara
$my_date = date('d.m.Y', $art['time']); // formatuje i datum pouze na den,mesic, rok

$today = 'Dnes';
$yesterday = 'Včera';
if ($my_date == date('d.m.Y', strtotime("now")))
{
$my_date = '' . $today . '';
}
if ($my_date == date('d.m.Y', strtotime("1 day ago")))
{
$my_date = '' . $yesterday . '';
}

///////////////////////////////////////////////////////////
//dotaz
$article = DB::query_row("SELECT
a.id, a.title_seo, a.home1, a.home2, a.home3
FROM `" . _mysql_prefix . "-articles` a
WHERE a.id= " . DB::val($art['id']));

//zjistit v jakych je kategoriich
$categories = "";
$homes = array();
for ($i = 1; $i <= 3; ++$i)
if ($article['home' . $i] != -1)
$homes[] = $article['home' . $i];
$q = DB::query('SELECT id,title,title_seo,var3 FROM `' . _mysql_prefix . '-root` WHERE id IN(' . implode(',', $homes) . ')');

$homes = array();
$cat_showinfo = false;
while ($r = DB::row($q))
{
if ($r['id'] == $article['home1'])
$homei = 1;
elseif ($r['id'] == $article['home2'])
$homei = 2;
else
$homei = 3;
$homes[$homei] = $r;
if ($r['var3'] == 1)
$cat_showinfo = true;
}

$h=array();
foreach ((array) $homes as $home)
{
if (count($homes) > 0)
{
$h[] = "<a href='" . _linkRoot($home['id'], $home['title_seo']) . "' class='list-category-link category-" . _anchorStr($home['title']) . "'><span>" . $home['title'] . "</span></a>";
}
}


/*for ($i = 1; $i <= 3; ++$i)
{
if (!isset($homes))
continue;
$homes = "<a href='" . _linkRoot($homes['id'], $homes['title_seo']) . "' class='list-category-link category-" . _anchorStr($homes['title']) . "'><span>" . $homes['title'] . "</span></a>";
}*/

$categories .= implode('', $h);
unset($homes,$h);

////////////////////////////////////////////////////////////////

$out = "
<div class='list-article num-{$status}'>
<div class='list-perex-media'>
" . (($perex && isset($art['picture_uid'])) ? "<a href='{$link}'><img src='" . _pictureStorageGet(_indexroot . 'pictures/articles/', null, $art['picture_uid'], 'jpg') . "' class='list-perex-image' alt='{$art['title']}' /></a>" : '') . "
</div>
<h2 class='list-title'><a href='{$link}'>" . _cutStr(_htmlStrUndo($art['title']), 70) . "</a></h2>
" . ($perex ? "<p class='list-perex'>
" . _cutStr(strip_tags(_parsePost(_htmlStrUndo($art['perex']))), 250) . "
</p>" : '') . "
" . ($info ? "<div class='list-info'>
<div class='date'>" . _plugin_articles_formatTime($art['time']) . "</div>
<span class='categories'>" . $categories . "</span>&nbsp;&nbsp;&nbsp;
<span class='comments'><img class='icon' alt='comment' src='./plugins/templates/default/images/icons/comment.gif'></img>" . (isset($comment_count) ? " komentářů {$comment_count}" : '') . "</span>
</div>" : '') . "
</div>
<div class='hr_line'></div>";

if (true === $_odd)
{
$_odd = false;
}
else
{
$_odd = true;
}

return $out;
}

_extend('reg', 'article.preview', function($args) {
$args['callback'] .='_plugin_articlePreview';
});
#019155
Děkuji Jirko D. funguje.
#020431
Rád bych přidal tento extend na web. Ale poslední posledí kód od Jirky vypisuje: Fatal error: Call to undefined function _plugin_articles_formatTime na řádku 95. Víte někdo jak to opravit ?
<div class='date'>" . _plugin_articles_formatTime($art['time']) . "</div>
#020432
Ono to bude tím, že zmíněný kód je pro verzi 7.5.2.8 a do 7.5.3 Shira dělal změny... A kdo ví zda je ten kód celý nebo jen kousek 4
Edit.:
Jsem v práci ale stačilo by asi nahradit za date('j.n.Y G:i', $art['time'])
#020433
$my_date = date('d.m.Y', $art['time']);
Jsem nahradil za
$my_date = date('j.n.Y G:i', $art['time']);

Pořád stejný fatal error.
#020434
No to je v pořádku. Chyba byla přeci na řádku 95!

Strana:  « předchozí  1 2