# Artikel via CSV löschen

**URL:** https://forum.shopware.com/t/artikel-via-csv-loschen/52673
**Category:** Administration
**Created:** [30. April 2018 um 17:15 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673 "2018-04-30T17:15:45Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [30. April 2018 um 17:15 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/1 "2018-04-30T17:15:45Z")

</div>

moin,

hat jemand eine idee bzw. Lösung wie man

mehrere Artikel in einer CSV am besten via Cronjob löschen kann ?

ich habe hier bereits einen Beitrag gefunden

wo das ganze über ein PhP script läuft

welches allerdings für Shopware 4 oder so ist. Das script lässt sich so nicht in der 5er version anwenden. Evtl. hat hier ja jemand eine lösung ??!

&nbsp;

---

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [1. Mai 2018 um 16:34 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/2 "2018-05-01T16:34:30Z")

</div>

du legst unter engine/Shopware/Controllers/Backend eine neue Datei DeleteArticles.php an.

Dort folgender Code:

```
<?php class Shopware_Controllers_Backend_DeleteArticles extends Enlight_Controller_Action
{	
	public function indexAction()
	{
		$this->View()-\>setTemplate(); $articles = array( "NR1", "NR2", "NR3" ); $api = Shopware()-\>Api()-\>Import(); foreach ($articles as $article){ $api-\>sDeleteArticle($article); } } } 

```

Deine Nummern trägst du unter

```
 $articles = array( "NR1", "NR2", "NR3" ); 

```

ein. Also die Liste einfach ergänzen. Man kann das auch total einfach mit CSV machen - nehmen wir an, du hast eine Datei wo es nur die Spalte Ordernumber gibt und alle Artikel aus dieser Datei sollen gelöscht werden.

Aufbau Datei CSV:  
[ordernumber]  
NR1  
NR2  
NR3

Dann würdest du den o.g. Code-Block wie folgt modifizieren.

$articles = explode("\n",file\_get\_contents(dirname(\_\_FILE\_\_)."/delete.csv"));

Die CSV-Datei heißt “delete.csv” und würde ebenfalls im Ordner /Controllers/backend abgelegt.

Aufrufen kannst du das Script dann einfach über den Browser…&nbsp;[http://deinshop.de/backend/DeleteArticles/](http://deinshop.de/backend/DeleteArticles/index)

Jemand eine Idee für Shopware 5.4 ? Das script ist wahrscheinlich für 3.5 gedacht gewesen…

---

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [3. Mai 2018 um 10:32 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/3 "2018-05-03T10:32:13Z")

</div>

Keiner eine Idee ?

---

<div class="post-metadata">

### Author: ![musikdiscount24](https://avatars.discourse-cdn.com/v4/letter/m/ac8455/32.png) [@musikdiscount24](https://forum.shopware.com/u/musikdiscount24)
#### Post date: [9. Mai 2018 um 13:12 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/4 "2018-05-09T13:12:18Z")

</div>

Eine nicht uninteressanter Ansatz. Für eine Lösung würde ich mich auch interessieren!

---

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [9. Mai 2018 um 13:55 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/5 "2018-05-09T13:55:44Z")

</div>

Aber so wie es aussieht, hat hier keiner eine lösung… schade eigentlich. Wo sind denn alle die schlauen köpfe ?

---

<div class="post-metadata">

### Author: ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)
#### Post date: [9. Mai 2018 um 14:25 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/6 "2018-05-09T14:25:43Z")

</div>

Naja, früher gab es kein Plugin-System, da konntest du das so „hacky“ machen. Heute musst du dir dafür ein Plugin schreiben oder ein Script, was die Rest-API nutzt. Was fertiges gibt es da nicht.

Per Rest-API sollte das möglich sein:&nbsp;[REST API - Examples using the article resource](https://developers.shopware.com/developers-guide/rest-api/examples/article/#example-4-delete-a-product)

Musst du dir noch ein Script schreiben, was die CSV einliest und dann die Requests an Shopware schickt.

---

<div class="post-metadata">

### Author: ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)
#### Post date: [9. Mai 2018 um 15:31 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/7 "2018-05-09T15:31:51Z")

</div>

Hab mir das mal angesehen. Geht sicherlich schöner, denn ich bin kein Programmierer, funktioniert aber:&nbsp;

> <https://gist.github.com/mnaczenski/4cc684ecaaeeaf773ddde07f28a0da2c>

Der API-Client ist aus unserer Doku. Im Script sollte der Name der CSV-Datei geändert werden und die korrekten Rest-API Daten hinterlegt werden.&nbsp;Die Dateien sollte man ggf. noch vor Zugriff schützen.&nbsp;Das Script macht nichts anderes als jede Zeile der CSV an die API zu feuern und dort ein Delete auszuführen. Ich denke bei einer großen Menge an Artikeln, kann das Probleme machen, aufgrund der Scriptlaufzeit. Als Beispiel aber denke ich geeignet.

&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [9. Mai 2018 um 17:49 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/8 "2018-05-09T17:49:51Z")

</div>

Vielen Dank für die Hilfe ! Das bringt einen ja schon ein bisschen weiter 🙂

---

<div class="post-metadata">

### Author: ![MenStuff](https://avatars.discourse-cdn.com/v4/letter/m/34f0e0/32.png) [@MenStuff](https://forum.shopware.com/u/MenStuff)
#### Post date: [21. Juli 2018 um 18:02 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/9 "2018-07-21T18:02:51Z")

</div>

Leider funktioniert das Script nicht… hat irgend jemand einen Tip ? Muss doch möglich sein Artikel anhand einer CSV zu löschen.  
Bzw. zu programieren. Leider bin ich kein Programierer, sonst hätte ich das wahrscheinlich schon gebatelt.

Wäre ganz cool wenn jemand helfen könnte !&nbsp;

---

<div class="post-metadata">

### Author: ![wepi](https://avatars.discourse-cdn.com/v4/letter/w/58f4c7/32.png) [@wepi](https://forum.shopware.com/u/wepi)
#### Post date: [21. Februar 2019 um 18:32 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/10 "2019-02-21T18:32:43Z")

</div>

Leider a bisserl spät für MenStuff, aber ich hab’ das Script gerade ausprobiert und konnte damit 6000 Daensätze löschen (Laufzeit ca. 10 Minuten). Es funktioniert also schon. ![Thumb-Up](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/7fcda44f782696668a3d093569d15e88105769e1.png "Thumb-Up")

---

<div class="post-metadata">

### Author: ![Kevin357](https://avatars.discourse-cdn.com/v4/letter/k/b3f665/32.png) [@Kevin357](https://forum.shopware.com/u/Kevin357)
#### Post date: [16. August 2019 um 15:47 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/11 "2019-08-16T15:47:26Z")

</div>

@wepi‍ : hast du das Script von github unverändert übernommen oder noch Änderungen daran vorgenommen, da mir bei „function getArticleID($ordernumber)“ immer ein Fehler angezeigt wird?  
&nbsp;

---

<div class="post-metadata">

### Author: ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)
#### Post date: [16. August 2019 um 16:31 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/12 "2019-08-16T16:31:59Z")

</div>

Was für einen Fehler denn?

---

<div class="post-metadata">

### Author: ![Kevin357](https://avatars.discourse-cdn.com/v4/letter/k/b3f665/32.png) [@Kevin357](https://forum.shopware.com/u/Kevin357)
#### Post date: [16. August 2019 um 17:40 UTC](https://forum.shopware.com/t/artikel-via-csv-loschen/52673/13 "2019-08-16T17:40:38Z")

</div>

Hallo Moritz,

folgender Fehler wird mir beim Ausführen angezeigt:

**Fatal error** : Cannot redeclare getArticleID() (previously declared in /var/www/clients/client1/web4/web/engine/Shopware/Controllers/Backend/DeleteArticles.php:43) in&nbsp; **/var/www/clients/client1/web4/web/engine/Shopware/Controllers/Backend/DeleteArticles.php** &nbsp;on line&nbsp; **43**
