-
Varianten abholen
Ich würde gerne die Varianten eines Metamodels abholen.
Ich habe mir gedacht ich mache das pro Item so.
Filtern will ich diese vorerst garnicht.
PHP-Code:
$item = $this->items->getItem();
$filter = new \MetaModels\Filter\Filter($item->getMetaModel());
var_dump($item->getVariants($filter));
// Result: object(MetaModels\Items)#259 (2) { ["intCursor":protected]=> int(-1) ["arrItems":protected]=> array(0) { } }
Was mache ich falsch. Eines der Items hat definitiv eine Variante.
-
Mhh, hat jemand einen kleinen Tipp für mich?
(Sorry fürs drängeln)
Ich stelle mir das so einfach vor, es ist bestimmt noch einfacher.
-
sieht für mich soweit o.k. aus...
lediglich bei dem Filterobjekt bin ich mir unsicher - ggf. mal so probieren wie hier
http://de.contaowiki.org/MetaModels_...ferenced_items
PHP-Code:
...
$objFilter = $objMetaModel->prepareFilter(10, array());
...
-
Hat leider auch nicht geklappt. In der Tabelle sind die Varianten aber richtig vorhanden.
-
... dann teste doch mal die "alte" Variante auf dem ersten Posting
https://github.com/MetaModels/core/issues/237
-
Bei mir funktioniert es so ...
PHP-Code:
$this->items->first()->getItem()->getVariants($this->items->first()->getItem()->getMetaModel()->prepareFilter(10, array()))->parseAll()
-
-
Ja habs nur schnell getestet und rauskopiert ... hier noch ein Einzeiler, der auch funktioniert wenn man einfach alle Varianten des entsprechenden Eintrags haben möchte.
PHP-Code:
$this->items->first()->getItem()->getVariants($this->items->first()->getItem()->getMetaModel()->getEmptyFilter())->parseAll()
-
Okay, super, klappt.
Jetzt habe ich nur noch ein Problem. Ich habe irgendwo eine Liste bei der ich keine Varianten abholen will.
Mittels "Einfache Auswahl" werden Produkte der richtigen Kategorie gewählt.
Ich glaube ich blicke das mit den AND-Filtern im Backend nicht richtig.
HTML-Code:
- Einfache Auswahl
-- AND
--- Einfaches SQL (`varbase` = 0)
Was mache ich falsch?
-
Oder kann man den normale SQL-Filter nicht so verknüpfen?
-
mit den ganzen Einstellungen bin ich auch noch nicht ganz "Gut-Freund" - aber wenn ich xtra richtig verstanden habe, sind die Einträge im Filter per se als "AND" verknüpft...
ggf. mit folgender Variante versuchen:
* Einfache Auswahl
* Eigenes SQL mit varbase=0 und param::filter mit Wert aus der "Einfachen Auswahl"