Wir holen uns über:
Shopware()-\>Modules()-\>Articles()-\>sGetArticleById($articleID);
einen Artikel. Das Problem ist nun, dass wenn der Artikel gelöscht wurde, uns diese Abfrage dann einen Fehler auswirft.
Gibt es hierfür noch eine elegantere Methode?
Es gibt ein paar Möglichkeiten:
1.) try/catch
try {
$article = Shopware()->Modules()->Articles()->sGetArticleById(...);
} catch (\Exception $ex) {
// ...
}
-
Über die repo
$repo = $this->container->get(‚models‘)->getRepository(\Shopware\Models\Article\Article::class); // oder die detail
$article = $repo->find($id); // bzw finyOneBy per ordernumber
if (empty($article)) {
// article nicht gefunden …
}
-
Über die ListProductSerice / ProductService
… und bestimmt noch einige mehr. bitte ergänzen
1 „Gefällt mir“
Super, vielen Dank dir, dann haben wir hier für andere, die auch nach einer Lösung suchen ein paar Möglichkeiten