Neu If`s im Shop

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
Ich nutze ja:
Code:
{if (isset($Artikel->FunktionsAttribute.material_de) && $Artikel->FunktionsAttribute.material_de|@strlen > 0)}

Wenn ich das richtig verstehe heißt das ja steht was drinne im Feld und ist das größer 0, richtig?

Nun habe ich gesehen das auch geht:
Code:
{if $Artikel->FunktionsAttribute.set == 1}

Hat das irgendwelche Nachteile das so zu schreiben wie Geschwindigkeit etc.?
 

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
69
Lübeck
Hallo gnarx,

nein, das heißt, dass die Variable existiert und die Zeichenkette länger als 0 ist.

Was du machst, ist auf einen numerischen Wert abfragen. Außerdem solltest du die Variable mit isset() vorher abfragen um zu verhindern, dass dir alles zerschießt, wenn die Variable mal nicht da ist.

VG
Tomas
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
Okay danke dir heißt also wenn ich meine If´S nutze, was ich so ein bischen kann, dann ein isset davor, richtig?
Ist der Code so dann in Ordnung?
Code:
{if isset($Artikel->FunktionsAttribute.set == 1)}
 

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
69
Lübeck

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
In deiner Abfrage muss $Artikel->FunktionsAttribute.set exakt 1 sein.
Wenn ich mal Klugscheißen darf... ;) Für den Fall
PHP:
$Artikel->FunktionsAttribute.set == 1
kann $Artikel->FunktionsAttribute.set eine numerische 1 oder eine String-1 '1' oder auch irgendein anderer String der mit 1 beginnt - z.B. '1a' sein!
Wenn man sichergehen will, dass in $Artikel->FunktionsAttribute.set EXAKT eine numerische 1 steht, dann muss die Prüfung so aussehen:
PHP:
$Artikel->FunktionsAttribute.set === 1
 

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
69
Lübeck
Zuletzt bearbeitet:

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Das hat eher was damit zu tun, wie die automatische Type Conversion in PHP funktioniert. Bei einem schwachen Vergleich eines Strings mit einem Integer wird der String implizit in einen Integer gecastet und dabei wird dann '1a' zu 1. Das hat dann wiederum damit zu tun, wie PHP String- in numerische Typen umwandelt.
 
  • Gefällt mir
Reaktionen: Tomas

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
Moin hier nochmal nee Frage zu.
1. Brauche ich hier eigentlich die zweite Abfrage, also das strlen?
Code:
 {if (isset($Artikel->FunktionsAttribute.set_hoehe_bis) && $Artikel->FunktionsAttribute.set_hoehe_bis|@strlen > 0)}

Wenn nein kann ich das umbasteln zu ist ein Wert drinne oder ist der Wert größer 0. Das funktioniert nicht:
Code:
{if (isset($Artikel->FunktionsAttribute.set_hoehe_mit_deckel_bis) or $Artikel->FunktionsAttribute.set_hoehe_mit_deckel_bis|@strlen > 0)}

Ich will ja nur Abfragen ob was in dem Feld drinne steht und das grösser 0 ist.
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
Danke schon mal habs grad so hin bekommen:
Code:
{if (isset($Artikel->FunktionsAttribute.tueren) && $Artikel->FunktionsAttribute.tueren> 0)}

Muss das int unbedingt davor?
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Das kommt darauf an, wie sicher dein Vergleich sein soll, was in dem Attribut für ein Wert steht und was du im Endeffekt tatsächlich vergleichen möchtest! Bedeutet "grösser 0" tatsächlich einfach nur größer 0 (also z.B. auch bei 0,0000001) oder größer 0 im Sinne von 1, 2, 3, ... Im ersten Fall wäre das (int) definitiv falsch.
Ich Vergleiche lieber typsicher und überlass das Casten ungern dem PHP-Interpreter. ;)

P.S.: Ich bin mir auch nicht sicher, ob dir der Unterschied der Operatoren || und OR in PHP bewusst ist...
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
Recht herzlichen Dank schon mal an euch. Hat alles soweit geklappt. Nun muss ich noch rechnen.
Diese Variable {$Artikel->FunktionsAttribute.hoehe|string_format:"%.1f"} soll durch 2,54 geteilt werden. Wie mache ich das.
Weder Smarty rechnen noch php Rechnen sowie DotLiquid rechnen hat funktioniert.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Genau deshalb...
Ich Vergleiche lieber typsicher und überlass das Casten ungern dem PHP-Interpreter.
"2,54" ist nicht gleich 2.54 und was bei einem string_format:'%.1f' rauskommt, hängt sehr stark von dem ab, was in $Artikel->FunktionsAttribute.hoehe steht und ist zudem von den locale-Einstellungen abhängig - in jedem Fall ist es ein String! Egal welche Rechenoperation du anschließend ausführst, muss der PHP-Interpreter diesen String in einen numerischen Typ casten.
Wenn jetzt in den Zahlen-Strings Kommas "," (wie im Deutschen üblich) statt Punkte "." (wie im Englischen üblich) sind, dann wird das automatische Cast dort immer Integer draus machen und alles nach dem Komma einfach abschneiden.
Du solltest also sicherstellen, das auf beiden Seiten deiner Rechenoperation die korrekten numerischen Werte stehen. Erst bei der Ausgabe kann das dann "hübsch" formatiert werden.
 
  • Gefällt mir
Reaktionen: Tomas

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
69
Lübeck
Versuchs mal mit
Code:
{math equation="x / y" x=$Artikel->FunktionsAttribute.hoehe|replace:',':'.' y=2.54 format="%.1f"}

EDIT:
Ich Vergleiche lieber typsicher und überlass das Casten ungern dem PHP-Interpreter.
Dann lieber so ;) :
Code:
{math equation="x / y" x=(float) $Artikel->FunktionsAttribute.hoehe|replace:',':'.' y=(float) 2.54 format="%.1f"}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.855
530
So vielen Dank nochmal für die Hilfe. Nun muss ich ja das ganze noch ins ebay Template bauen und da funzt das denn nicht so wie im Shop Template.
Wie schreibe ich denn das fürs ebay Template?
1. Nachkommastellen begrenzen. So funzt es nicht:
Code:
{{ Vorgang.Artikel.EigeneFelder.1_MaßeGewichte.Hoehe_mit_Deckel | string_format:"%.1f" }}

2. Funktioniert das so mit oder?
Code:
{% if Vorgang.Artikel.EigeneFelder.2_MaßeGewichte_Sets.Set_Hoehe_bis !="" or Vorgang.Artikel.EigeneFelder.2_MaßeGewichte_Sets.Set_Hoehe_bis >0 %}

3. Und wie rechne ich nun? Folgendes funzt auch nicht.
Code:
{math equation="x / y" x=(float) $Artikel->FunktionsAttribute.hoehe_mit_deckel|replace:',':'.' y=(float) 2.54 format="%.1f"}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Probleme beim Versand von Newslettern über JTL Shop 5 Allgemeine Fragen zu JTL-Shop 0
Neu JTL Shop 5.3.X - Fehlerhafte Artikellinks bei Export über Exporte-Manager JTL-Shop - Fehler und Bugs 1
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
Neu Closest Droppoint: Wie im Shop dem Kunden anbieten? JTL-ShippingLabels - Fehler und Bugs 4
Getrenntes Lager für den JTL shop JTL-Wawi 1.9 1
Neu Benutzer Authentifizierung für externe App/Shop Onlineshop-Anbindung 1
Gelöst Fehlermeldung Shop-Datenbank UTF-8-Kollation Installation / Updates von JTL-Shop 1
Neu Retourenmanagement im JTL Shop Allgemeine Fragen zu JTL-Shop 1
Neu Vergleich Shopware 5 / 6 zu JTL Shop 5 Betrieb / Pflege von JTL-Shop 7
Neu JTL Shop 5.4 - Seite 1 verschachtelt sich bei klick auf Seite 1 JTL-Shop - Fehler und Bugs 0
Neu Konto an den Shop übertragen - wie funktioniert das praktisch? Umstieg auf JTL-Shop 0
Fatal-Error im Adminbereich nach Update - Shop läuft Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Gehosteter Shop nicht mehr aufrufbar und auch kein admin-Login mehr möglich JTL-Shop - Fehler und Bugs 3
Neu Shop 5.4 - Error 500 mit aktiviertem JTL Debug JTL-Shop - Fehler und Bugs 8
Neu Ausgabeweg => Beschreibungen werden nicht von JTL Wawi gezogen für Shop/ebay/sonst was User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL Shop 5.4.0 eigene Inhalte/Seiten hinzufügen nicht möglich JTL-Shop - Fehler und Bugs 5
Neu Shop 5.4.0: Zahlungsarten nun als Position in der Wawi? JTL-Shop - Ideen, Lob und Kritik 17
Neu Warnung: Update auf Shop 5.4 Installation / Updates von JTL-Shop 39
Neu Spam Newsletteranmeldungen und Shop Anmeldungen Allgemeine Fragen zu JTL-Shop 3
Neu JTL Shop Subscription wurde durch Umstellung auf "Advanced Edition" teils doppelt berechnet Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Shop 5.4 - Aktuell 5.4.0 Releaseforum 0
Neu Shop abgleich funktioniert nicht, Lösungsansätze gesucht JTL-Shop - Fehler und Bugs 23
Neu Fehler 500 mit NOVAchild 5.3.1 in JTL-Shop 5.33 Templates für JTL-Shop 2
Grundpreis / Mengen Anzeigen lassen im Shopify Shop JTL-Wawi 1.9 2
Neu Fehlermeldung nach Shop-Update Installation / Updates von JTL-Shop 2
Neu Anzeige der Vorgangsstatus im JTL Shop 5 Betrieb / Pflege von JTL-Shop 1
Neu Gleichzeitiger Zugriff von zwei Nutzern auf JTL-Shop-Backend Allgemeine Fragen zu JTL-Shop 2
Neu Preisdarstellung: keine „ab“-Preise mehr mit Staffelpreisen für Produkte ohne Variationen (JTL Shop 5.3.3) Allgemeine Fragen zu JTL-Shop 1
Neu kKunde != InternerSchlüssel > Aus Shop den Internern Schlüssel der WaWi Technische Fragen zu Plugins und Templates 1
Neu Übersetzung Shop und einiger Produkte Betrieb / Pflege von JTL-Shop 2
Neu Artikel lässt sich im Shop 5.2.5 über die Wawi nicht löschen JTL-Shop - Fehler und Bugs 2
Neu Fehler bei Abgleich JTl Wawi mit JTL Shop User helfen Usern - Fragen zu JTL-Wawi 2
Bestehender eBay-Shop -- JTL Shop neu -- Abgleich -- wie vorgehen? JTL-Wawi 1.9 1
Beantwortet Worker 2.0 übernimmt neuen JTL-Shop (5.3.3) nicht in seine Abgleiche Onlineshop-Anbindung 2
Neu JTL Shop 5 Sale-Ribbon Benennung: "Sale bis x%" Allgemeine Fragen zu JTL-Shop 2
eBay + Shop Bestand gleichen sich nicht ab - woran kann das liegen? JTL-Wawi 1.9 1
Neu Im JTL-Shop angelegte Neukunden werden nicht an Wawi übertragen Onlineshop-Anbindung 2
Neu Das JTL Shop gratis Plugin GPSR Verordnung - sieht mies aus, belastet die Datenbank, Excel Bearbeitung unmöglich Betrieb / Pflege von JTL-Shop 30
Neu Importieren von Blöcken in den JTL-Shop OnPage Composer Templates für JTL-Shop 1
Neu Absolut unsinnig und strafbares Feature im Shop (MHD Kennzeichnungspflicht?) Allgemeine Fragen zu JTL-Shop 6
Neu Kundenaccounts Spam Attacke trotz reCaptcha in Shop 5.3.3 Betrieb / Pflege von JTL-Shop 4
Neu Sortierung nach Bestand - so wie im JTL Shop 4 JTL-Shop - Ideen, Lob und Kritik 2
Neu Wie kann ich bestimmte Wörter in der Suchfunktion von JTL-Shop ausschließen? Allgemeine Fragen zu JTL-Shop 0
Neu Shop - Einrichtungsassistent Allgemeine Fragen zu JTL-Shop 1
Shop Daten werden zwar Abgeholt aber Bestellungen sind in der Wawi nicht zu finden. JTL-Wawi 1.9 0
Neu JTL Shop 5.3.x - PHP Fatal Error - PriceRange.php JTL-Shop - Fehler und Bugs 6
Neu Fehlermeldung im JTL Shop 5.2.2 Frontend - Wo zu finden für Debugging? JTL-Shop - Fehler und Bugs 1
Neu Merkmale und Kategorieverküpungen werden nicht mehr an Shop gesendet PrestaShop-Connector 1
Neu GPSR Verordnung - Wie handhabt ihr das im Shop mit dem Nova Template? Betrieb / Pflege von JTL-Shop 26
Neu Korrekte Darstellung der Differenzbesteuerung im JTL Shop Allgemeine Fragen zu JTL-Shop 2

Ähnliche Themen