ACC SHELL
<?php
/*
* Sablona pro view katalog.default
*/
?>
<div <?php echo CLASS_OBSAH; ?>>
<div class="content_top">
<?php include(ROOT . '/www/template/content_top.php'); ?>
</div>
<div class="content_inner">
<?php
echo '<h1>' . $SEO_NAZEV . '</h1>';
if (!empty($OBSAH_SABLONY))
{
echo $OBSAH_SABLONY;
}
?>
<div class="katalog">
<?php
$Katalog = new Katalog();
$all_cat = dibi::query('SELECT id FROM kategorie WHERE lft>=%i', $Sablona->lft, 'AND rgt<=%i', $Sablona->rgt)->fetchAssoc('id');
//$k['id_kategorie'] = $all_cat;
$k['lang'] = LANGUAGE;
$k['varianty'] = 0;
$k['stav'] = 1;
$numOfCategories = count($all_cat);
$categoryCounter = 0;
foreach ($all_cat as $key => $categoryId)
{
$categoryCounter++;
$k['id_kategorie'] = array($key => $categoryId);
$polozky = $Katalog->fetchAll($k);
$productCounter = 0;
$numOfItems = count($polozky);
//NDebugger::dump($categoryCounter);
if ($polozky)
{
?>
<div class = "katalog_block <?php echo $categoryCounter == $numOfCategories ? 'last' : false; ?>">
<div class = "title"><?php echo html_entity_decode($polozky[0]['seo_nazev_kategorie']); ?></div>
<?php
foreach ($polozky as $polozka)
{
//NDebugger::dump($polozka);exit;
$masterProduktSkladCelkem = $polozka->sklad;
$cenaOd = null;
if ($polozka->doplnek == 0)
{
$parametrHmotnost = null;
$parametry = $F->fetchParams($polozka->id_produktu);
//counter + Default size potrebuju pro zobrazeni nazvu v jcart
$counter = 0;
foreach ($parametry as $p)
{
if ($p->varianty == 1)
{
$parametrHmotnost[str_replace(',', '.', $p->nazev_hodnoty)] = array('id_katalog' => $p->id_katalog, 'hmotnost' => $p->nazev_hodnoty, 'sklad' => $p->sklad, 'cena' => $p->cena);
$masterProduktSkladCelkem += $p->sklad;
}
$params[$p->id][] = $p;
}
ksort($parametrHmotnost, SORT_ASC);
foreach ($parametrHmotnost as $value)
{
//$cenaOdTmp = ceil($value['cena'] / str_replace(',', '.', $value['hmotnost']));
$cenaOdTmp = $value['cena'];
$cenaOd = isset($cenaOd) && $cenaOd < $cenaOdTmp ? $cenaOd : $cenaOdTmp;
//NDebugger::dump($cenaOdTmp);NDebugger::dump($cenaOd);
}
} else
{
$cenaOd = money($polozka->akcniZbozi == 'ano' ? $polozka->akcni_cena : $polozka->cena, 0);
}
$productCounter++;
$obrazek = null;
$foto_big = null;
if ($polozka->obrazek2 != null && file_exists(ROOT . KATALOG_F_S_PATH . $polozka->obrazek2))
{
$obrazek = KATALOG_F_S_PATH . $polozka->obrazek2;
$foto_big = KATALOG_F_M_PATH . $polozka->obrazek;
}
$class = $productCounter % 2 == 0 ? 'second' : '';
$odkaz = $polozka->url_kategorie . '/' . $polozka->url . '.html';
$odkaz = KATALOG_ITEM_PREFIX . $polozka->url . '.html';
$dnesniDatum = $date = date('Y-m-d H:i:s');
$polozka->nazev = html_entity_decode($polozka->nazev);
$cena = money($polozka->akcniZbozi == 'ano' ? $polozka->akcni_cena : $polozka->cena, 0);
?>
<div class="produkt <?php echo $class; ?>">
<div class="info">
<a style="color:<?php echo $polozka->barvanadpisu; ?>" class="name" href="/<?php echo $odkaz; ?>" title="<?php echo $polozka->nazev; ?>"><?php echo $polozka->nazev; ?></a>
<div class="popis"><?php echo html_entity_decode($polozka->anotace); ?></div>
<img src="/www/img/rating.png" alt="4* rating">
<h3>cena <?php if ($polozka->doplnek == 0) echo 'od'; ?> <?php echo $cenaOd; ?>,- Kč</h3>
<a href="/<?php echo $odkaz; ?>" title="Detail produktu <?php echo $polozka->nazev; ?>" class="more">Detail produktu</a>
</div>
<div class="pic">
<a href="/<?php echo $odkaz; ?>" title="<?php echo $polozka->nazev; ?>"><img src='<?php echo $obrazek; ?>' /></a>
</div>
<div class="clear"></div>
</div>
<?php
}
?>
<div class="clear"></div>
</div>
<?php
}
}
?>
</div>
</div>
<div class="banner_bottom">
<?php echo $globalText['KategorieBannerSensiBites']; ?>
</div>
<div class="content_bottom">
<?php include(ROOT . '/www/template/content_bottom.php'); ?>
</div>
<?php include(ROOT . '/www/template/banery.php'); ?>
</div>
<?php
return;
$Katalog = new Katalog();
include_once(ROOT . '/template/navigace/drobeckova_navigace.php');
include(ROOT . '/template/messages.php');
echo '<h1>' . $SEO_NAZEV . '</h1>';
echo '<div class="clear"></div>';
if (!empty($OBSAH_SABLONY))
{
$str = str_split_unicode($OBSAH_SABLONY, 200);
echo '<p>';
echo $str[0];
if (count($str) > 1)
{
//echo count($str);
echo '<a class="katalogMore"> ..více</a>';
echo '<span class="hidden">';
for ($i = 1; $i < count($str); $i++)
{
echo $str[$i];
}
echo '</span>';
}
echo '</p>';
}
$url = parse_url($_SERVER['REQUEST_URI']);
if (isset($url['query']))
{
parse_str($url['query'], $params);
} else
{
$params['nazev'] = false;
}
//ndebugger::dump($url);ndebugger::dump($params);
//unset($params['sh']);
//Pokud mam nastavene sortovani podle nazev, tak podrzet
$orderByNazevAsc = 'ord-top';
$orderByNazevDesc = 'ord-bottom';
$orderByHodnoceniAsc = 'ord-top';
$orderByHodnoceniDesc = 'ord-bottom';
$orderByCenaAsc = 'ord-top';
$orderByCenaDesc = 'ord-bottom';
if (!isset($params['sh']))
{
$params['sh'] = 'desc';
}
if (array_key_exists('seradit', $params))
{
switch ($params['seradit'])
{
case 'nazev':
$orderByNazevAsc .= $params['sh'] == 'asc' ? '-active' : false;
$orderByNazevDesc .= $params['sh'] == 'desc' ? '-active' : false;
break;
case 'hodnoceni':
$orderByHodnoceniAsc .= $params['sh'] == 'asc' ? '-active' : false;
$orderByHodnoceniDesc .= $params['sh'] == 'desc' ? '-active' : false;
break;
case 'cena':
$orderByCenaAsc .= $params['sh'] == 'asc' ? '-active' : false;
$orderByCenaDesc .= $params['sh'] == 'desc' ? '-active' : false;
break;
}
}
/**
* Strankovani a defaultni pocet zaznamu na stranku
*/
if (isset($_POST['pocetZaznamuNaStranku']))
{
$_SESSION['pocetZaznamuNaStranku'] = $_POST['pocetZaznamuNaStranku'];
} else
{
$_SESSION['pocetZaznamuNaStranku'] = isset($_SESSION['pocetZaznamuNaStranku']) ? $_SESSION['pocetZaznamuNaStranku'] : 60;
}
$Katalog->pagesize = $_SESSION['pocetZaznamuNaStranku'];
//NDebugger::dump($_GET);
?>
<div class="product-list-comp">
<div class="filter">
<div class="col">
<form method="get" name="zobrazitTyp" action="">
<?php
$zobrazitTyp = '';
if (isset($_GET['zobrazitTyp']))
{
$_SESSION['zobrazitTyp'] = $_GET['zobrazitTyp'];
if ($_GET['zobrazitTyp'] == 'novinky' || $_GET['zobrazitTyp'] == 'akce')
{
$zobrazitTyp = '&zobrazitTyp=' . $_GET['zobrazitTyp'];
}
} else
{
$_SESSION['zobrazitTyp'] = isset($_SESSION['zobrazitTyp']) ? $_SESSION['zobrazitTyp'] : 'vse';
}
if ($_SESSION['zobrazitTyp'] == 'novinky' || $_SESSION['zobrazitTyp'] == 'akce')
{
$zobrazitTyp = '&zobrazitTyp=' . $_SESSION['zobrazitTyp'];
}
?>
<p>Zobrazit:</p>
<select name="zobrazitTyp" onChange="this.form.submit();" id="select">
<option value="" <?php echo $_SESSION['zobrazitTyp'] == 'vse' ? 'selected' : ''; ?>>Vše</option>
<option value="novinky" <?php echo $_SESSION['zobrazitTyp'] == 'novinky' ? 'selected' : ''; ?>>Novinky</option>
<option value="akcni" <?php echo $_SESSION['zobrazitTyp'] == 'akcni' ? 'selected' : ''; ?>>Akční zboží</option>
</select>
<!--<input type="hidden" name="url" value="" />-->
<div class="clear"></div>
</form>
</div>
<div class="col" style="width: 700px;">
<p>Filtrovat dle:</p>
<?php Query::buildHtmlElementFiltersSablona($Sablona->main_id, $_GET); ?>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<ul class="order">
<li>Seřadit dle:</li>
<li>Názvu zboží <a href="?seradit=nazev&sh=desc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByNazevDesc; ?>"></a> <a href="?seradit=nazev&sh=asc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByNazevAsc; ?>"></a></li>
<li>Ceny <a href="?seradit=cena&sh=desc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByCenaDesc; ?>"></a> <a href="?seradit=cena&sh=asc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByCenaAsc; ?>"></a></li>
<li>Hodnocení <a href="?seradit=hodnoceni&sh=desc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByHodnoceniDesc; ?>"></a> <a href="?seradit=hodnoceni&sh=asc<?php echo $zobrazitTyp; ?>" title="order" class="<?php echo $orderByHodnoceniAsc; ?>"></a></li>
</ul>
<ul class="product-list">
<?php
$par = Query::searchForParamsFromUrl($_GET);
//NDebugger::dump($par);
if (isset($par))
{
$count = 0;
$id_produktu = false;
if (!empty($par))
{
//Pro kazdy parametr zadany v url ..
foreach ($par as $p)
{
// .. pokud ma hodnotu
if (!empty($p['id_hodnoty_parametru']))
{
if ($count == 0)
{
// v prvnim kroku ziskam id
//dibi::test('SELECT distinct(id_produktu) FROM katalog_parametry WHERE id_hodnoty_parametru = %i', $p['id_hodnoty_parametru']);
$ids = dibi::query('
SELECT distinct(a.id_produktu)
FROM katalog_parametry a, katalog_popis b
WHERE a.id_katalog = b.id AND b.sklad>0 AND a.id_hodnoty_parametru = %i', $p['id_hodnoty_parametru'])->fetchAssoc('id_produktu');
//WHERE a.id_katalog = b.id AND a.id_hodnoty_parametru = %i', $p['id_hodnoty_parametru'])->fetchAssoc('id_produktu');
} else
{
if (isset($ids))
{
$ids = dibi::query('
SELECT distinct(a.id_produktu)
FROM katalog_parametry a, katalog_popis b
WHERE a.id_katalog = b.id
AND b.sklad>0
AND a.id_produktu IN %in', $ids, '
AND a.id_hodnoty_parametru = %i', $p['id_hodnoty_parametru'])->fetchAssoc('id_produktu');
//AND b.sklad>0
}
}
//NDebugger::dump($ids);
$count++;
//$k['ids'][] = $p['id_hodnoty_parametru'];
if (!isset($ids))
$ids[] = 0;
}
}
}
}
//NDebugger::dump($ids);
if (isset($ids))
{
$k['ids'] = $ids;
}
$all_cat = dibi::query('SELECT id FROM kategorie WHERE lft>=%i', $Sablona->lft, 'AND rgt<=%i', $Sablona->rgt)->fetchAssoc('id');
$k['id_kategorie'] = $all_cat;
$k['lang'] = LANGUAGE;
if (isset($_GET['seradit']))
{
$availSort = array('nazev', 'cena', 'hodnoceni');
if (in_array($_GET['seradit'], $availSort))
{
$k['sort'] = $_GET['seradit'];
//sh = sort how (asc, desc)
$k['sort_how'] = isset($_GET['sh']) && $_GET['sh'] == 'desc' ? 'DESC' : 'ASC';
}
}
$k['varianty'] = 0;
//$k['musi_mit_varianty'] = true;
//$k['limit'] = $_SESSION['pocetZaznamuNaStranku'];
//Zobrazit vsechno zbozi, novinky nebo akce ..
$k['zobrazitTyp'] = $_SESSION['zobrazitTyp'];
$k['stav'] = 1;
$polozky = $Katalog->fetchAll($k);
$counter = 1;
//NDebugger::dump($polozky);exit;
if ($polozky)
{
foreach ($polozky as $polozka)
{
$obrazek = null;
$foto_big = null;
if ($polozka->obrazek != null && file_exists(ROOT . KATALOG_F_M_PATH . $polozka->obrazek))
{
$obrazek = KATALOG_F_M_PATH . $polozka->obrazek;
$foto_big = KATALOG_F_M_PATH . $polozka->obrazek;
}
$class = $counter % 4 == 0 ? ' class="last-in-row ' . $class . '"' : '';
$odkaz = $polozka->url_kategorie . '/' . $polozka->url . '.html';
$dnesniDatum = $date = date('Y-m-d H:i:s');
$polozka->nazev = html_entity_decode($polozka->nazev);
$cena = money($polozka->akcniZbozi == 'ano' ? $polozka->akcni_cena : $polozka->cena, 0);
?>
<li<?php echo $class; ?>>
<h2><a href="/<?php echo $odkaz; ?>" title="<?php echo $polozka->nazev; ?>"><?php echo $polozka->nazev; ?></a>
<?php
if ($polozka->akcniZbozi == 'ano')
{
echo '<span class="dot action">Akce</span>';
}
if ($polozka->novinka == 1)
{
echo '<span class="dot new">Novinka</span>';
}
?>
</h2>
<div class="pic">
<?php
if ($foto_big)
{
echo '<a href="/' . $odkaz . '" title="' . $polozka->nazev . '"><img src="' . $obrazek . '" alt="' . $polozka->nazev . '" /></a>';
}
?>
<span><?php echo $cena; ?>,- Kč</span>
</div>
<p class="more"><a href="/<?php echo $odkaz; ?>" title="Více informací">Více informací</a></p>
</li>
<?php
$counter++;
}
} else
{
echo 'Vašemu filtru nevyhovuje žádná položka';
}
?>
</ul>
<div class="filter">
<div class="col">
<form method="post" name="pocetZaznamu" action="">
<p>Zobrazit:</p>
<select name="pocetZaznamuNaStranku" onChange="this.form.submit();" id="select">
<option value="12" <?php echo $_SESSION['pocetZaznamuNaStranku'] == 12 ? 'selected' : ''; ?>>12</option>
<option value="24" <?php echo $_SESSION['pocetZaznamuNaStranku'] == 24 ? 'selected' : ''; ?>>24</option>
<option value="36" <?php echo $_SESSION['pocetZaznamuNaStranku'] == 36 ? 'selected' : ''; ?>>36</option>
<option value="48" <?php echo $_SESSION['pocetZaznamuNaStranku'] == 48 ? 'selected' : ''; ?>>48</option>
<option value="60" <?php echo $_SESSION['pocetZaznamuNaStranku'] == 60 ? 'selected' : ''; ?>>60</option>
</select>
<input type="hidden" name="url" value="" />
<div class="clear"></div>
</form>
</div>
<div class="col" style="width: 700px;">
<div class="pagination">
<?php
echo pageLinks($Katalog->totalpages, $Katalog->currentpage, $Katalog->pagesize, "recordstart", "katalog");
?>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
ACC SHELL 2018