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: Zusätzliche Box in der Artikelbeschreibung

    xampp

    • Fördermitglied
    • Beiträge: 190
    Zusätzliche Box in der Artikelbeschreibung
    am: 20. März 2021, 17:41:08
    Guten Tag,
    nachdem ich mein Anliegen im Thread von Karl nicht eindeutig vorbringen konnte und mir leider seinen Unmut zugezogen habe versuche ich das ganze, nachdem ich nochmal meine Gedanken sortiert habe, in einem eigenen Thread, auch um den Bootstrap4 Thread nicht unnötig aus der Bahn zu werfen.
    Zu meinem Problem bzw. Wunsch:
    Ich möchte über die product_info_tabs_v1_3_spaltig.html eine zusätzliche Box an diese Stelle setzen:
    [ Für Gäste sind keine Dateianhänge sichtbar ]
    und die Eingabemaske "Kurzbeschreibung" in der Artikelbearbeitung:
    [ Für Gäste sind keine Dateianhänge sichtbar ]
    zur Befüllung missbrauchen, der CKEditor ist dafür ja bestens geeignet.
    Diese Box soll aber nur angezeigt werden wenn sie befüllt ist.
    Mein Wissen reicht für dieses Vorhaben aber bei weitem nicht aus, ich reime mir mal zusammen das entsprechende Datenbankfelder schon vorhanden sind, der "Pointer" der "Kurzbeschreibung" aber auf die neue Box umgeleitet werden muss, wie und ob das möglich ist erschließt sich mir leider nicht.
    Lösungsvorschläge die ich selbst umsetzen kann sind mir sehr willkommen, aber natürlich auch gewerbliche, kurzfristig umzusetzende Angebote für entsprechende Codezeilen.

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

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #1 am: 20. März 2021, 18:36:45
    Irgendwie habe ich das Gefühl, dass du es dir schwieriger machst, als es eigentlich ist. Auf Produktseiten steht dir schon die Kurzbeschreibung ohne weitere Klassenerweiterungen oder Auto-Include-Dateien zur Verfügung:

    Code: PHP  [Auswählen]
    {if $PRODUCTS_SHORT_DESCRIPTION != ''}{$PRODUCTS_SHORT_DESCRIPTION}{/if}

    Du musst nur noch einen entsprechend gestylten Container um die Variable drumherumbauen:

    Code: PHP  [Auswählen]
      {if $PRODUCTS_SHORT_DESCRIPTION != ''}
        <div class="box_infobox card">
          <div class="card-body">{$PRODUCTS_SHORT_DESCRIPTION}</div>
        </div>
      {/if}

    Oder verstehe ich dein Anliegen falsch?

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #2 am: 20. März 2021, 18:46:17
    Hallo Alex, vielen Dank für die Antwort  :-)
    ich glaube du hast wohl Recht, der Karl ist auch schon arg genervt  :-(
    Vielleicht habe ich auch mit "content" in die Irre geleitet, war auf jeden Fall nicht meine Absicht.
    Wie bekomme ich denn eine neue Box an die besagte Stelle?
    Ich denke ich muss in der product_info_tabs_v1_3_spaltig.html unterhalb dieser Stelle:
    Code: PHP  [Auswählen]
    <div class="pd_content col-md-6 col-lg-3">
                                    <div class="pd_infobox">
                                            <div class="card bg-custom p-2 mb-2">
                                                    {if $SHIPPING_NAME}<div class="small"><strong>{#text_shippingtime#}</strong> {if $SHIPPING_IMAGE}<img class="pd_shipping_image" src="{$SHIPPING_IMAGE}" alt="{$SHIPPING_NAME}" />{/if} {$SHIPPING_NAME_LINK}</div>{/if}
                                                    {if $PRODUCTS_MODEL != ''}<div class="small"><strong>{#model#}</strong> <span itemprop="sku">{$PRODUCTS_MODEL}</span></div>{/if}
                                                    {if $PRODUCTS_EAN != ''}<div class="small"><strong>{#ean#}</strong> <span itemprop="gtin{$PRODUCTS_EAN|strlen}">{$PRODUCTS_EAN}</span></div>{/if}
                                                    {if $PRODUCTS_RATING_COUNT > 1 || $BS4_AWIDS_PRODUCTS_SUM_REVIEWS > 1}
                                                            <div class="pd_inforow small" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
                                                                    <strong>{#info_reviews#}</strong>&nbsp;
                                                                    {if $BS4_AWIDS_PRODUCTS_AVERAGE_PERCENT}
                                                                            <div class="d-inline">
                                                                                    <a class="bs4_avg_container" href="#" data-pid="{$PRODUCTS_ID}" data-class="prod" title="{$smarty.const.BS4_AWIDSRATINGBREAKDOWN_ARROW_TITLE}">
                                                                                            <span class="ratings">
                                                                                                    <span class="fas empty-stars"></span><span class="fas full-stars" style="width:{$BS4_AWIDS_PRODUCTS_AVERAGE_PERCENT}%"></span>
                                                                                            </span>&nbsp;({$BS4_AWIDS_PRODUCTS_SUM_REVIEWS})
                                                                                            <i class="fas fa-chevron-down"></i>
                                                                                    </a>
                                                                            </div>
                                                                    {else}
                                                                            <span class="rating_stars"><img src="{$tpl_path}img/stars_{$PRODUCTS_AVERAGE_RATING}.png" alt="{$smarty.const.TEXT_OF_5_STARS|sprintf:$PRODUCTS_AVERAGE_RATING}" /></span>&nbsp;({$PRODUCTS_RATING_COUNT})
                                                                    {/if}
                                                                    <meta itemprop="ratingValue" content="{$PRODUCTS_AVERAGE_RATING}" />
                                                                    <meta itemprop="bestRating" content="5" />
                                                                    <meta itemprop="ratingCount" content="{$PRODUCTS_RATING_COUNT}" />
                                                            </div>
                                                    {elseif $PRODUCTS_RATING_COUNT > 0 }
                                                            <div class="pd_inforow small" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
                                                                    <strong>{#info_review#}</strong>&nbsp;
                                                                    {if $BS4_AWIDS_PRODUCTS_AVERAGE_PERCENT}
                                                                            <div class="d-inline">
                                                                                    <a class="bs4_avg_container" href="#" data-pid="{$PRODUCTS_ID}" data-class="prod" title="{$smarty.const.BS4_AWIDSRATINGBREAKDOWN_ARROW_TITLE}">
                                                                                            <span class="ratings">
                                                                                                    <span class="fas empty-stars"></span><span class="fas full-stars" style="width:{$BS4_AWIDS_PRODUCTS_AVERAGE_PERCENT}%"></span>
                                                                                            </span>&nbsp;({$BS4_AWIDS_PRODUCTS_SUM_REVIEWS})
                                                                                            <i class="fas fa-chevron-down"></i>
                                                                                    </a>
                                                                            </div>
                                                                    {else}
                                                                            <span class="rating_stars"><img src="{$tpl_path}img/stars_{$PRODUCTS_AVERAGE_RATING}.png" alt="{$smarty.const.TEXT_OF_5_STARS|sprintf:$PRODUCTS_AVERAGE_RATING}" /></span>&nbsp;({$PRODUCTS_RATING_COUNT})
                                                                    {/if}
                                                                    <meta itemprop="ratingValue" content="{$PRODUCTS_AVERAGE_RATING}" />
                                                                    <meta itemprop="bestRating" content="5" />
                                                                    <meta itemprop="ratingCount" content="{$PRODUCTS_RATING_COUNT}" />
                                                            </div>
                                                    {/if}
                                                    {if isset($PRODUCTS_DISCOUNT) && $PRODUCTS_DISCOUNT != ''}<div class="small"><strong>{#text_discount#}</strong> {$PRODUCTS_DISCOUNT}</div>{/if}
                                                    {if $PRODUCTS_EXPIRES}<div class="small text-danger">{#text_expires_date#} {$PRODUCTS_EXPIRES}</div>{/if}
                                                    {if $PRODUCTS_MANUFACTURERS_MODEL != ''}<div class="small"><strong>{#products_manufacturer_model#}</strong> {$PRODUCTS_MANUFACTURERS_MODEL}</div>{/if}
                                                    {if isset($MANUFACTURER) && $MANUFACTURER != ''}<div class="small"><strong>{#manufacturer#}</strong> <span itemprop="brand">{$MANUFACTURER}</span></div>{/if}
                                                    {if isset($MANUFACTURER_LINK) && $MANUFACTURER_LINK != ''}<div class="small"><strong>{#manufacturer_more_of#}</strong> <a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}">{$MANUFACTURER}</a></div>{/if}
                                                    {if $PRODUCTS_URL != ''}<div class="small">{$PRODUCTS_URL}</div>{/if}
                                            </div>
                                            {if $smarty.const.BS4_PROD_DETAIL_SHOW_MANUIMAGE == 'true' && isset($MANUFACTURER_IMAGE) && $MANUFACTURER_IMAGE != ''}<div class="pd_manu_image d-none d-md-block mb-3"><a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}"><img class="img-thumbnail img-fluid" src="{$MANUFACTURER_IMAGE}" alt="{$MANUFACTURER|onlytext}" /></a></div>{/if}
                                    </div>
                            </div>
    angreifen, aber reicht es da einfach deinen Code reinzusetzen?

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #3 am: 20. März 2021, 18:59:25
    Code: PHP  [Auswählen]
    $PRODUCTS_SHORT_DESCRIPTION
    kann ich nicht finden, nur:

    Code: PHP  [Auswählen]
    $PRODUCTS_DESCRIPTION

    Short ist aber die Kurzbeschreibung denke ich, muss die erst eingeschaltet werden?

    Oh, gefunden, in der product_info.php steht:
    Code: PHP  [Auswählen]
    $info_smarty->assign('PRODUCTS_SHORT_DESCRIPTION', stripslashes($product->data['products_short_description']));

    bin ich da richtig?

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #4 am: 20. März 2021, 19:59:04
    Die Variable ist vorhanden und muss nur noch im Template eingefügt werden.

    Benutze mein oben bereits fertig gepostetes Konstrukt dafür und füge es an gewünschter Stelle in deinen product_info_*.html-Templates ein.

    Hinterher kannst du dort immer noch die CSS-Klassen ändern und die Box so darstellen, wie du es wünscht.

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #5 am: 20. März 2021, 20:18:28
    Alex, du verstehst mich  :thumbs: das ist genau was ich wollte, vielen Dank dafür, das funktioniert peeerfekt.
    Jetzt muss ich nur noch die richtigen Anpassungen per css vornehmen, die Datei/Stelle sollte ich wohl finden können.

    Nur, im Warenkorb braucht die Kurzbeschreibung nicht auftauchen, kann ich das verhindern?

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #6 am: 20. März 2021, 20:46:39
    Das ist ja wieder eine ganz andere Baustelle und im Standard steht die Bestell- oder alternativ Kurzbeschreibung ja erst im Checkout (checkout_confirmation.php) beim Artikel dabei.

    Wenn du dies meintest, kannst du es im Backend unter Konfiguration > Mein Shop > Bestellbestätigungsseite: Kurzbeschreibung deaktivieren. (Falls es aber im Bootstrap-Template tatsächlich im Warenkorb schon eingeblendet werden sollte, müsstest du dir die Template-Datei order_details.html mal anschauen.)

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #7 am: 20. März 2021, 20:55:22
    Konfiguration > Mein Shop > Bestellbestätigungsseite: Kurzbeschreibung ist deaktiviert, da hatte ich sofort dran gedacht, aber die Kurzbeschreibung wird trotzdem schon im Warenkorb angezeigt.
    Da sehe ich mir mal die order_details.html an, ich denke mal dass auch hier der relevante Teil $PRODUCTS_SHORT_DESCRIPTION lautet  :-)

    P.S.:
    Angeschaut, gefunden und abgeschaltet, jetzt ist der Warenkorb rein  :thx:

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #8 am: 21. März 2021, 12:58:41
    Guten Tag,
    das "verlinken" ist gar nicht so einfach stelle ich gerade fest  :-(
    Ich möchte jetzt ein beliebiges Wort aus dem Text der neu erstellten Box auf den Tab "Downloads" verlinken.
    Ein Artikel Content ist natürlich angelegt, der Tab ist sichtbar.
    Wenn ich in der angelegten Box z.Bsp. auf "Zusätzliche Informationen" klicke soll der Tab "Downloads" angezeigt werden.
    Meine Versuche mit dem Link einfügen im CKEditor machen den Text "Zusätzliche Informationen" zum Button, aber der Tab wird nicht angezeigt.
    Geht das nur local nicht oder setze ich da falsch an?

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #9 am: 21. März 2021, 13:45:02
    Hast du dich auch an Karls Vorschlag gehalten und das Template entsprechend erweitert?

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #10 am: 21. März 2021, 14:00:20
    Jawohl, aber ein Button ist gar nicht nötig und würde auch unnötig Platz belegen.
    Ein Textteil würde mir als "Schalter" schon reichen um den Tab Downloads anzuzeigen.

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #11 am: 21. März 2021, 18:08:02
    Habe trotzdem nochmal den Vorschlag von Karl probiert, was von Karl kommt muss funktionieren.
    Und, es funktioniert auch, habe gestern nur die falsche Stelle in der product_info_tabs_v1_3_spaltig.html erwischt.
    Habe den Button in die mit awids Hilfe erstellten Box integriert indem ich ein <div></div> weggelassen habe.
    Aber wo/wie kann ich den Button zentrieren und verkleinern?

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #12 am: 21. März 2021, 18:38:39
    Das kannst du alles über die Bootstrap-Klassen steuern. Da gibt es doch kleine Helper wie btn-lg, btn-sm, btn-xs und so weiter.

    xampp

    • Fördermitglied
    • Beiträge: 190
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #13 am: 21. März 2021, 20:37:15
    Danke für die Antwort  :-)
    wenn ich das Frontend mit FireFox untersuche wird mir die stylesheet.min.css angezeigt die ich mir auch angesehen habe.
    Aber irgendwie ist die nicht so wie ich das aus der Vergangenheit gewohnt bin, da muss ich erst mal versuchen in Ruhe den Durchblick zu finden.

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.852
    • Geschlecht:
    Re: Zusätzliche Box in der Artikelbeschreibung
    Antwort #14 am: 22. März 2021, 06:10:15
    Schalte im Backend unter erweiterte Konfiguraton die Komprimierung für CSS und JavaScript aus
    3 Antworten
    4245 Aufrufe
    06. März 2012, 13:52:56 von Alexander Almendinger
    0 Antworten
    1281 Aufrufe
    13. Januar 2017, 10:48:19 von karl
    2 Antworten
    2569 Aufrufe
    09. Oktober 2010, 15:30:22 von Tomcraft