Produktatikel automatisch anlegen (nach CSV-Import)

Hier kannst du dich vorstellen und Fragen zum Plugin stellen.
Installation, Administration, etc.

Moderator: maennchen1.de

Antworten
ishop
Beiträge: 25
Registriert: 05.01.2017, 14:22
Lizenz: wpShopGermany Pro

Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von ishop »

-- HIer geht es direkt zur Lösung: viewtopic.php?f=13&t=8342#p49755 ---

Hallo noch einmal!
Ich habe noch eine Frage :)
Und war zum Modul Produktartikel. Ich importiere sehr viele Produkte per CSV und möchte nicht jedes Produkt im Backend öffnen und speichern, damit der Link

Code: Alles auswählen

wordpress/warenkorb/?wpsg_action=showProdukt&produkt_id=4
in den Permalink

Code: Alles auswählen

wordpress/artikel/Vierterartikel

umgewandelt wird. Außerdem funktioniert die Suche nach den Artikeln sonst nicht.

Kann man da was machen? Vlt mit einem Cronjob in mysql oder einem Wordpress plugin, dass die custom types automatisch speichert? Könnte so ein Plugin mit den wpsg Prduktartikeln umgehen? Mir würde auch ein Befehl reichen, den ich als Admin irgendwo öfters eingeben kann, damit alle gespeichert werden... Entschuldigt, wenn ich es nicht in der Forensuche gefunden hab und es schon eine Lösung gibt :)
Vielen herzlichen Dank im Voraus!

P.S.: HIer war das auch schonmal in ähnlicher Weise Thema: viewtopic.php?f=13&p=47736#p47736
maennchen1.de hat geschrieben:Hallo!
Du kannst deine Produkte in der Produktverwaltung ex- und wieder importieren.
Ich glaube aber, dass erst beim Speichern des Produktes ein "ProduktArtikel" angelegt wird. Das müsstest du ggf. einmal testen.
Zuletzt geändert von ishop am 22.03.2017, 10:48, insgesamt 1-mal geändert.
ishop
Beiträge: 25
Registriert: 05.01.2017, 14:22
Lizenz: wpShopGermany Pro

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von ishop »

Hallo noch einmal!
Mittlerweile habe ich mich sehr lange damit beschäftigt und herausgefunden, dass mit javascript die Seite auto Speichern lassen kann. Wenn das getan ist, könnte man alle Produktseiten, die zu speichern sind, mit dem http://www.urlopener.com/homepage.html ansteuern.
Das Problem ist aber, dass das window.onload in meinem Javascript nicht ausgeführt wird. Könnte anderes javascript meinen Code blockieren?
dazu habe ich in der addedit.html folgendes Formular hinzugefügt:

Code: Alles auswählen

<form action="submit" name="submit" id="aa5">
    <input type="submit" name="submit" id="aa5"/>
	</form> 
Am Ende der Datei habe ich dann folgende javaFunktion eingefügt:

Code: Alles auswählen

<script type="text/javascript">
<!--
// we have to pause to allow time for the supporting scripts to load, so we'll set a 15 second interval before a form submit
window.onload = function() {
    document.getElementById("aa5").onkeydown=function(){
        //setTimeout(function(){submitForm()},3000);
        submitForm()

    };

    function submitForm(){
        document.getElementById("aa5").submit();

    }

};
//-->
</script>
Auch hiermit funktioniert es nicht:

Code: Alles auswählen

<script>
    window.onload = function() {
        document.getElementById("aa5").submit();
    }
</script>
Vielen Dank!
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17869
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von maennchen1.de »

Hallo!
Du musst bei einem CSV-Import derzeit die Produkte manuell speichern, wenn du das Modul ProduktArtikel verwendest, um sprechende URLs zu erhalten.
Wenn du URLs mit einem externen Tool aufrufen möchtest, bitte doch bitte dessen Support um Hilfe. Ich kann dir nur sagen, dass die Funktion "Produkt speichern" nicht nur ein URL Aufruf ist, sondern es werden Formulardaten versendet und anschließend verarbeitet (gespeichert).
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
ishop
Beiträge: 25
Registriert: 05.01.2017, 14:22
Lizenz: wpShopGermany Pro

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von ishop »

Hallo!
Im Prinzip geht es nur um das automatische Speichern des Produkts auf der Produktseite über Javascript - ist es nicht möglich, das zu integrieren? So könnte man durch Aufruf der verschiedenen Produkt-IDs die Permalinks etc. erzeugen. Ich könnte auch eine Programmieranfrage stellen.
Benutzeravatar
maennchen1.de
Administrator
Beiträge: 17869
Registriert: 14.08.2003, 16:55
Lizenz: wpShopGermany Enterprise
Wohnort: Thüringen, Ellersleben
Kontaktdaten:

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von maennchen1.de »

