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: Wie kann ich Lieferzeiten farblich darstellen?

    caggi

    • Neu im Forum
    • Beiträge: 9
    Wie kann ich Lieferzeiten farblich darstellen?
    am: 12. November 2013, 18:50:34
    Hallo,
    erstmal ein großes Lob an das Modified-Team.
    Bis jetzt konnte ich all meine Probleme durch die Forensuche lösen.
    Jetzt kann ich allerdings nichts hilfreiches finden, dabei ist die Lösung wahrscheinlich ganz einfach.
    Meine Frage:
    Wie kann ich Lieferzeiten farblich darstellen?
    Also z.B. Lieferzeit 1-2 Werktage soll grün sein, Lieferzeit 3-4 Werktage soll orange sein.

    Vielen Dank !

    Linkback: https://www.modified-shop.org/forum/index.php?topic=28332.0

    Kwonga

    • Fördermitglied
    • Beiträge: 258
    • Geschlecht:
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #1 am: 12. November 2013, 19:03:47

    caggi

    • Neu im Forum
    • Beiträge: 9
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #2 am: 12. November 2013, 19:25:54
    Vielen Dank, aber das ist nicht ganz, was ich suche.

    Ich will nur die Schriftfarben verändern.
    Also "1-2 Werktage" soll die Schriftfarbe grün haben.
    Ich will einfach, daß sich die verschiedenen Lieferzeiten etwas voneinander abheben.

    karsta.de

    • Experte
    • Beiträge: 3.156
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #3 am: 12. November 2013, 19:35:17
    Du hast doch bei den Lieferzeiten (Admin) die Möglichkeit ein Bild hochzuladen, dass dann auch bei Anzeige der Lieferzeiten mit angezeigt wird.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #4 am: 12. November 2013, 20:06:49
    ...erstmal ein großes Lob an das Modified-Team.

    Schön, und die ganzen Helfer bekommen kein Lob ? ;-)

    Spaß beiseite.
    • FAQ gelesen ?
    • wenn ja, Shopversion ?
    • Lieferzeitenanzeige wo ?
      product_listing ?
      product_info ?
      checkout_confirmation ?

    Für die beiden erstgenannten müsstest du
    • für product_info
      für die products_shippingtime einen Smarty-Platzhalter in /includes/modules/product-info.php definieren
    Das ersetzen
    Code: PHP  [Auswählen]
      if (ACTIVATE_SHIPPING_STATUS == 'true') {
        $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
        $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
      }
    mit
    Code: PHP  [Auswählen]
      if (ACTIVATE_SHIPPING_STATUS == 'true') {
        $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
        $info_smarty->assign('SHIPPING_ID', $product->data['products_shippingtime']);
        $info_smarty->assign('SHIPPING_IMAGE', $main->getShippingStatusImage($product->data['products_shippingtime']));
      }
    • für die product_listing
      in /includes/classes/product.php das $productData = array ( erweitern um
    Code: PHP  [Auswählen]
    'PRODUCTS_SHIPPING_ID' = $array['products_shippingtime'],.

    Der Text für die Lieferzeit wird nämlich über eine Funktion in der /includes/classes/main.php geholt.

    In den Template-Dateien
    /templates/DEIN_TEMPLATE/module/product_info/product_info_*.html
    /templates/DEIN_TEMPLATE/module/product_listing/product_listing_*.html

    kannst du dann mittels if-clause die ID (= products_shippingtime) abfragen und je nach Fall eine andere Klasse vergeben der du dann in deinem Template-Stylesheet die Farben zuordnest.

    Für product_info_*.html z.B.:
    statt
    Code: PHP  [Auswählen]
    {if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>

    das
    Code: PHP  [Auswählen]
    {if $SHIPPING_NAME}
    {if $SHIPPING_ID == '1'}
    <p class="shippingtime-green"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}
    </p>
    {else if $SHIPPING_ID == '2'}
    <p class="shippingtime-red"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}
    </p>
    {/if}
     

    In den product_listing-Templates muß das mit {if $module_data.PRODUCTS_SHIPPING_ID} abgefragt werden.
    Die IDs bekommst du z.B. raus indem du im Backend bei
    Konfiguration => Lieferstatus
    den gewünschten zum Bearbeiten markierst und die ID oben in der URL abliest (oID=X).

    Bekommst du das hin ?

    Gruß,
    noRiddle

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #5 am: 13. November 2013, 13:44:49
    Vorweg mal ein :thx:  an die, wie so immer ausführliche Erklärung von noRiddle.

    Ich hatte das mal irgendwann/irgendwo so gemacht (verschiedene classen anhand einer ID):

    Also die php Änderungen so wie es noRiddle schon geschrieben hat, und dann,

    für product_info_*.html z.B.:
    statt:
    Code: PHP  [Auswählen]
        {if $SHIPPING_NAME}<p class="shippingtime"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>
    das:
    Code: PHP  [Auswählen]
        {if $SHIPPING_NAME}<p class="shippingtime shippingcolor{$SHIPPING_ID}"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>

    und in der css-Datei die class definieren z.B.:

    Code: CSS  [Auswählen]
    .shippingcolor1 {
            color: #008000 !important;
    }
    .shippingcolor2 {
            color: #xxxxxx !important;
    }
     
    usw.

    Gruß.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #6 am: 13. November 2013, 14:24:17
    Noch netter.  :good:

    Gruß,
    noRiddle

    caggi

    • Neu im Forum
    • Beiträge: 9
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #7 am: 13. November 2013, 14:41:30
    noRiddle: Sorry, wie konnte ich die Helfer nur vergessen. Ist echt toll, wieviel Zeit und Mühe ihr hier alle reinsteckt.

    Danke für die Vorschläge, werde mich am Wochenende damit befassen.

    Ich habe auf YouTube ein Video gesehen: Lieferstatus Farbgestaltung xtc - xt:c, xtcommerce, modified, modified eCommerce Shopsoftware von CMS Halle (Link:http://www.youtube.com/watch?feature=player_detailpage&v=4pjKEZNsZeA) Ist leider ohne Ton.

    Dort sieht man unter "Lieferstatus bearbeiten" noch ein Feld "Hex Code", in das man wohl einen Farbcode einfügen kann. Leider weiss ich nicht, wie man an dieses Feld kommt, ob es sich dabei z.B. um ein Zusatzmodul handelt.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #8 am: 13. November 2013, 15:24:23
    Das ist eine Erweiterung.
    Es macht aber nicht viel Sinn die Farbe im Backend editierbar zu machen, das ist ja über CSS einfach machbar und wird meist ja auch nur einmal gemacht.
    Alles im Backend einstellbar zu machen macht nicht immer Sinn...

    Gruß,
    noRiddle

    Tetra

    • Neu im Forum
    • Beiträge: 43
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #9 am: 08. Februar 2014, 22:37:27
    Hey Leute,

    ich hätte mal ein paar Fragen zu eurer Anleitung.


    Frage 1:


    Code: CSS  [Auswählen]
        'PRODUCTS_SHIPPING_ID' = $array['products_shippingtime'],.

    Soll das mit "Punkt" am Ende sein oder ohne, so wie die Anderen? Kann das einfach dazwischen gesetzt werden? Also z.B.:

    Code: CSS  [Auswählen]
    'PRODUCTS_MODEL'=> isset($array['products_model']) ? $array['products_model'] : '',
    'PRODUCTS_SHIPPING_ID' = $array['products_shippingtime'],.
    'PRODUCTS_EAN' => isset($array['products_ean']) ? $array['products_ean'] : '',

    Frage 2:

    Code: CSS  [Auswählen]
    {if $SHIPPING_NAME}
    {if $SHIPPING_ID == '1'}
    <p class="shippingtime-green"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}
    </p>
    {else if $SHIPPING_ID == '2'}
    <p class="shippingtime-red"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}
    </p>
    {/if}

    Gehört das "{/if}" am Ende dazu? An der Stelle sind dann 2 "{/if}" hintereinander.

    Frage 3:

    Zitat
    In den product_listing-Templates muß das mit {if $module_data.PRODUCTS_SHIPPING_ID} abgefragt werden.

    Was bedeutet das? Muss ich "{if $module_data.PRODUCTS_SHIPPING_ID}" irgendwo einfügen? Wenn ja, in welche Datei und an welcher Stelle (xtc5 1.06)

    Habe alles so ausgeführt, in mehreren Konstellationen, mit "Punkt" und ohne "{/if}", aber mein Shop wird nicht angezeigt. Habe allerdings das noch nicht gemacht:
    Zitat
    In den product_listing-Templates muß das mit {if $module_data.PRODUCTS_SHIPPING_ID} abgefragt werden.

    Habe es auch nach web0null's Rezept probiert, also das eingefügt:
    Code: CSS  [Auswählen]
    {if $SHIPPING_NAME}<p class="shippingtime shippingcolor{$SHIPPING_ID}"><strong>{#text_shippingtime#}</strong>{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME}</p>

    und dann ganz am Ende der stylesheet.css das eingefügt:

    Code: CSS  [Auswählen]
    .shippingcolor1 {
            color: #008000 !important;
    }
    .shippingcolor2 {
            color: #xxxxxx !important;
    }

    Seite bleibt ebenfalls weiß. Kann mir jemand helfen?

    Gruß Tetra

    Tetra

    • Neu im Forum
    • Beiträge: 43
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #10 am: 09. Februar 2014, 04:44:32

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #11 am: 09. Februar 2014, 18:03:20
    Ok, nochmal von vorne (anhand 1.06):

    1. /includes/classes/product.php, für "product_listing"
    Suche:
    Code: PHP  [Auswählen]
    'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name,
    Ersetze:
    Code: PHP  [Auswählen]
    'PRODUCTS_SHIPPING_NAME'=>$shipping_status_name,
    'PRODUCTS_SHIPPING_ID'=>(isset($array['products_shippingtime']) && ACTIVATE_SHIPPING_STATUS == 'true') ? $array['products_shippingtime'] : '',

    2. /includes/modules/product_info.php, für "product_info"

    Suche:
    Code: PHP  [Auswählen]
    $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
    Ersetze:
    Code: PHP  [Auswählen]
    $info_smarty->assign('SHIPPING_NAME', $main->getShippingStatusName($product->data['products_shippingtime']));
    $info_smarty->assign('PRODUCTS_SHIPPING_ID', isset($product->data['products_shippingtime']) ? $product->data['products_shippingtime'] : '');

    3. /templates/xtc5/module/product_listing/product_listing_v1.html
    Suche:
    Code: XML  [Auswählen]
    <p class="shippingtime">

    Ersetze:
    Code: SQL  [Auswählen]
    <p class="shippingtime shippingcolor{$module_data.PRODUCTS_SHIPPING_ID}">

    4. /templates/xtc5/module/product_info/product_info_*.html

    Suche:
    Code: XML  [Auswählen]
    <p class="shippingtime">

    Ersetze:
    Code: SQL  [Auswählen]
    <p class="shippingtime shippingcolor{$PRODUCTS_SHIPPING_ID}">

    5. /templates/xtc5/stylesheet.css

    Code: CSS  [Auswählen]
    .shippingcolor1 {
      color: #008000 !important;
    }
    .shippingcolor2 {
      color: #FF0000 !important;
    }

    ... Farben sind nur als Beispiel

    Gruß

    Fubu

    • Mitglied
    • Beiträge: 155
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #12 am: 09. Februar 2014, 18:26:01
    Hallo,
    was ist den der unterschied zu dieser Variante ???

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #13 am: 09. Februar 2014, 19:01:44
    Diese Variante ist "keine gute" Lösung, da in so einem Fall Html-Code nichts in der Db. zu suchen hat, obwohl es natürlich "momentan" möglich ist.
    Gruß

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Wie kann ich Lieferzeiten farblich darstellen?
    Antwort #14 am: 09. Februar 2014, 19:20:42
    Wer nicht will dass der Text "Lieferzeit:" auch die Farben bekommt.

    Macht Statt Punkt 3:
    3. /templates/xtc5/module/product_listing/product_listing_v1.html
    Suche:
    Code: XML  [Auswählen]
    {$module_data.PRODUCTS_SHIPPING_NAME}</p>

    Ersetze:
    Code: XML  [Auswählen]
    <span class="shippingcolor{$module_data.PRODUCTS_SHIPPING_ID}">{$module_data.PRODUCTS_SHIPPING_NAME}</span></p>

    und Statt Punkt 4:
    4. /templates/xtc5/module/product_info/product_info_*.html

    Suche:
    Code: XML  [Auswählen]
    {$SHIPPING_NAME}</p>

    Ersetze:
    Code: XML  [Auswählen]
    <span class="shippingcolor{$PRODUCTS_SHIPPING_ID}">{$SHIPPING_NAME}</span></p>

    Gruß
    4 Antworten
    3277 Aufrufe
    08. Juni 2011, 13:40:04 von Bennie
    2 Antworten
    2144 Aufrufe
    12. Juli 2014, 01:48:34 von Caro
    1 Antworten
    1935 Aufrufe
    16. Juli 2013, 11:29:56 von WayneTsun
    5 Antworten
    4214 Aufrufe
    17. Juli 2013, 15:20:13 von Gelb