Naturbursche
Neues Mitglied
Hallo
ich entwickel gerade ein Plugin mit dem ich Artikel unter gewissen Umständen aus der Artikelliste bzw. Suche entfernen möchte. Ich habe da an den Hook HOOK_FILTER_INC_GIBARTIKELKEYS gedacht....
Nun wollte ich mal probehalber alle Artikelkeys ungleich 1103 "ausblenden", um zu schauen ob es überhaupt funktioniert wie ich mir das vorstelle.
Mittels unset wollte ich das Element aus dem Array "oArtikelKey_arr" entfernen, aber irgendwie wird das unset ignoriert und der Array bleibt prall gefüllt. Habt ihr eine Idee wie ich die Elemente aus dem Array entfernt bekomme?
Danke!
ich entwickel gerade ein Plugin mit dem ich Artikel unter gewissen Umständen aus der Artikelliste bzw. Suche entfernen möchte. Ich habe da an den Hook HOOK_FILTER_INC_GIBARTIKELKEYS gedacht....
Nun wollte ich mal probehalber alle Artikelkeys ungleich 1103 "ausblenden", um zu schauen ob es überhaupt funktioniert wie ich mir das vorstelle.
Mittels unset wollte ich das Element aus dem Array "oArtikelKey_arr" entfernen, aber irgendwie wird das unset ignoriert und der Array bleibt prall gefüllt. Habt ihr eine Idee wie ich die Elemente aus dem Array entfernt bekomme?
Code:
public function boot(Dispatcher $dispatcher): void
{
parent::boot($dispatcher);
$plugin = $this->getPlugin();
$db = $this->getDB();
$cache = $this->getCache();
$dispatcher->listen('shop.hook.' .\HOOK_FILTER_INC_GIBARTIKELKEYS, function ($args) use ($plugin, $db, $cache) {
if (!empty($args['oArtikelKey_arr'])) {
$customerGroupID = Frontend::getCustomerGroup()->getID();
$defaultOptions = Artikel::getDefaultOptions();
$languageID = Shop::getLanguageID();
$currency = Frontend::getCurrency();
$customerGroup = CustomerGroup::getByID($customerGroupID);
$artikelKeys = $args['oArtikelKey_arr'];
foreach ($artikelKeys as $aKey) {
if ($aKey != 1103) {
unset($artikelKeys[$aKey]);
}
$product = new Artikel($db, $customerGroup, $currency);
$product->fuelleArtikel($aKey, $defaultOptions, $customerGroupID, $languageID);
if ($product->kArtikel > 0) {
}
}
}
});
}
Danke!