Natürlich ist das möglich. Wir müssen unsere Aufgaben aber etwas priorisieren.
Selbstverständlich können wir das auch für dich programmieren. Frage einfach ein Angebot an.
Kein Support per PN! Alle Fragen beantworten wir hier im Forum. Per PN bitte nur Passwörter, Namen und URLs - sofern notwendig.
Bitte vor dem posten lesen:
Wie poste ich eine Frage zu einem Problem?
FAQ / häufig gestellte Fragen
Anzeige-Fehler / Funktionsfehler in wpShopGermany erkennen und selbst beheben
PHTML-Dateien richtig verwenden (für eigene Anpassungen)
ishop
Beiträge: 25
Registriert: 05.01.2017, 14:22
Lizenz: wpShopGermany Pro

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von ishop »

Ich habe nun eine eigene Lösung gefunden und stelle sie jetzt hier zur Verfügung.
Meine Veränderung binden einen Timer auf der Produkt-bearbeiten-Seite im Backend ein, der wenn er abläuft, das Produkt automatisch speichert und zurück zur Produkt-verwaltung zw. Produktübersicht geht. Man kann den Timer stoppen, manuell weiterarbeiten und abspeichern. Die Zeit des Timers kann man auch ändern.
Viele Produkte kann man dann damit abspeichern, wenn man sie im Browser in mehreren Tabs öffnet. Dazu benutzt man ein Online-Tool wie z.B.http://www.urlopener.com und trägt dort die URls der Produkte ein, die man bereits über CSV eingebunden, aber noch nicht gespeichert hat, z.B. /wp-admin/admin.php?page=wpsg-Produkt&action=edit&edit_id=1. DIe letzte Ziffer kann man dann je nach Produkt-ID ändern, die man speichern möchte.
Man muss nur ein wenig Code in eine Datei kopieren. Man muss folgende Datei
wp-content/plugins/wpshopgermany/views/produkt/addedit.phtml
kopieren nach:
wp-content/uploads/wpsg/user_views/produkt/addedit.phtml
Darin fügt man in Zeile 152, nach

Code: Alles auswählen

<div class="wrap columns-2 wpsg_produkt_addedit wpsg_product_view" id="wpsg_product_view">
den unten angefügten Code ein.

Code: Alles auswählen

<p style="#progressBar {
  width: 100%;
  margin: 0 auto;
  height: 5px;
  background-color: #6e6e6e;
}

#progressBar div {
  height: 100%;
  text-align: right;
  padding: 0 ;
  line-height: 5px; /* same as #progressBar height if we want text middle aligned */
  width: 0;
  background-color: #ffcf06;
  box-sizing: border-box;
}
#time_wrap{margin:20px 0;}"><input type="button" id="stop-btn" value="Stop" /> Dieses Produkt wird innerhalb von 20 Sekunden automatisch gespeichert. Klicke bitte auf den stop-Button, dann du kannst normal weiterarbeiten und manuell abspeichern.
</p>
<div id="progressBar" style="width: 100%;
  margin: 0 auto;
  height: 5px;
  background-color: #6e6e6e">
  <div style="height: 100%;
  text-align: right;
  padding: 0 ;
  line-height: 5px; /* same as #progressBar height if we want text middle aligned */
  width: 0;
  background-color: #ffcf06;
  box-sizing: border-box;"></div>
</div>
<div id="time_wrap"></div></p>
<script type="text/javascript">
$j=jQuery.noConflict();

progress(20, 20, $j('#progressBar'));
var timer = null;

function progress(timeleft, timetotal, $jelement) {
    var progressBarWidth = timeleft * $jelement.width() / timetotal;
    $jelement.find('div').animate({ width: progressBarWidth }, timeleft == timetotal ? 0 : 1000, 'linear').html('');
        $j('#time_wrap').html('<span id="timer">'+timeleft+'</span>');
    if(timeleft > 0) {
        timer = setTimeout(function() {
            progress(timeleft - 1, timetotal, $jelement);
        }, 1000);
    } else{
        timer = setTimeout(function() {
            $j('#submit_index').click();
        }, 1000);
    }

     //You can use this to bind event only after the timer is set.
     $j('#stop-btn').on('click', function() { 
        clearTimeout(timer);
     });
};

function stoptimer() {
    clearTimeout(timer);
}
</script>
Viel Freude damit! Ich hoffe, es hilft auch anderen Shop Betreibern.
Zuletzt geändert von ishop am 22.03.2017, 10:49, insgesamt 1-mal geändert.
ishop
Beiträge: 25
Registriert: 05.01.2017, 14:22
Lizenz: wpShopGermany Pro

Re: Produktatikel automatisch anlegen (nach CSV-Import)

Beitrag von ishop »

Könnte ein Moderator diesen Thread in viewforum.php?f=12 verschieben? Danke!
Antworten