isotope: Preisausgabe als inserttag


[expand title=“mehr lesen…“]

zonky:haus_mit_garten:28. Aug. 2020 um 14:18 Uhr
Isotope: Preisausgabe als Inserttag:
ich möchte den Preis eines bestimmten Produkts ausgeben analog zu {{product::name::1}}
Folgendes probiert, aber geht nicht: {{product::price::1}}
hatte mich an Template orientiert: https://github.com/isotope/core/blob/master/system/modules/isotope/templates/collection/iso_collection_default.html5#L50-L51 (bearbeitet) 14 Antworten


fritzmgvor 1 Jahr
Ich denke mit dem Insert Tag kannst du nur „einfache“ Attribute des Produkts ausgeben lassen.

zonky:haus_mit_garten:vor 1 Jahr
das wäre schade – der Preis ist ja neben dem Namen eines der wichtigsten Sachen

fritzmgvor 1 Jahr
Mach einen PR, ist eh eine ganz einfache Änderung

fritzmgvor 1 Jahr
Naja, wobei, das müsste man eigentlich als ganz eigenen Insert Tag umsetzen. {{product_price::*::*}}.

fritzmgvor 1 Jahr
Weil man ja folgende Optionen braucht:

{{product_price::amount}}
{{product_price::original_amount}}
{{product_price::net_amount}}
{{product_price::gross_amount}}
{{product_price::html}}

:starkes_häkchen:1

zonky:haus_mit_garten:vor 1 Jahr

{{product_price::<id>:amount}}
{{product_price::<id>:original_amount}}
{{product_price::<id>:net_amount}}
{{product_price::<id>:gross_amount}}
{{product_price::<id>:html}}

fritzmgvor 1 Jahr
ID hinten dran, wie bei {{product::}}

zonky:haus_mit_garten:vor 1 Jahr
ja, auch gerade gesehen…

zonky:haus_mit_garten:vor 1 Jahr
https://github.com/isotope/core/pull/2160

fritzmgvor 1 Jahr
Ich würde  noch 'html' dazu geben für die ->generate Methode

zonky:haus_mit_garten:vor 1 Jahr
hmm – verstehe ich noch nicht 🙁

fritzmgvor 1 Jahr

case 'html':
    return Isotope::formatPriceWithCurrency($product->getPrice()->generate());

fritzmgvor 1 Jahr
Oder das vielleicht sogar als default case benutzen. Dann kann man {{product_price}} schreiben und es wird automatisch die HTML Ausgabe für das aktuelle Produkt generiert.

zonky:haus_mit_garten:vor 1 Jahr
jut


[/expand]




Shopware Child-Theme Problem


[expand title=“mehr lesen…“]

Shopware Child-Theme Problem

Derzeit werden in Shopware 6 neue Konfigurations-Felder von Themes bei einem Plugin-Update nicht in Child-Themes übernommen. Dies können wir technisch leider nicht ändern da die Ursache hierfür im Shopware-Core liegt.

Wir haben dazu bereits einen Issue bei Shopware eröffnet den Du über folgenden Link gerne mit einem Vote unterstützen kannst: https://issues.shopware.com/issues/NEXT-10994

Problemlösung:

Bis Shopware das Problem gelöst hat, haben wir nachfolgend einen kleinen Workaround für Dich verfasst. Dieser Workaround kann jedoch nur für Shopware On-Premises genutzt werden.

Um das neue Feld bzw. die neuen Felder auf das Child-Theme zu übertragen ist eine kleine Modifikation der Datenbank notwendig. Im folgenden zeigen wir Dir in 8 Schritten wie Du das Feld bzw. die Felder ganz einfach selber ergänzen kannst.

Tipp: Wir nutzen dafür das kostenlose Plugin „Adminer für das Admin„. Damit erhält man in der Shopware-Administration einen direkten Zugriff auf die Datenbank.

Schritt 1)

Im Suchfeld grenzt Du die Tabellen mit „theme“ auf den Bereich Themes ein:

Schritt 2

Mit „select“ für die Tabelle „theme“ gelangst Du auf eine Übersicht aller installierten Themes:

Child-Themes erkennst Du daran, dass Sie keinen „technical_name“ haben.

Schritt 3

Zuerst editierst Du das Parent-Theme (in unserem Beispiel „ThemeWare Modern“):

Schritt 4

Kopiere den Inhalt der Spalte „base_config“:

Schritt 5

Wechsel mit „select“ für die Tabelle „theme“ wieder zurück auf die Theme-Übersicht:

Schritt 6

Editiere nun das Child-Theme:

Schritt 7

Leere hier das Feld „base_config“ komplett und füge die kopierte Konfiguration aus dem Parent-Theme ein und speicher die Änderung mit „Save“:

Schritt 8

Zum Abschluss öffne die Konfiguration des Child-Themes im Theme-Manager. Das fehlende Feld bzw. die fehlenden Felder sollten jetzt konfigurierbar sein. Speicher und kompiliere das Theme einmal neu, damit die Änderungen in der Storefront wirksam werden.

Fehler-Behebung unterstützen:

Über folgenden Link kannst Du gerne unseren Shopware-Issue mit einem Vote unterstützen: https://issues.shopware.com/issues/NEXT-10994


[/expand]




Shopware Fehler nach Update der PHP Version


[expand title=“mehr lesen…“]

Shopware Fehler nach Update der PHP Version

PHP Version aktualisieren

Im Zuge des des Shopware Updates auf die Version 5.6 muss die PHP Version auf 7.2 oder höher aktualisiert werden. Wie Sie die Umstellung der PHP-Version vornehmen, erfahren Sie in folgendem Wissensdatenbankartikel (hier beispielhaft für PHP 7.2): PHP 7.2 aktivieren

