Managed Server
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Wenn-dann abfrage unter dem Preis einbauen

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Wenn-dann abfrage unter dem Preis einbauen
    am: 13. April 2016, 08:13:56
    Guten Morgen zusammen,

    ich würde gerne unter der Preisangabe folgende Abfrage tätigen.

    Wenn eine Datei vorhanden ist (über Artikel Content hochgeladen über den Contentmanager)

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    und die den Namen "eelabelAPLUSartikelnr654684" hat dann soll er die Grafik aplus.jpg anzeigen und verlinken auf die hochgeladene Datei.

    Wenn nicht dann Prüfen ob "eelabelAPlusPLUSartikelnr654684" vorhanden dann soll die Grafik aplusplus.jpg angezeigt werden und auf die Datei verlinken.

    Die Idee rührt von der vorgeschriebenen Energielabel Verordnung. Diese würden wir gerne so umsetzten, da jedes Gerät sein eigenes Label hat.

    Ich lade dann einfach zu jedem Artikel eine Labeldatei hoch mit den Namen "eelabel", der Labelbezeichunng (zb. aplus). Die Artikelnummer kommt ja von alleine.

    Ich bin soweit in der /templates/xtc5/module/product_info/product_info_v1.html unter:

    Code: PHP  [Auswählen]
          <strong>{$PRODUCTS_PRICE}</strong>

    folgendes einzufügen:

    Code: PHP  [Auswählen]
    {if $MODULE_products_media != ''}<img alt="" src="http://domain.tld/images/ee_label/price_label/a.png" />{/if}

    Da hören meine Kenntnisse auf. Ich werde mich zwar jetzt durch die Internethilfen der Welt lesen und versuchen den Rest zu erstellen, aber ich habe die Hoffnung das dies für jemanden der es täglich macht viel eicht etwas einfach ist und mir einen Tipp geben kann.

    Sollte es komplexer sein, so bin ich auch gerne bereit dafür zu bezahlen. Dann mich einfach unter "heiko@derheiko.de" kontaktieren.

    Danke vorab für die Hilfe.

    Gruß Heiko

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34778.0
    Trade Republic - Provisionsfrei Aktien handeln

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #1 am: 13. April 2016, 08:39:09
    Mit der Verordnung kenn ich mich nicht aus, aber wenn Du doch eh Bilder hochladen willst, warum dann nicht als weiteres Produkt-Bild?

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #2 am: 13. April 2016, 14:03:49
    5 Bilder kann unsere Warenwirtschaft Büro+.
    4 sind für den Artikel und eines für Google Shoppping und co (ohne Wasserzeichen).
    Da ist leider kein Platz mehr. Des weiteren benennt unsere Warenwirtschaft die Dateien um.

    Aber selbst wenn ich es über das Bild 6 machen würde, so lässt es leider nicht das Problem.

    Kurz umschrieben, schreibt das Gesetz vor das unmittelbar neben dem Preis ein Pfeil mit der Energieklasse stehen muss. Dahinter verlinkt das entsprechende Label.

    Darum die Abfrage ob ein Label vorhanden.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #3 am: 13. April 2016, 14:25:16
    Wie gebt Ihr das in der Wawi ein? Und wie wird das (besonders das Feld mit dem Energiedings) and den Shop übertragen?

    Und welche Shopversion? Update auf 2.x geplant?

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #4 am: 13. April 2016, 14:57:26
    Von der Wawi wird diesbezüglich noch nichts in den Shop übertragen.
    Darüber geht aber alles was auch über den Shop möglich ist.

    Daher meine Idee über den Dateiupload.

    Statt eines Bildes (weil keines mehr frei ist) kann ich ja auch Dateianhänge an den Artikel hängen.
    PDF, Doc, ect.

    Als Beispiel nehme ich jetzt mal "STIEBEL227609_eelabel_aplus.pdf

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Im Produkt Template

    Code: PHP  [Auswählen]
    /templates/xtc5/module/product_info/product_info_v1.html

    soll er prüfen, das wenn eine Datei vorhanden

    Code: PHP  [Auswählen]
    ({if $MODULE_products_media != ''})

    und der Dateiname  *_aplus* beinhaltet, dann soll er die Datei "/images/ee_label/price_label/aplus.png" anzeigen/einbinden und verlinken auf den Anhang ( http://www.domain.tld/media_content.php?coID=43 )

    Update auf 2 ist geplant. Habe es schon mal als "nackte" Version installiert.
    Da habe ich eine Energielabel Möglichkeit leider nicht gefunden. 
    Würde mich aber freuen wenn ich sie übersehen hätte.

    Ich kann über die WaWi wie auch im Shop selber Dateianhänge hochladen und an den

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #5 am: 13. April 2016, 15:36:16
    Von der Wawi wird diesbezüglich noch nichts in den Shop übertragen.
    Darüber geht aber alles was auch über den Shop möglich ist.
    Die Aussage hilft nicht, weil grundsätzlich würde ich ja ein neues Feld anlegen ("energieklasse"). Dort kommt dann A oder AA oder C rein. Das Feld wird im FE ausgelesen und ob Du dann AA als Text oder AA.jpg ausgeben läßt ist praktisch egal.

    In 2.0 hast Du nix übersehen, es ist da auch nicht drin. Aber der Modulaufbau wäre ein anderer und ob man eine neues Modul für eine alte Version entwickeln sollte? v.a. wenn eh ein Update geplant ist?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.022
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #6 am: 14. April 2016, 12:59:20
    Ich würde es auch über ein weiteres Feld in der Tabelle products anlegen (Anleitung hier) und das darüber steuern.
    Beispiel:
    • Neues Feld heißt products_eek (für Energieeffizienzklasse).
    • Nachdem du nach Anleitung das neue Feld zur Verfügung gestellt hast einfach im Template (products_info_*.html) z.B. so abfragen
    Code: XML  [Auswählen]
    {if PRODUCTS_EEK == 'A++'}
    <div class="eek-pic">
        <img src="{$tpl_path}img/eek_aplusplus.jpg" alt ="" />
    </div>
    {elseif PRODUCTS_EEK == 'A+'}
    <div class="eek-pic">
        <img src="{$tpl_path}img/eek_aplus.jpg" alt ="" />
    </div>
    {/if}
    Die Bilder legst du ab in /templates/DEIN_TEMPLATE/img/.

    Wenn du's über Artikel-Content lösen möchtest ist die Frage was in den hochgeladenen Dateien denn enthalten ist. Da könntest du doch direkt die Bilder als File einfügen.

    Gruß,
    noRiddle

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #7 am: 02. Mai 2016, 10:41:10
    Hallo noRiddle,

    danke für deine Antwort.
    Entschuldige das ich mich jetzt erst melde, aber ich bin Papa geworden und die letzten 3 Wochen stand meine Welt quer :)

    Ich werde es im laufe der Woche ausprobieren und mich wieder melden.

    Gruß Heiko

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #8 am: 03. Mai 2016, 09:11:56
    Guten morgen,

    danke noch mal für die Hilfe.

    Mit der Anleitung von noRiddle klappt es schon gut, jetzt würde ich gerne noch die andere hälfte schaffen. Das hinter dem Energiepfeil das jeweilige hoch geladene Label verlinkt ist.

    Zum Beispiel:

    Code: XML  [Auswählen]
    {if PRODUCTS_EEK == 'A++'}
    <div class="eek-pic">
    <a href="http://www.domain.tld/media/products/ARTIKEL123456_Energielabel%20VEN%2056%20U.pdf"><img alt="" src="http://domain.tld/images/ee_label/price_label/a.png" /></a></p>
           
    </div>

    Und jetzt wird es knifflig.
    Jedes Produkt hat seine eigene Datei/Label.

    Zitat
    noRiddle: Wenn du's über Artikel-Content lösen möchtest ist die Frage was in den hochgeladenen Dateien denn enthalten ist. Da könntest du doch direkt die Bilder als File einfügen.

    Daher hatte ich folgende Idee.

    Die hoch geladene Datei/Label sie wie folgt aus.

    ARTIKEL123456_Energielabel%20VEN%2056%20U.jpg

    Sie besteht immer aus zwei Elementen.

    Artikelnummer und den Hinweis Energielabel.

    Kann ich in der der Verlinkung eine Prüfung einsetzen?

    Code: XML  [Auswählen]
    Wenn eine Datei im Contentmanager vorhanden und im Namen "Energielabel" vorkommt, dann verlinke diese mit dem Pfeil?

    Die Datei wird über den Content Manager hoch geladen.
    Dort werden ja noch andere Dateien hoch geladen.
    Zum Beispiel das vorgeschriebene Datenblatt.

    Daher muss vorher bei der Verlinkung überprüft werden welche Datei er aus dem Content Manager nimmt.

    Dies wäre meine Überlegte Lösung. Ich bin auch gerne für jeden anderen Lösungsansatz dankbar.

    Wir müssen halt bei jedem Artikel mit Energielabel diesen Pfeil neben dem Preis anzeigen und dahinter das jeweilige Label.

    Danke noch mal vorab für die Hilfe.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #9 am: 03. Mai 2016, 09:37:30
    Benenne die Datei nach irgendwas, das für das Produkt eindeutig ist.

    Mein Shop zeigt eine Leseprobe zum Buch an, wenn eine Datei <isbn>.pdf existiert. Die ISBN steht im Feld EAN

    Ausschnitt aus meiner
    /templates/wolkenkraft-rainbow/module/product_info/product_info_default.html:
    Code: XML  [Auswählen]
                                            {assign var="PDF" value=media/products/$PRODUCTS_EAN.pdf}
                                            {if file_exists($PDF)}
                        <tr>
                            <td class="key text-left">{#text_products_reading#}</td>
                            <td class="value text-left"><a href="{$PDF}" target="_blank" title="Leseprobe {$PRODUCTS_NAME} von {$PRODUCTS_AUTOR}"><strong>hier klicken für eine Leseprobe</strong></a></td>
                        </tr>
                                            {/if}
     

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #10 am: 03. Mai 2016, 13:18:26
    Hallo Bonsai,

    danke dir für deine Hilfestellung.

    Ich habe nach Anleitung das Feld Products_ean angelegt.

    Dann habe ich folgenden Code zum testen Eingebaut:

    Code: XML  [Auswählen]
    {assign var="PDF" value=media/products/$PRODUCTS_[b]EEK[/b].pdf}
                                            {if file_exists($PDF)}
                        <tr>
                            <td class="key text-left">{#text_products_reading#}</td>
                            <td class="value text-left"><a href="{$PDF}" target="_blank" title="Energieklasse{$PRODUCTS_NAME}"><strong>hier klicken für Energieklasse</strong></a></td>
                        </tr>
                                            {/if}

    Da er mir nichts angezeigt hat, habe ich das "if" weg gelassen.

    Er generiert dann folgenden Link

    http://www.domain.tld/media/products/A.pdf

    Wenn ich es richtig verstehe, dann schaut er nun in der Datenbank nach ob im Feld zum Beispiel "a" angelegt ist und nimmt dann die a.pdf?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #11 am: 03. Mai 2016, 13:42:05
    Ja, hast es richtig verstanden.

    Das Feld products_ean ibn der Tabelle products sollte es eigentlich schon geben.
    Das ist das was Du im Backend in der Artikelbearbeitung mit der EAN des Produkts füllen kannst.

    Warum steht da was anderes?
    Code: PHP  [Auswählen]
    {assign var="PDF" value=media/products/$PRODUCTS_EEK.pdf}

    Was noch sein kann .... weiß ich nicht mehr ... eventuell wird die Variable im Standardshop gar nicht gesetzt. Dann müsstest Du die product_info.php bearbeiten, damit die Variable mitkommt, eventuell sogar noch die Klasse product
    Du kannst aber auch $PRODUCTS_MODEL nehmen. Die ist sicher gesetzt. Also die Artikelnummer nehmen.

    Es hängt auch etwas von Deinem Template ab .... wie sehen denn dort die Variablen aus? z.B. was genau steht da für z.B. für PRODUCTS_IMAGE?
    Es könnte auch sowas sein:
    $module_data.PRODUCTS_IMAGE

    derheiko

    • Fördermitglied
    • Beiträge: 471
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #12 am: 03. Mai 2016, 14:46:27
    OK, danke.

    Das habe ich soweit verstanden.

    Die EAN Feld selber wollte ich nicht nutzen, darum habe ich das Feld EEK für EnergieEffizenzKlasse angelegt.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Leider kann ich die Datei mit dem Label.jpg nicht so umbenennen wie ich es bräuchte.
    Ein Beispiel:

    Ich habe das Label für den "Durchlauferhitzer 0815" und den "Durchlauferhitzer 4711".
    Jeweils eine eigene Energielabel.jpg

    Dann gehe ich in den Content Manager und lade für den den Artikel "Durchlauferhitzer 0815" das Label und verknüpfe es. Dann hat es den Pfad und Namen:

    http://www.domain.tld/media/products/Durchlaufhitzer0815_Energielabel.jpg

    Dann lade ich für den "Durchlauferhitzer 4711" das Label über den Content Manager hoch und verknüpfe es. Es kommt den Pfad und Namen:

    http://www.domain.tld/media/products/Durchlaufhitzer4711_Energielabel.jpg

    Nur zur Info, es handelt sich dabei um zwei verschiedene Labels mit unterschiedlichen Angaben.
    Jeder Durchlauferhitzer hat seine eigenen Angaben.

    In beiden Artikeln habe ich jeweils im Datenbankfeld EEK hinterlegt, das es sich um das Produkt "A" handelt.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Nun habe ich folgenden Code hinterlegt.

    Code: XML  [Auswählen]
    <p class="shippingtime"><strong>{#text_products_eek#}: </strong>{$PRODUCTS_EEK}</p>

    Dann zeigt er folgendes an:

    "Energielabel: A"

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Ich denke das ich dann soweit bis dahin alles richtig gemacht habe.

    Nächster Schritt, statt dem Wort soll er die Grafik anzeigen.

    Also folgender Code:

    Code: XML  [Auswählen]
    [b]{if PRODUCTS_EEK == 'A'}
    <div class="eek-pic">
    <img alt="" src="http://domain.tld/images/ee_label/price_label/a.png" /></p>
           
    </div>      {/if}[/b]

    Leider wird mir dann kein Bild angezeigt.
    Nur wenn ich die "if" Regelung weg lasse.

    Nun würde ich das gerne mit deinem Code verbinden.

    An der Stelle hört mein Wissen auf.

    Er soll nach dem prüfen - ob "A" vorhanden

    {if PRODUCTS_EEK == 'A'}

    Den Pfeil "A" anzeigen

    <img alt="" src="http://domain.tld/images/ee_label/price_label/a.png" /></p>

    und auf die über den Content Manager hoch geladene Datei verlinken.

    Kann ich bei deinem Code eine Art Wildcard anlegen?
    Als Beispiel ein *, das er alles davor ignoriert.

    Hier nur ein Gedanken beispiel:

    Code: XML  [Auswählen]

    {assign var="JPG" value=media/products/$*_Energielabel.jpg}
                                      {if file_exists($JPG)}      
                        <tr>
                            <td class="key text-left">{#text_products_reading#}</td>
                            <td class="value text-left"><a href="{$jpg}" target="_blank" title="Energieklasse{$PRODUCTS_NAME}"><img src="{$tpl_path}img/a.png" alt ="" /></a>
                        </tr>
                                        {/if}

     

    Entschuldige bitte das ist ggfls. zuviel von deiner Zeit in Anspruch nehme.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #13 am: 03. Mai 2016, 15:11:49
    Code: XML  [Auswählen]
    {if PRODUCTS_EEK == 'A'}
    sollte so aussehen:
    Code: XML  [Auswählen]
    {if $PRODUCTS_EEK == 'A'}

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wenn-dann abfrage unter dem Preis einbauen
    Antwort #14 am: 03. Mai 2016, 15:19:00
    Und dann muss die Datei A.jpg heißen und nicht a.jpg!!!

    So sicherer:
    Code: XML  [Auswählen]
    {if $PRODUCTS_EEK|strtolower == 'a'}
    (Die Zeile weiß ich nicht genau, ob die so geht oder eine Fehlermeldung wirft. Probiers aus! Wenn es nicht geht, verlager es vor die Zuweisung PRODUCTS_EEK in der PHP Datei!)

    und dann
    Code: XML  [Auswählen]
    <p class="shippingtime"><strong>{#text_products_eek#}: </strong>{$PRODUCTS_EEK}</p>

    Jetzt MUSS die a.jpg in Kleinbuchstaben sein (Auch die Dateiendung!!!), es ist aber egal ob ein A oder ein a aus der DB kommt.

    Wichtig!!!! Du arbeitest mit 95%iger Wahrscheinlichkeit auf einem Linux/Unix artigen System.
    Also sind text.TXT, TEST.txt und test.txt drei völlig unterschiedliche Dateien, die im gleichen Ordner liegen!!! Auf Windoof würden sich die 3 Dateien gegenseitig überschreiben!
    5 Antworten
    6346 Aufrufe
    17. Februar 2012, 04:04:57 von inter-networks
    0 Antworten
    1551 Aufrufe
    27. Februar 2017, 14:29:48 von sowieso-max
    2 Antworten
    2408 Aufrufe
    26. Oktober 2010, 12:14:01 von genius
    1 Antworten
    2916 Aufrufe
    09. September 2011, 21:08:39 von Soeldner