Beiträge von Overtone

    Ich arbeite gerade an einer Schnittstelle um Artikel-Eigenschaften zu importieren.
    Erstellt man Diese auf dem üblichen Wege über die Produkt-Verwaltung im Admin wird in der Datenbanktabelle _postmeta ein Datensatz mit der ID des Produkts in der Spalte post_id, dem Key "_product_attributes" in der Spalte meta_key sowie der entsprechenden value in der Spalte meta_value (beispielsweise "a:22:{s:13:"Artikelnummer";a:6:{s:4:"name";s:13:"Artikelnummer";s:5:"value" ...")! Kopiere ich einen solchen Datensatz direkt im phpMyAdmin und ändere lediglich die ID des Produkts in der Spalte post_id, um damit die identischen Eigenschaften einem anderen Produkt zuzuweisen, erscheinen diese aber nicht im Frontend. Somit muss irgendwo anders in der Datenbanktabelle ein weiterer Wert gespeichert werden, welcher die Darstellung im Frontend erst frei gibt! Programmiertechnisch gesehen werden die Eigenschaften zu diesem weiteren Produkt NICHT gefunden!

    Hat irgend jemand schon einmal mit den Artikel-Eigenschaften experimentiert und weiß dazu vielleicht den entscheidenden Hinweis?

    Hallo zusammen,

    ich habe seit einiger Zeit (also offensichtlich im Zusammenhang mit den Wordpress- und WooCommerce-Updates der letzten Wochen) folgendes Problem:
    Ich habe diverse Artikel mit Variationen zum Beispiel: http://www.woo.billard-dienst.de/shop/pool-bill…h-sedona-7-fuss

    Hier seht ihr allerdings jeweils nur die Standard-Auswahl "Wähle eine Ausführung", obwohl beim Selectfeld "Abdeckplatte" zwei und beim Selectfeld "Versand" fünf Werte hinterlegt sind. Diese sind auch im Quelltext komplett sichtbar und beispielsweise im Firbug nicht. Somit werden diese auch keineswegs per CSS ausgeblendet. Hier stellt sich für mich die prinzipielle Frage: Wie ist das denn HTML-mäßig technisch überhaupt möglich?

    Ein Fehler am Theme ist ebenfalls ausgeschlossen, da ich natürlich bereits ein anderes Standard-Theme getestet habe!
    Diverse Plugins habe ich auch schon testweise deaktiviert und erneut getestet, leider ebenfalls ohne Erfolg!

    P. S. Falls ihr keine superschnelle Internet-Verbindung habt könnt ihr sogar folgendes fest stellen:
    Klickt man unmittelbar nach dem Erscheinen der Selectfelder auf eines der beiden Felder (die Seite ist also noch nicht vollständig geladen) erscheinen kurz die hinterlegten Werte um anschließend ins Nirvana zu verschwinden!

    Hat irgend jemand auch nur eine grobe Ahnung an was das liegen kann?

    Durch den Thread hier bin ich gerade auf die Lösung gekommen: http://forum.wpde.org/plugins-und-wi…h-verlinkt.html

    In der Datenbanktabelle wp_options stand bei dem option_name "rewrite_rules" einige Male "produkt-kategorie" statt "produktkategorie". Nachdem ich das geändert hatte funktionierte das Frontend wieder ohne Fehler. In meiner letzten Datenbank-Sicherung kam dieser Fehler noch nicht vor. Hier steht ordnungsgemäß immer "produktkategorie".

    Weiß jemand wo man das im Admin einstellen kann?

    Unter http://www.woo.billard-dienst.de führen alle Kategorieaufrufe zu einer weißen Seite beginnend mit "Leider nichts gefunden hier". Folgendes habe ich bereits testweise geändert bzw. geprüft:
    Kategorienamen
    Kategorie-Permalink
    Menüpunkt
    Produktzuordnung zur Kategorie
    Struktur der Permalinks unter "Wordpress - Einstellungen"

    Jeder Artikel lässt sich über die Suche finden und auch aufrufen. Auch hier erscheint der übergeordnete Kategoriename korrekt. Sobald man den aber über den Breadcrumb aufruft erscheint wieder die leere Kategorieseite. Auch die Kategoriebeschreibung selbst wird auf dieser leeren Kategorieseite nicht angezeigt.

    Hallo Monika,

    ja habe ich. Das hatte ich auch in meinem vorletzten Kommentar erwähnt. Nachdem ich jetzt aber in meiner neuen XAMPP-Test-Installation nach und nach die Plugins der Live-Webseite installiert habe ist mir die Lösung gelungen. Es lag an folgendem Plugin:

    WooCommerce Deutsch (de_DE) von David Decker

    Dieses Plugin lädt tatsächlich die Übersetzungsdateien vom Server http://translate.wpautobahn.com. Alles was man jetzt in der eigenen WooCommerce-Sprachdatei mit Loco oder Poedit ändert wird nicht berücksichtigt. Nachdem ich es auf der Live-Webseite deaktiviert hatte wurde sofort meine Übersetzung "Auf Anfrage" angezeigt. Auch lädt die Webseite jetzt deutlich schneller (mind. 3 mal so schnell als zuvor!), da diedser externe Zugriff nicht mehr notwendig ist, wodurch doch offensichtlich starker zusätzlicher Traffic bei vermutlich nicht starker Anbindung des Servers von wpautobahn.com entstand.

    Ich möchte mich trotz allem Unmut den ich hier vermutlich verbreitet habe bei allen für die Unterstützung und auch die Kritik bedanken.

    Gruß Overtone

    Ich habe jetzt einmal Wordpress deutsch neu installiert und als Plugin WooCommerce und Loco Translate. Für das WooCommerce habe ich noch die deutsche Sprachdatei geladen, den besagten "kostenlosen" Artikel angelegt und mittels Loco Translate das Wort "Kostenlos!" in "Auf Anfrage" übersetzt und im Frontend aufgerufen. Alles funktioniert erwartungsgemäß einwandfrei.

    Es hat also weder etwas mit meiner Server-Umgebung oder XAMPP oder meinen Kenntnissen zu tun. Es ist, wie bereits mehrfach erwähnt, äußerst banal, aber es funktioniert eben in meinem Live-System nicht. Dieses findet ihr übrigens hier (sorry, hatte vor lauter Rage wohl vergessen den Link zu posten): http://www.woo.billard-dienst.de ! Hier muss irgendwo ein Fehler sein! Wie bereits erwähnt arbeiten wir daran (natürlich nicht am Stück) seit über einem Jahr und es wären doch zahlreiche Änderungen durchzuführen um eben alles neu aufzusetzen, von den knapp 1.000 Produkten mit unzähligen Variationen, sowie mehreren tausend Kunden und alten Bestellungen. Diese wurden mit dem kostenpflichtigen Anbieter Cart2Cart aus dem alten XT-Commerce importiert. (P. S. Diesen Anbieter kann ich übrigens uneingeschränkt empfehlen. Der Transfer hat hervorragend funktioniert)

    Wie würdet ihr jetzt weiter vorgehen?

    Entweder drücke ich mich undeutlich aus oder ihr interpretiert hier etwas anderes rein. Ich möchte hier auch nicht unfreundlich wirken! Also mache ich noch einmal eine kurze Auflistung der Problematik:

    1. Ich habe ein Wordpress mit dem Plugin WooCommerce installiert
    2. Ich habe das Wordpress auf Deutsch umgestellt und die deutschen Wordpress und WooCommerce-Sprachdateien hinterlegt. Diese werden ja auch von Loco Translate ordnungsgemäß gefunden und können damit auch problemlos bearbeitet werden.
    3. Auch die Bearbeitung mit Poedit habe ich getestet und die *.po- und *.mo-Dateien per FTP ersetzt. Auch das funktioniert problemlos.
    4. Im Frontend ändert sich nichts!
    5. An Plugins oder anderen Wordpress-Codeteilen habe ich noch nichts weltbewegendes weiter entwickelt oder angepasst.
    6. Das von mir hier gepostete Wort "Kostenlos!" ist eindeutig in der WooCommerce-Sprachdatei und nirgends im System hart übersetzt. Es haben hier ja auch bereits einige Leute das freundlicherweise in ihrem System erfolgreich getestet!

    Das war alles, mehr ist es nicht! Eigentlich sollte es dafür doch eine banale Erklärung geben, oder? Ich habe mir jetzt aber noch folgende Gedanken gemacht:

    1. Ist vielleicht bei einem Wordpress-Update etwas schief gegangen? Das ist übrigens bei fast allen anderen Systemen gang und gebe, dass da mal was schief läuft, egal ob das Joomla, Drupal, XT-, Oxid oder Magento ist. Ohne vorherige Datensicherung mache ich in diesen Systemen überhaupt gar nichts. Wieso erhalte ich dann aber keine Fehlermeldung, dass beispielsweise eine Sprachdatei nicht gefunden wird?
    2. Beinhaltet Wordpress vielleicht ein Fallback-System, welche auf eine öffentliche Sprachdatei zugreift, falls die internen Sprachdateien nicht funktionieren oder nicht gefunden werden?
    3. Gibt es irgendwo in der Datenbank dafür einen separaten Verweis oder in einem Plugin eine entsprechende Einstellung?
    4. Es gibt da auch unter „WooCommerce – Systemstatus - Werkzeuge“ den Punkt „Aktualisierung der Übersetzungen erzwingen“. Ein Anklicken des Buttons ändert aber offensichtlich nichts außer, dass die Seite neu lädt.
    5. Der Wordpress Debug-Modus gibt übrigens auch keinerlei entsprechenden Fehler oder Warnungen aus!

    Leider scheinst du nur meinen letzten Kommentar gelesen zu haben. Es geht ja nicht um die Bearbeitung, egal ob mit Poedit oder Loco Plugin. Die Dateien ändern sich 100%ig, natürlich auch sichtbar mit Poedit oder Loco Plugin, aber eben nicht im Frontend, Punkt! Ich habe alle Anleitungen durchgegoogelt und ausprobiert. Nichts, keine Reaktion oder Änderung im Frontend. Lokal im XAMPP. Auch nichts zu machen. Die Webseite baut sich im localhost nicht auf. Es wird die Internetverbindung gefordert um die Sprachdateien von woher auch immer, zu laden. Aber sicher nicht von meinem Server, weil dort gar keine mehr sind. Es kommt keine Fehlermeldung, dass irgendeine Sprachvariable oder Sprachdatei fehlt, obwohl ich sie komplett vom Server gelöscht habe. Dafür muss es doch eine Erklärung geben, oder was meinst du, r23? Ich habe auch bisher weder im Wordpress noch im WooCommerce größere programmiertechnische Eingriffe vorgenommen oder eigene Plugins installiert. Alles nur 0815-Plugins und leichte Design-Anpassungen. Auch an den Spracheinstellungen selbst kann es nicht liegen, da ja das nach wie vor unerwünschte DEUTSCHE Wort "Kostenlos!" niemals in der englischen Originaldatei vorkommen kann, sondern zwingend aus der deutschen WooCommerce-Sprachdatei!

    Ich glaube ich lasse das einfach, Monika. Es hat schlicht und einfach keinen Sinn. Mehr als ein Jahr Arbeit beim Teufel, vom Umsatzausfall meines Kunden mal ganz abgesehen, aber was soll es. Es funktioniert einfach gar nichts mit allen Sprachdateien (auch die von Wordpress, nicht nur die von WooCommerce)! Und niemand in einer so großen Community hat auch nur ansatzweise einen Tipp, woran es liegen könnte. Überall liest man nicht konforme Beiträge. Der eine schreibt, die Sprachdateien müssen im Ordner wp-content\languages\plugins sein, der andere schreibt sie müssen im Ordner wp-content\plugins\woocommerce\i18n\languages\formal sein. Ein Plugin-Übersetzer schrieb hier auch, dass ihm solche Probleme nicht unbekannt sind. Das wars dann aber auch schon mit seiner Erklärung. Das sind alles Dinge die mir aus der Joomla-Szene völlig fremd sind. Ich kann mich in den letzten 10 Jahren an kein einziges Problem erinnern, welches nicht in irgend einer Art und Weise lösbar war. Und da waren ganz andere "harte Nüsse" dabei als Sprachvariablen aus kompilierten Gettext-Dateien. Aber die Shop-Plugins im Joomla taugen meiner Meinung nach nicht viel. Da stehe ich selbst als Joomlaner dazu! Darum ja der Versuch mit WooCommerce auf Empfehlung eines "Spezialisten", der natürlich auch nichts im Detail weiß! Alles äußerst unprofessionell, das ist echt traurig.

    Das glaube ich dir gerne aber bei meiner Installation funktioniert es nicht. Ich bin absolut überzeugt, dass die Übersetzungen von einem fremden Server kommen. Das Verhalten im XAMPP ist eindeutig. Die Webseite lädt nur wenn Internetzugriff möglich ist. Ich bin auch noch einmal wie hier beschrieben vorgegangen und habe die Sprachdateien vom Ordner wp-content\languages\plugins in den Ordner wp-content\plugins\woocommerce\i18n\languages\formal verschoben: http://deckerweb.de/sprachdateien/woocommerce-und-extensions ! Ich habe auch noch einmal die Dateien mit der Endung *.pot im Ordner wp-content\plugins\woocommerce\i18n\languages gelöscht (wozu sind denn diese Übersetzungsdateien noch zusätzlich). Aber auch in den *.pot-Dateien kommt das Wort "Kostenlos!" nicht vor, aber nach wie vor im Frontend. Es ändert sich im Frontend rein gar nichts und es kommt auch keine Fehlermeldung.

    Ergo: Das installierte Wordpress-System greift auf keine einzige Sprachdatei zu, welche auf meinem Server liegt! Die Daten kommen 1000000000000000000%ig von einem anderen Server!

    Auf die Gefahr hin, dass das hier ein Monolog wird:

    Ich habe jetzt den eindeutigen Beweis dafür, dass WooCommerce NICHT auf die Sprachdateien im Webordner zugreift, sondern die Daten von einem fremden Server bezieht. Um das eindeutig fest zu legen habe ich das komplette Wordpress inkl. Datenbank lokal im XAMPP angelegt und erneut die beiden Dateien woocommerce-de_DE.po und woocommerce-de_DE.mo aus dem Verzeichnis wp-content\languages\plugins gelöscht. Weiterhin wurde der Begriff "Kostenloses" geladen. Nachdem ich meine Internetverbindung getrennt hatte baute sich die Webseite nicht mehr auf! Erst nachdem ich die Internetverbindung wieder her gestellt hatte lud die Seite bis zum Ende und zeigt natürlich wieder den Begriff "Kostenloses". An welcher Stelle im WP-Admin oder auch im Code kann man denn diesen Schwachsinn abstellen und wozu gibt es so etwas überhaupt? Ich kann das in keinster Weise nachvollziehen!

    Ich möchte hier zwar den sicherlich lausigen Support des Themes (Theme Hamburg) nicht in Schutz nehmen, aber die Problematik liegt offensichtlich nicht beim Template, da auch mit anderen Templates das Problem besteht. Ich fasse jetzt also nach meinem neuesten Kenntnisstand das Ganze noch einmal zusammen:

    Ich ändere NUR in der WooCommerce-Sprachdatei woocommerce-de_DE.po im Ordner wp-content/languages/plugins (getestet mit Plugin Loco Translate wie auch dem Tool PoEdit)!
    Bei beiden Verfahren erzeuge ich neben der PO-Datei auch die MO-Datei!
    Im Frontend ändert sich dadurch gar nichts.
    Auch wenn ich beide Dateien vom Server lösche erscheint weiterhin (in dem hier beschriebenen Fall) das Wort "Kostenlos!" anstatt des eingesetzten "Auf Anfrage".
    Das Wort "Kostenlos!" steht in keiner Sprachdatei, in keiner anderen Datei des Webordners und auch nicht in der Datenbank.
    Der Cache wurde mehrfach geleert und auch testweise deinstalliert.
    Es gibt für mich keine technische Erklärung wo das Wort "Kostenlos!" herkommt.

    Das war es wohl für mich mit Wordpress.
    Wie kommt ihr alle nur mit solchen Problemen auf unterster Ebene klar?
    Was passiert denn erst bei der Plugin-Entwicklung?
    Klemmt es da auch an allen Ecken und Enden?
    Warum kommt niemand auf die Idee nach zig Millionen Installationen von Wordpress hier etwas zu verbessern?

    Schade, dass die vom Support des Themes (Theme Hamburg) nicht einmal ansatzweise helfen können. Im Übrigen strotzt deren Forum von angeblich gelösten Threads, welche bei genauer Hinsicht überhaupt nicht gelöst wurden!

    Na das ist natürlich eine feine Sache. Super Tipp und vielen Dank. Das kommt ja tatsächlich an die gewohnte Joomla-Qualität ran (war das zu sarkastisch? Sorry!)! Nein, Spaß beiseite. Dieses Plugin kann man wirklich halbwegs bedenkenlos auch einem Enduser zur Nutzung anvertrauen. ABER, UND IHR WERDET ES KAUM GLAUBEN!!! Jegliche Änderung erscheint NICHT im Frontend. Falls ich es nicht 100%ig wüsste könnte man meinen ich arbeite an einer anderen Webseite. Ich habe extra ein paar Standards testweise geändert wie das doch sehr häufige "In den Warenkorb". Das kommt natürlich auch nur im Plugin WooCommerce in der einzigen dort hinterlegten Sprachdatei vor. Die Änderung im Backend funktioniert mit Loco auch tadellos und ist bei erneutem Aufruf im Backend und auch beim Download der PO-Datei darin enthalten. Aber im Frontend passiert überhaupt nichts!

    Als Theme setze ich übrigens das für Deutschland überall hoch gelobte Bezahl-Theme "Hamburg" ein, zu welchem doch auch kaum negative Meinungen in den diversen Foren vorliegen. Blockiert dieses Theme hier irgend etwas? Wo kommen aber die Begriffe dann her? Sie sind definitiv nicht mehr in den Sprachdateien und auch nirgends im Scriptcode oder der Datenbank erhalten und es wird kein Caching-Plugin eingesetzt!

    "Banal" meinte ich natürlich nur in Bezug auf die Technik mit den PO- und MO-Dateien. In vielen anderen CM-Systemen sind die Sprachdateien reine Textdateien mit KONSTANTEN-Wert-Paaren, welche in jedem Editor bearbeitet und einfach hoch geladen werden können. Warum fährt Wordpress eine solche Strategie. Gibt es einen technischen Grund dafür? In den neueren Joomla-Versionen beispielsweise (bitte nicht hauen, vielleicht lasse ich mich ja doch noch etwas mehr zu Wordpress hinreisen, falls ich diverse Hintergründe einmal verstehen sollte) gibt es im Backend sogar ein komfortable Override-Funktion, welche eine Volltextsuche nach dem Begriff (sehr gut für Endbenutzer) ODER dem KONSTANTEN-Namen (mitunter hilfreicher für den Entwickler) anbietet, und über ein einziges Formularfeld der gewünschte Begriff in der Datenbank hinterlegt werden kann. Damit ist eine Übersetzung in 15 Sekunden erledigt. Besser und schneller geht es nicht. Ich werde jetzt einmal "Loco" installieren und testen!

    Ich versuche seit 3 Tagen in einem Woo-Commerce-Shop die Buttonbeschriftung "Kostenlos!" in "Auf Anfrage" zu ändern. Dieser Schlüssel kommt genau einmal vor, nämlich in der Datei woocommerce-de_DE.po im Ordner wp-content/languages/plugins:

    #: includes/abstracts/abstract-wc-order.php:1681 includes/abstracts/abstract-wc-product.php:968 includes/abstracts/abstract-wc-product.php:974 includes/class-wc-cart.php:1534 includes/class-wc-product-variable.php:322 includes/class-wc-product-variation.php:318
    msgid "Free!"
    msgstr "Kostenlos!"

    Eine Änderung mit PoEdit und anschließendem Hochladen per FTP brachte keine Änderung. Ein Löschen dieser Sprachdatei auf dem Server brachte keine Änderung. Es erscheint immer noch "Kostenlos!" auf dem Button. In der Datenbank steht nirgends "Kostenlos!". Ich habe ALLE Sprachdateien mit PoEdit bearbeitet und immer die PO- und die Mo-Datei hoch geladen. Es ändert sich nicht ein einziger Begriff im Frontend. Das Plugin "Codestyling Lokalisierung" funktioniert ebenfalls nicht. Es erscheint der Fehler "Das Plugin Codestyling Lokalisierung war gezwungen, seinen eigenen Seiten Rendering-Prozess gegen 13 Vorfälle zu schützen!". Die Erklärung auf der Entwicklerseite hilft nur dahin gehend weiter, dass bei diesem Theme das Plugin aus verschiedenen Gründen nicht funktioniert. War´s das jetzt oder kennt irgend jemand noch eine Möglichkeit die Sprachdateien zu bearbeiten.

    P. S. Was denken sich eigentlich die Entwickler von Wordpress??? Wie kann man so etwas banales wie Sprachdateien nur so kompliziert umsetzen. Das ist doch Wahnsinn! Das gibt es in keinem mir bekannten CMS in vergleichbarer Form!

    Bei einem Test mit einer Kunden-Adresse aus der Schweiz und einem Shop in Deutschland ergab zwar korrekterweise die Darstellung des Nettopreises (weil Schweiz Nicht-EU), jedoch wird sinnigerweiße der Zusatz "inkl. MwSt." angezeigt! Hat einer ein ähnliches Problem oder weiß jemand, wie man diesen Zusatz (natürlich nur beim Checkout-Prozess eines Kunden außerhalb der EU) entfernen oder entsprechend umbenennen kann (beispielsweise "ohne MwSt. da Nicht-EU")?

    Ich habe mal testweise den Wert für woocommerce_quantity_input_step in der wc-template-functions.php von 1 auf 0.1 geändert. Jetzt kann man zwar beim Produkt in Zehntel-Schritten auswählen und bestellen, jedoch wird das im Warenkorb direkt wieder auf ganze Zähler gerundet und natürlich auch beim Preis nicht berücksichtigt. Das erfordert wohl doch deutlich tiefere Eigriffe in die Funktionen. Darüber hinaus müsste dann ja auch noch fest gelegt werden, dass nur bei Produkten mit Meterware diese Funktion zur Verfügung stehen soll.