Ursache des Fehlers identifizieren

Wenn Sie anschließend einen Fehler in Ihrem Shop feststellen, kann dies an Shopware Plugins liegen, die mit der höheren PHP-Version aus unterschiedlichen Gründen nicht kompatibel sind. Zur Überprüfung, welche Plugins das sind, können Sie in Ihrer neuen php.ini Datei in Ihrem Home-Verzeichnis das PHP Error-Reporting aktivieren. Wie Sie dies tun, erfahren Sie in folgendem Wissensdatenbankartikel: PHP Error Reporting aktivieren

In der nun erstellten Datei „phperror.log“ steht, welches Plugin nicht kompatibel mit PHP 7.1 oder höher ist. Hier ist eine beispielhafte Fehlermeldung, wie sie im Log zu finden sein kann: Fehlermeldung

[16-Aug-2019 11:39:25 Europe/Berlin]PHP Fatal error:  The file /home/USER/www.DOMAIN.TLD/engine/Shopware/Plugins/Community/Core/SwagLicense/Bootstrap.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1 or later.

Deaktivierung von nicht kompatiblen Plugins

Hier ist zu sehen, dass das Plugin ,,SwagLicense“ nicht kompatibel mit PHP 7.1 oder höher ist, da das Plugin unter PHP 5.6 mit dem IonCube Loader veschlüsselt wurde. Hierbei wird von uns empfohlen, das fehlerhafte Plugin zunächst zu deaktivieren, um Ihre Website auch unter PHP 7.2 lauffähig zu machen. Zum deaktivieren von Plugins gehen Sie in Ihr Shopware Backend und wechseln in den Plugin Manager. Hier haben Sie unter dem Punkt ,,Installiert“ die Möglichkeit, Ihre Plugins zu verwalten. Durch einen Klick auf den Stift bei dem entsprechenden Plugin können Sie dieses deaktivieren. Hinweis

Der Einsatz des Shopware Lizenz-Managers (SwagLicense) ist unter Shopware 5.6 nicht möglich. Bitte löschen Sie das Plugin, wenn ein Update auf 5.6 bevorsteht.

Nun sollte der Shop wieder erreichbar sein. Sollte dies nicht der Fall sein, überprüfen Sie bitte erneut das PHP Error-Log, ob noch weitere Plugins nicht kompatibel mit PHP 7.1 oder höher sind. Sollte dies der Fall sein, deaktivieren Sie diese bitte ebenfalls.

Wir empfehlen das PHP Error Reporting nach erfolgreichem Update zu deaktivieren. Löschen Sie dazu einfach den entsprechenden Eintrag aus Ihrer php.ini.


[/expand]




Shopware Newsletter Anmeldung nicht möglich (Fehler 500) – Lösung


[expand title=“mehr lesen…“]

Shopware Newsletter Anmeldung nicht möglich (Fehler 500) – Lösung

Problem

Nach der Anmeldung zu einem Newsletter wird ein Fehler 500 oder folgende Fehlermeldung angezeigt:

PHP Fatal error:  Uncaught TypeError: Argument 2 passed to sAdmin::subscribeNewsletter() must be of the type integer, string given

Haben Sie keine Fehlermeldung, sondern bekommen nur Fehler 500 angezeigt, so können Sie mit Hilfe des PHP Error Reportings die Ursache erörtern – im nachfolgendem Artikel wird die Vorgehensweise beschrieben:

PHP Error Reporting aktivieren

Ursache

Auf Grund einer Fehlkonfiguration im Shop wird eine Zeichenfolge (string) übergeben, obwohl die Funktion einen Zahlenwert (int) erwartet. Der falsche Übergabetyp sorgt dann für den Fehler.

Lösung

Im Shopware Backend muss unter Einstellungen → Grundeinstellungen → Storefront → Anmeldung/Registrierung in der Zeile „Standard-Empfangsgruppe (ID) für registrierte Kunden (System / Newsletter)“ eine ID (numerischer Wert) stehen. Wenn dieses Feld leer ist oder ein Wort enthält, resultiert das in dem o.g. Fehler – um dies zu beheben tragen Sie bitte eine Zahl in dieses Feld ein.

Anschließend ist die Newsletteranmeldung wieder möglich.


[/expand]




Shopware Fehler nach Update


[expand title=“mehr lesen…“]

Shopware Fehler nach Update

Sollte Ihr Shopware-Shop nach einem Update nicht mehr erreichbar sein und Sie erhalten einen Error 500, dann führen Sie bitte folgende Schritte durch:

  1. Aktivieren Sie das PHP Error Reporting. Wie das geht, erfahren Sie in nachfolgendem Artikel:
    PHP Error Reporting aktivieren
  2. Hier finden Sie folgende Fehlermeldung:
    Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‚element_id‘ cannot be null in /home/USER/www.DOMAIN.TLD/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
  3. Führen Sie in MySQL folgende Befehle aus:
    INSERT INTO s_core_config_elements (form_id, name, value, label, description, type, required, position, scope) VALUES (‚0‘, ‚trackingUniqueId‘, ‚ s:0:““;‘, ‚Unique identifier‘, ‚ ‚, ‚text‘, ‚0‘, ‚0‘, ‚1‘) und anschließend
    SELECT id FROM s_core_config_elements WHERE name = ‚update-unique-id‘
    Wenn die SELECT-Abfrage genau ein Ergebnis ausgibt, dann merken Sie sich bitte die  entsprechende ID und fügen diese in das folgende SQL-Statement ein:
    UPDATE s_core_config_elements SET name=“trackingUniqueId“ WHERE id=ID
  4. Anschließend wird Ihre Website wieder erfolgreich angezeigt.


[/expand]