<?php
include_once $smarty->get_template_vars('parent_template_path').'php/functions.php';
$smarty->registerPlugin('function', 'get_myproduct_list', 'get_myproduct_list');
/**
* @param array $params
* @param JTLSmarty $smarty
* @return array
*/
function get_myproduct_list($params, &$smarty)
{
if(!isset($_SESSION['Usersortierung'])) {
$_SESSION['Usersortierung'] = 100;
}
$Usersortierung = $_SESSION['Usersortierung'];
$_SESSION['Usersortierung'] = 100;
$nLimit = isset($params['nLimit'])
? (int)$params['nLimit']
: 10;
$nSortierung = isset($params['nSortierung'])
? (int)$params['nSortierung']
: 0;
$cAssign = (isset($params['cAssign']) && strlen($params['cAssign']) > 0)
? $params['cAssign']
: 'oCustomArtikel_arr';
$cMerkmalFilter_arr = isset($params['cMerkmalFilter'])
? setzeMerkmalFilter(explode(';', $params['cMerkmalFilter']))
: null;
$cSuchFilter_arr = isset($params['cSuchFilter'])
? setzeSuchFilter(explode(';', $params['cSuchFilter']))
: null;
$cTagFilter_arr = isset($params['cTagFilter'])
? setzeTagFilter(explode(';', $params['cTagFilter']))
: null;
$cParameter_arr = [
'kKategorie' => isset($params['kKategorie']) ? $params['kKategorie'] : null,
'kHersteller' => isset($params['kHersteller']) ? $params['kHersteller'] : null,
'kArtikel' => isset($params['kArtikel']) ? $params['kArtikel'] : null,
'kVariKindArtikel' => isset($params['kVariKindArtikel']) ? $params['kVariKindArtikel'] : null,
'kSeite' => isset($params['kSeite']) ? $params['kSeite'] : null,
'kSuchanfrage' => isset($params['kSuchanfrage']) ? $params['kSuchanfrage'] : null,
'kMerkmalWert' => isset($params['kMerkmalWert']) ? $params['kMerkmalWert'] : null,
'kTag' => isset($params['kTag']) ? $params['kTag'] : null,
'kSuchspecial' => isset($params['kSuchspecial']) ? $params['kSuchspecial'] : null,
'kKategorieFilter' => isset($params['kKategorieFilter']) ? $params['kKategorieFilter'] : null,
'kHerstellerFilter' => isset($params['kHerstellerFilter']) ? $params['kHerstellerFilter'] : null,
'nBewertungSterneFilter' => isset($params['nBewertungSterneFilter']) ? $params['nBewertungSterneFilter'] : null,
'cPreisspannenFilter' => isset($params['cPreisspannenFilter']) ? $params['cPreisspannenFilter'] : null,
'kSuchspecialFilter' => isset($params['kSuchspecialFilter']) ? $params['kSuchspecialFilter'] : null,
'nSortierung' => $nSortierung,
'MerkmalFilter_arr' => $cMerkmalFilter_arr,
'TagFilter_arr' => $cTagFilter_arr,
'SuchFilter_arr' => $cSuchFilter_arr,
'nArtikelProSeite' => isset($params['nArtikelProSeite']) ? $params['nArtikelProSeite'] : null,
'cSuche' => isset($params['cSuche']) ? $params['cSuche'] : null,
'seite' => isset($params['seite']) ? $params['seite'] : null
];
if ($cParameter_arr['kArtikel'] !== null) {
$oArtikel_arr = [];
if (!is_array($cParameter_arr['kArtikel'])) {
$cParameter_arr['kArtikel'] = [$cParameter_arr['kArtikel']];
}
foreach ($cParameter_arr['kArtikel'] as $kArtikel) {
$article = new Artikel();
$article->fuelleArtikel($kArtikel, Artikel::getDefaultOptions());
$oArtikel_arr[] = $article;
}
} else {
// Filter
$NaviFilter = Shop::buildNaviFilter($cParameter_arr);
if (isset($NaviFilter->Suche->cSuche) && strlen($NaviFilter->Suche->cSuche) > 0) {
$NaviFilter->Suche->cSuche = StringHandler::filterXSS($NaviFilter->Suche->cSuche, 1);
$NaviFilter->Suche->kSuchCache = bearbeiteSuchCache($NaviFilter);
}
// Artikelattribut
if (isset($cParameter_arr['cArtAttrib']) && strlen($cParameter_arr['cArtAttrib']) > 0) {
$NaviFilter->ArtikelAttributFilter->cArtAttrib = $cParameter_arr['cArtAttrib'];
}
//Filter SQLs Objekte
$FilterSQL = bauFilterSQL($NaviFilter);
// Artikelliste
$oArtikel_arr = gibArtikelKeys($FilterSQL, $nLimit, $NaviFilter, true, null);
}
$_SESSION['Usersortierung'] = $Usersortierung;
$smarty->assign($cAssign, $oArtikel_arr);
if (isset($params['bReturn'])) {
return $oArtikel_arr;
}
}
}