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
Zdravím,
použijte kód, který jsem zde posílal.
Na novou verzi rozhodně doporučuji přejít, vyplatí se.
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.
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>
<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';
});
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>
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 😕
Edit.:
Jsem v práci ale stačilo by asi nahradit za date('j.n.Y G:i', $art['time'])
$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.
No to je v pořádku. Chyba byla přeci na řádku 95!