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: MODUL: Zusatzartikel unter Warenkorb für modified eCommerce Shopssoftware

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    Hallöchen

    Habe ein älteres Imedes Modul angepasst für die modified eCommerce Shopssoftware v1.06 rev 4356.
    Zusätzliche Artikel unter dem Warenkorb anzeigen.

    Kurze Beschreibung:

    Zitat
    Mit dem Modul Artikel unterhalb des Warenkorbes für modified eCommerce Shopssoftware v1.06 rev 4356 können Sie beliebige Artikel als Zusatzartikel
    unterhalb des Warenkorbes anzeigen lassen von wo aus diese direkt in den Warenkorb gelegt werden können.

    Zum Definieren dieser Artikel befindet sich auf der Artikeleingabeseite im Backend links oben unterhalb von
    "Sortierreihenfolge (Startseite):" eine neue Einstellungsmöglichkeit, die Sie einfach nur wählen müssen.
    Weitere Einstellungen sind nicht notwendig.

    Anbei noch 2 Screens sowie der Datei selber.

    Frontend:

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

    Backend:

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

    Gruß Ralph

    [EDIT Tomcraft 11.01.2015: Modul aktualisiert.]
    [EDIT Tomcraft 27.07.2016: Modul für Shopversion 2.0.0.0 aktualisiert.]
    [EDIT Tomcraft 27.04.2018: Modul für Shopversion 2.x aktualisiert, Danke an swolfram.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=24714.0
    rechtstexte für onlineshop

    jannemann

    • modified Team
    • Beiträge: 6.289
    • Geschlecht:
    Hallo Ralph,

    vielen Dank fürs Teilen!  :thumbs:

    Schöne Grüße,
    Jan

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    @ralph_84
    Bei dem ersten Screenshot sehe ich "Neuer Artikel in 'TOP' ".
    Du legst doch nicht etwa neue Artikel in TOP an ?
    Das nix gut weil es sein kann, daß du sie nicht mehr wiederfindest.
    Soweit ich weiß geht das auch in der 1.06 rev 4356 nicht mehr... ?

    Gruß,
    noRiddle

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    @noRiddle

    Nein Natürlich lege ich die nicht im Top an.
    Habe diese nur zur erleichterung für den Screen dorthin verlinkt.

    Aber trotz allem Danke.

    Gruß Ralph

    Darkhundidi

    • Neu im Forum
    • Beiträge: 1
    Hallo Zusammen,

    Ich habe das ganze mal ausprobiert und in meinen Shop eingefügt.
    Hat alles soweit ganz gut geklappt die Anzeige ist da, wenn ich ein neuen Artikel anlegen will, dass Problem ist nur immer wenn ich angebe das der Artikel dann später im Warenkorb sein soll und ich dann die Checkbox "Ja" auswähle und speichere, ändert es automatisch wieder auf "Nein" und der Artikel erscheint nicht automatisch im Warenkorb. Wenn ich den Artikel danach bearbeite und die Checkbox wieder auf "Ja" stelle und speichere, ändert es wieder automatisch auf "Nein".

    Hat irgendeiner eine Idee oder eine Lösung?

    kdm80

    • Neu im Forum
    • Beiträge: 4
    Hallo,

    ich habe das Modul installiert. Funktioniert genau wie beschrieben.

    Jedoch werden die gekennzeichneten Artikel dauerhaft im Warenkorb angezeigt.
    Ich möchte, dass die Zusatzartikel im Warenkorb nur sichtbar sind, wenn der Warenkorb nicht leer ist. Ist das möglich? Wenn ja, wie.

    Danke und Gruss
    Kerstin

    scarli

    • Neu im Forum
    • Beiträge: 6
    • Geschlecht:
    Hallo ,auch ich habe das Modul verbaut und schließe mich mal Kerstin an.
    Zudem besteht die Möglichkeit wenn 1000 Artikel Vorrätig sind 980 Gratisartikel in den Warenkorb zu legen und dann werden Versandkosten fällig.

    Besser wäre nur wenn Artikel im Warenkorb sind 1 Artikel als Gratisartikel zuzulassen.

    Vielleicht hat jemand derartiges bereits Verbaut.

    MFG
    scarli

    kdm80

    • Neu im Forum
    • Beiträge: 4
    Hallo,

    mein Problem mit dem Anzeigen der Zusatzartikel bei leerem Warenkorb hat sich erledigt.
    Ich habe einfach in der shopping_cart.html
    {$MODULE_cart_specials}
    mit in die {else}- Anweisung bei {if $cart_empty==true} reingepackt und schon werden die Zusatzartikel nur noch angezeigt, wenn mindestens 1 Artikel im Warenkorb ist.

    Gruss
    Kerstin

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.853
    • Geschlecht:
    Schönes Modul, funktioniert auf den ersten Blick einwandfrei.

    Nur eine Frage hätte ich:
    wie kann man abfangen, dass Artikel die der Kunde bereits im Warenkorb hat, NICHT MEHR als "Interessante weitere Artikel" vorgeschlagen werden?

    Sprich einen Filter, der sagt:
    Wenn Kunde den Artikel bereits im Warenkorb, dann nicht anzeigen!

    Grüße
    Dominik

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.853
    • Geschlecht:
    Hallo,

    da hier auch die Funktion buy_now aufgerufen wird, wollte ich mal nachfragen, ob das in Bezug auf diese Sicherheitslücke relevant ist. Und wenn ja, wie genau das gefixt werden sollte!

    Hier ein Auszug aus der entsprechenden Datei

    Code: PHP  [Auswählen]
    while ($new_products = xtc_db_fetch_array($new_products_query, true)) {
      $button_buy_now2   = '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$new_products['products_id'].'&def_attr=1&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$new_products['products_name'].TEXT_NOW).'</a>';
      $button_go_product = '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($new_products['products_id'], $new_products['products_name'])).'">'.xtc_image_button('button_product_more.gif', TEXT_BUY.$new_products['products_name'].TEXT_NOW).'</a>';
     
      $pda = $product->buildDataArray($new_products);
      $pda['PRODUCTS_BUTTON_BUY_NOW2'] = $button_buy_now2;
      $pda['PRODUCTS_BUTTON_SHOW_PRODUCT'] = $button_go_product;

            $module_content[] = $pda;
    //      $module_content[] = $product->buildDataArray($new_products);
    }

    Grüße
    Dominik

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Die Lücke bezog sich lediglich auf die im Patch gefixte Funktion.
    Diese gefixte Funktion wird in den cart_actions im case buy_now benutzt womit der Get-Parameter nun abgesichert ist.

    Gruß,
    noRiddle

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.853
    • Geschlecht:
    Hi noRiddle,

    also sind davon Module sozusagen ausgeschlossen?!

    Grüße
    Dominik

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Was ist "davon" (wovon ?) und was meinst du mit "ausgeschlossen" ?

    Es ging ja bei dem Fix um eine Funktion wo ein GET-Parameter geschützt werden musste was mit dem Fix geschehen ist.
    Sollte ein Modul diese Funktion benutzen ist ja alles okay nach dem Fix.

    Generell sollte bei allen Erweiterungen und Modulen immer auf Sicherheit geachtet werden,
    jeder vom User beeinflussbare Wert ist zu schützen gegen Manipulation, insbesondere eben auch GET-Parameter die für DB-Abfragen benutzt werden.

    Gruß,
    noRiddle

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.853
    • Geschlecht:
    Sorry, unklare Ausdrucksweise:
    ich meinte, dass also "externe" Module durch den Fix (=davon) quasi mitgefixt werden und nicht nochmals eine Anpassung an dem Modul benötigen?! (=ausgeschlossen)

     ;-)

    Grüße
    Dominik

    cayuco

    • Fördermitglied
    • Beiträge: 848
    • Geschlecht:
    Das Modul klingt sehr interessant. Wäre es auch möglich zu bestimmen, das die Produkte einen Bezug zu den Artikeln aus dem Warenkorb haben? Ähnlich wie beim Cross-Selling - also zB passender Schal zur Pudelmütze?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    @voodoopupp
    Jau, wie ich schon sagte, wenn die gefixte Funktion dort benutzt wird ist selbstverständlich alles okay.
    Das allgemeine Beachten von Absicherungen von User-Input bleibt davon unberührt.

    @cayuco
    Soweit ich weiß wurde ein neues Feld für die Produktbearbeitung generiert mithilfe dessen man bestimmen kann welche Artikel unter dem Warenkorb erscheinen sollen.
    Man könnte die Query die die Produkte dann ausliest ändern und statt dessen Produkte aus dem Cross-Selling nehmen.
    Bedingungen wären hierbei
    • daß die Produkt-IDs der Produkte im Warenkorb ausgelesen werden (sollten in der $_SESSION['cart'] stehen)
      und
    • daß das entsprechende gewünschte Produkt auch normal cross-verlinkt ist, also über das normale Cross-Selling-Modul.
      Das Markieren eines Produktes für das Anzeigen unter dem Warenkorb würde also effektlos bleiben wenn das Produkt nicht cross-verlinkt zu im Warenkrob befindlichen Produkten wäre.

    Gruß,
    noRiddle

    bheppner

    • Fördermitglied
    • Beiträge: 43
    Hallo zusammen,  beim Einbau des obigen Modules in der neuesten modified-Version v1.06 rev 4642 SP1 dated: 2014-06-15 kommt es zu folgendem Problem,

    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and p.group_permission_0=1 and p.products_fsk18!=1 ' at line 7

    SELECT * FROM products p, products_description pd WHERE p.products_cartspecial = '1' and p.products_id=pd.products_id and and p.group_permission_0=1 and p.products_fsk18!=1 p.products_status = '1' and pd.language_id = '2' order by p.products_startpage_sort ASC limit 10

     wenn der Code in  shopping_cart.php ergänzt wird:
    -----------------
    Finde:
    $smarty->assign('language', $_SESSION['language']);
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/shopping_cart.html');
    $smarty->assign('main_content', $main_content);
    $smarty->caching = 0;

    Füge davor ein:
        include (DIR_WS_MODULES.'cart_specials.php');                         
        $smarty->assign('MODULE_cart_specials', $cart_specials_content);

    Sobald ich den 2 Zeiler rausnehme, erscheint der Warenkorb normal, natürlich ohne Zusatzartikel unter Warenkorb...danke für Hinweise zur Problemlösung

    Gruß
    Bernd

    web0null

    • Experte
    • Beiträge: 1.998
    ersetze in der cart_specials.php

    Code: PHP  [Auswählen]
    $new_products_query = "SELECT * FROM
                                     "
    .TABLE_PRODUCTS." p,
                                     "
    .TABLE_PRODUCTS_DESCRIPTION." pd
                             WHERE
                               p.products_cartspecial = '1' and
                                     p.products_id=pd.products_id and
                                     "
    .$group_check."
                                     "
    .$fsk_lock."
                               p.products_status = '1' and
                               pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                   order by
                               p.products_startpage_sort ASC limit "
    .MAX_DISPLAY_CART_SPECIALS;

    mit dem:

    Code: PHP  [Auswählen]
    $new_products_query = "
      SELECT   *
      FROM     "
    .TABLE_PRODUCTS." p,
               "
    .TABLE_PRODUCTS_DESCRIPTION." pd
      WHERE    p.products_cartspecial = '1'
      AND      p.products_id = pd.products_id
               "
    .$group_check."
               "
    .$fsk_lock."
      AND      p.products_status = '1'
      AND      pd.language_id = "
    .(int)$_SESSION['languages_id']."
      ORDER BY p.products_startpage_sort ASC
      LIMIT    "
    .MAX_DISPLAY_CART_SPECIALS;

    [EDIT Tomcraft 11.01.2015: Fehler in Modul aus Beitrag 1 bereits korrigiert.]

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    Das Modul habe ich vor geraumer Zeit in meinen v1.06 rev 4642 SP2 (utf8) eingebaut. Der Shop läuft seit 05.12.14.

    Es sah bislang auch alles gut aus. Das von bheppner beschriebene Problem tauchte nicht auf, weshalb ich die Lösung von web0null dazu nicht nachvollzogen habe.

    Nachdem sich im vergangenen Monat aber Anmeldungen im Shop ohne folgende Bestellung ungewöhnlich gehäuft haben, habe ich mir selbst mal ein neues Kundenkonto mit Passwort im Shop erstellt um nochmals alles zu prüfen.

    Dann der Schock. Nach dem Einlegen eines Artikels in den Warenkorb erhielt ich nach Klick auf den Shoplink "Warenkorb" (shopping_cart.php) eine weiße Seite mit mehrsprachiger Fehlermeldung in rot!

    Die Artikel ließen sich so auch nicht mehr aus dem Warenkorb entfernen und als ich mich ausgeloggt habe, konnte ich mich nicht mehr einloggen. Es erschien die gleiche Fehlerseite, da mit dem Einloggen nun direkt die shopping_cart.php angesprochen wurde in der ich den Auslöser für den Fehler vermutet habe.

    Mit meinem admin-Konto konnte ich den Fehler bis dato nicht nachvollziehen. Als normaler Besucher auch nicht. Hier sah alles gut aus, weshalb mir das Problem wohl auch nicht schon selbst aufgefallen ist. Mit einem Gastkonto habe ich es nicht mehr überprüft. Gut möglich, dass hier der Fehler auch auftaucht.

    Jetzt habe ich gerade die Änderung von web0null eingespielt - danke dafür! - und es scheint, als ob jetzt alles funktioniert.

    Daher mein Rat an die Nutzer dieses Moduls das mal mit einem selbst erstellten Kundenkonto nachzuvollziehen, denn potentielle Shopkunden, die diese Fehlerseite erlebt haben, melden sich offensichtlich nicht :-(

    ralph_84

    • Fördermitglied
    • Beiträge: 499
    • Geschlecht:
    Hallo
    Hier das Update des Paketes mit Fix von Web0null.
    Gruß Ralph

    [EDIT Tomcraft 11.01.2015: Modul in Beitrag 1 aktualisiert.]

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    wenn da nicht doch noch ein Problem durch das Modul ausgelöst wird ... .

    Kann das Problem jemand, der das Modul verbaut hat UND seine sich anmeldenden Kunden erstmal in den Warenkorb leitet, bei sich nachbilden??

    http://www.modified-shop.org/forum/index.php?topic=31982.msg291404;topicseen#msg291404

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.199
    • Geschlecht:
    Ich habe in Beitrag 1 mal ein Modul-Paket für Shopversion 2.0.0.0 rev 9678 angehängt.

    Grüße

    Torsten

    whosabi

    • Neu im Forum
    • Beiträge: 45
    Tolles Modul, hat jemand Informationen / Erfahrungswerte ob die Conversion Rate oder der avg. basket value damit gesteitert werden kann?
    Danke und Grüsse

    graf_ikea

    • Neu im Forum
    • Beiträge: 9
    Ich würde das Modul gerne testen, aber leider weiß ich nicht, was ich mit der Datei  db_install.sql  machen soll.

    kann mit da jemand helfen ?

    Danke ...

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Name: eindeutig - hat was mit Datenbank und Installation zu tun
    Dateierweiterung: sql - hat definitiv was mit der Datenbank zu tun

    Fazit: In phpMyAdmin / mySqlDumper oder über die Backup-Funktion vom Shop ausführen.

    graf_ikea

    • Neu im Forum
    • Beiträge: 9
    Danke für deine Antwort.

    Muss ich in der Datenbanksicherung diese Datei unter Wiederherstellen Hochladen und ausführen ?

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Guten Tag zusammen,
    ein sehr schönes "Tool", gefällt mir sehr gut und ließ sich auch schnell einbauen  :thx:
    Allerdings möchte ich gern den Button "In den Warenkorb" entfernen, da der die gleiche Aktion auslöst wie der Button "Details". Der Kunde landet bei beiden in der Artikelansicht, dafür würde mir der eine Button reichen.
    Wie kann ich denn den Knopf entfernen?

    Herr_Bert

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Ich kenne nur das 2.0-Modul davon und dieses kommt mit einer Template-Datei, die man anpassen kann. ;-) Wird in älteren Versionen nicht anders ein.

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Komisch, wenn ich mir die beiden Zeilen so ansehe, glaube ich das der Button "In den Warenkorb" den Artikel gleich in den Warenkorb legen müsste, und der Button "Details" den Artikel aufruft...., das ist bei mir nicht so  :-?
    Das müssten die beiden Zeilen sein, ist da ein Fehler drin?
    Code: PHP  [Auswählen]
     $button_buy_now2   = '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$new_products['products_id'].'&def_attr=1&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$new_products['products_name'].TEXT_NOW).'</a>';
      $button_go_product = '<a href="'.xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($new_products['products_id'], $new_products['products_name'])).'">'.xtc_image_button('button_product_more.gif', TEXT_BUY.$new_products['products_name'].TEXT_NOW).'</a>';
    Die ganze Datei hänge ich mal vorsichtshalber mit dran.

    Herr_Bert

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Das ganze muss an der Datei templates/xtc5/module/shopping_cart.html liegen  :-?
    In der Anleitung steht das in der schon vorhandenen Datei nach {$MODULE_gift_cart} <br />
       {$MODULE_cart_specials}
    eingefügt werden soll, das habe ich gemacht.
    Aber im Ordner new_files ist auch eine shopping_cart.html mit der ich dann allerdings meine Datei überbügeln würde  :-?
    Meine geänderte Original-Datei sieht so aus:
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}

    <h1>{#heading_cart#}</h1>
    <div class="content_area">
    {if $info_message!=''}<div class="errormessage">{$info_message}</div>{/if}
    {if $cart_empty==true}
    <p>{#text_empty#}</p>
    <p>{$BUTTON_CONTINUE}</p>
    {else}
    {$FORM_ACTION}
    {$HIDDEN_OPTIONS}
    <p>{$MODULE_order_details}</p>
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
    <div class="button_frame">
    {if $CONTINUE_LINK}<div class="buttons_checkout"><a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;</div>{/if}
    <div class="buttons_checkout">{$BUTTON_RELOAD}&nbsp;</div>
    {if $BUTTON_PAYPAL!=''}<div class="buttons_checkout">{$BUTTON_CHECKOUT}<br/><br/>{if $smarty.const.ACCOUNT_OPTIONS == 'account'}
      {if $smarty.session.customer_id}
      {$BUTTON_PAYPAL}
      {/if}
    {elseif $smarty.const.ACCOUNT_OPTIONS == 'guest' || $smarty.const.ACCOUNT_OPTIONS == 'both'}
      {$BUTTON_PAYPAL}
    {/if}</div>{else}<div class="buttons_checkout">{$BUTTON_CHECKOUT}</div>{/if}
    {$FORM_END}{/if}
    </div>
    <div style="clear:both"></div>
    {if $cart_empty==false}
    {$MODULE_gift_cart}
    <br />
       {$MODULE_cart_specials}
    {/if}

    </div>
    Die Datei aus dem new_files Ordner allerdings so:
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}

    {php}
    global $breadcrumb, $cPath_array, $actual_products_id;
    if(!empty($cPath_array)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['title']);     
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-2]['link'];  
    }
    if(!empty($actual_products_id)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['title']);     
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-2]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-2]['link'];  
    }
    if(!empty($ct_shopping)) $_SESSION['continue_link'] = $ct_shopping;
    if(!empty($_SESSION['continue_link'])) $this->assign('CONTINUE_LINK',$_SESSION['continue_link']);
    $this->assign('BUTTON_CONTINUE_SHOPPING', xtc_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING));
    {/php}

    <h1>{#heading_cart#}</h1>
    {if $info_message!=''}<div class="errormessage">{$info_message}</div>{/if}
    {if $cart_empty==true}
    <p>{#text_empty#}</p>
    <p>{$BUTTON_CONTINUE}</p>
    {else}
    {$FORM_ACTION}
    {$HIDDEN_OPTIONS}
    <p>{$MODULE_order_details}</p>
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
    <p>{if $CONTINUE_LINK}<a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;{/if}{$BUTTON_RELOAD}&nbsp;{$BUTTON_CHECKOUT}</p>
    <p>{$FORM_END}{/if}
    {$MODULE_gift_cart}
    <br />
    {$MODULE_cart_specials}

    Wie kann ich denn aus diesen beiden Dateien eine machen ohne den Shop gleich auszuknipsen  :?:

    Herr_Bert

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    [...] Wie kann ich denn den Knopf entfernen? [...]

    Da ich ja anscheinend chinesisch schreibe:

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

    Inhalt:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="cart_specials"}
    <h1>{#heading_text#} </h1>
    <br />
      {foreach name=aussen item=module_data from=$module_content}
    <table class="productPreview" width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" class="productPreviewImage">{if $module_data.PRODUCTS_IMAGE!=''}<a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" class="productImageBorder" /></a>{else}&nbsp;{/if}</td>
        <td class="productPreviewContent">
            <h2><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></h2>
            <p>{$module_data.PRODUCTS_SHORT_DESCRIPTION}</p>
            <p class="price">{$module_data.PRODUCTS_PRICE}</p><p class="taxandshippinginfo">( {$module_data.PRODUCTS_TAX_INFO}{$module_data.PRODUCTS_SHIPPING_LINK} )</p>
            {if $module_data.PRODUCTS_VPE}<p class="vpe">{$module_data.PRODUCTS_VPE}</p>{/if}
            {if $module_data.PRODUCTS_SHIPPING_NAME}<p class="shippingtime">{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
               {$module_data.PRODUCTS_SHIPPING_NAME}</p>
            {/if}
                    <p>{$module_data.PRODUCTS_BUTTON_BUY_NOW2}&nbsp;&nbsp;{$module_data.PRODUCTS_BUTTON_SHOW_PRODUCT}</p>
        </td>
      </tr>
    </table>
    <div class="hrproductpreview"></div>
      {/foreach}  

    DAAAA Änderungen vornehmen.

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Zitat
    Da ich ja anscheinend chinesisch schreibe:
    Was willst Du mir jetzt damit sagen  :-?
    Ist da jetzt die Stelle wo ich den Button entfernen kann, oder wie soll ich das verstehen?
    Den will ich aber gar nicht mehr entfernen nachdem ich festgestellt habe das es wohl an der shopping_cart.html liegt (s.vorher). Ich muss "nur" aus zwei Dateien eine machen, dann müsste der Button auch funktionieren  :-( nur weiss ich nicht wie  :-|

    Herr_Bert

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Okay, den Beitrag vorher habe ich übersehen, sorry.  :mhhh:

    Ja, in dieser Datei kann man den Button entfernen - darauf bezog sich meine ursprüngliche Antwort auf das "Wo?".

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Und zu deinem Verständnis: Der Button macht genau das, was er soll. Allerdings kann man ein Produkt nicht einfach so in den Warenkorb schmeißen, wenn man noch keine Attribute ausgewählt hat und das ist bei dir der Fall. ;-)

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Aaach so, daran liegt das   :-O habe ich gleich mal überprüft, das stimmt wirklich  :-) ohne Attribut geht's gleich in der Warenkorb, mit Attribut über den Artikel, vollkommen logisch  :thumbs: da hätte ich auch alleine drauf kommen könnnen  :oh-no:
    Dankeschön für den Schubser  :thx:

    Herr_Bert

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Leider habe ich da einen Versatz drin, was kann ich denn dagegen machen  :-?

    Herr_Bert

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Einen Schönheitsfehler in der Templatedatei würde ich noch korrigieren, damit das Modul schön bündig alle Artikel anordnet. 2 Dumme, ein Gedanke. ;)

    In der Datei cart_specials.html diesen Code:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="cart_specials"}
    <h1>{#heading_text#} </h1>
    <br />
      {foreach name=aussen item=module_data from=$module_content}
    <table class="productPreview" width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" class="productPreviewImage">{if $module_data.PRODUCTS_IMAGE!=''}<a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" class="productImageBorder" /></a>{else}&nbsp;{/if}</td>
        <td class="productPreviewContent">
            <h2><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></h2>
            <p>{$module_data.PRODUCTS_SHORT_DESCRIPTION}</p>
            <p class="price">{$module_data.PRODUCTS_PRICE}</p><p class="taxandshippinginfo">( {$module_data.PRODUCTS_TAX_INFO}{$module_data.PRODUCTS_SHIPPING_LINK} )</p>
            {if $module_data.PRODUCTS_VPE}<p class="vpe">{$module_data.PRODUCTS_VPE}</p>{/if}
            {if $module_data.PRODUCTS_SHIPPING_NAME}<p class="shippingtime">{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
               {$module_data.PRODUCTS_SHIPPING_NAME}</p>
            {/if}
                    <p>{$module_data.PRODUCTS_BUTTON_BUY_NOW2}&nbsp;&nbsp;{$module_data.PRODUCTS_BUTTON_SHOW_PRODUCT}</p>
        </td>
      </tr>
    </table>
    <div class="hrproductpreview"></div>
      {/foreach}  
     

    mit diesem ersetzen:

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="cart_specials"}
    <h1>{#heading_text#} </h1>
    <div class="hrproductpreview">
    <table class="productPreview" width="100%" border="0" cellspacing="0" cellpadding="0">
      {foreach name=aussen item=module_data from=$module_content}
      <tr>
        <td align="center" class="productPreviewImage">{if $module_data.PRODUCTS_IMAGE!=''}<a href="{$module_data.PRODUCTS_LINK}"><img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}" class="productImageBorder" /></a>{else}&nbsp;{/if}</td>
        <td class="productPreviewContent">
            <h2><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></h2>
            <p>{$module_data.PRODUCTS_SHORT_DESCRIPTION}</p>
            <p class="price">{$module_data.PRODUCTS_PRICE}</p><p class="taxandshippinginfo">( {$module_data.PRODUCTS_TAX_INFO}{$module_data.PRODUCTS_SHIPPING_LINK} )</p>
            {if $module_data.PRODUCTS_VPE}<p class="vpe">{$module_data.PRODUCTS_VPE}</p>{/if}
            {if $module_data.PRODUCTS_SHIPPING_NAME}<p class="shippingtime">{#text_shippingtime#}{if $module_data.PRODUCTS_SHIPPING_IMAGE}<img src="{$module_data.PRODUCTS_SHIPPING_IMAGE}" alt="{$module_data.PRODUCTS_SHIPPING_NAME}" />{/if}
               {$module_data.PRODUCTS_SHIPPING_NAME}</p>
            {/if}
                    <p>{$module_data.PRODUCTS_BUTTON_BUY_NOW2}&nbsp;&nbsp;{$module_data.PRODUCTS_BUTTON_SHOW_PRODUCT}</p>
        </td>
      </tr>
      {/foreach}  
    </table>
    </div>
     

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Zitat
    2 Dumme, ein Gedanke.
    Na, das ist ja mal cooool  :lol:

    Hab's gleich umgesetzt, funktioniert tadellos, vielen Dank dafür  :thx:

    Herr_Bert

    awids

    • Experte
    • Beiträge: 3.790
    • Geschlecht:
    Na, das ist ja mal cooool  :lol:

    Hab's gleich umgesetzt, funktioniert tadellos, vielen Dank dafür  :thx:

    Natürlich tut es das.  8)

    Das war es aber noch nicht, also bleib gefälligst hier.  :beef: :lol:

    In der Anleitung steht dies:

    Code: XML  [Auswählen]
    -------------------------------------
    lang/german/lang_german.conf
    ----------------------------
    Füge am Ende ein:
    #includes/modules/cart_specials
    # icart
    [cart_specials]
    heading_text = 'Interessante weitere Artikel'
    -------------------------------------

    Hier fehlt aber (auch in der 2.0-Version)  noch:

    Code: XML  [Auswählen]
    text_shippingtime = 'Lieferzeit: '

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Zitat
    Das war es aber noch nicht, also bleib gefälligst hier.
      :lol2: Jawoll, zu Befehl, habe nur gerade 'n Teller Suppe gefasst  :tea:
    Ich nehme mal an, dass einfach unten drunter setzen wohl zu naiv gedacht wäre, oder  :-?

    Herr_Bert

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Uiiih, naiv geht doch, nennt mich "Programmierer"  :-D
    Und wieder 'n dickes Dankeschön, sowas könnte auch 'ne Abmahnung nach sich ziehen, denke ich  :-x

    Herr_Bert

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.175
    • Geschlecht:
    Ich habe in Beitrag 1 mal ein Modul-Paket für Shopversion 2.0.0.0 rev 9678 angehängt.
    [...]

    Die Anleitung im Paket ist noch für 1.06.
    Das Modul selber scheint so auch nicht updatesicher zu sein, ist das korrekt?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.199
    • Geschlecht:
    Das ist korrekt!
    Ich hatte das neue Modulpaket damals nicht updatesicher erstellt.

    Grüße

    Torsten

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.175
    • Geschlecht:
    Hab es mal umgebaut und updatesicher gemacht, wie das bei neuen Modulen sein sollte. Ich hoffe das passt soweit alles zusammen.

    Nur in das eigene Template muss man es dann noch integrieren.

    [EDIT Tomcraft 27.04.2018: Modul in Beitrag 1 aktualisiert.]

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Mach mal bitte "Moderator informieren" damit Tomcraft das mitbekommt und im 1. Post verlinken/einbetten kann.

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.199
    • Geschlecht:
    Vielen Dank! :thx:

    Folgendes fehlte noch in der "install_2.0.txt":

    Zitat
    Finde:
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}

    füge danach ein:
    Code: PHP  [Auswählen]
    {config_load file="$language/cartspecials_$language.conf" section="cart_specials"}

    Grüße

    Torsten

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.175
    • Geschlecht:
    Die Datei wird doch aber bereits in der cart_specials.html inkludiert?

    iconia

    • Mitglied
    • Beiträge: 100
    Das Modul funktioniert soweit ja ganz gut. Aber: Wie kann ich die Artikel unter dem Warenkorb nebeneinander  anzeigen? Die sind ja jetzt untereinander und der Kunde müsste viel scrollen um sie überhaupt erst zu sehen ...

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Die Anleitung ist für das Standard modified-Template (was auch sonst). Du mußt die Ausgabe, bzw. das HTML der Ausgabe, also an das HTML des Produkt-Listings deines Templates anpassen.

    Ich würde übrigens mal was für die Ladezeiten tun, dein Shop ist ewig langsam. Die meisten Kunden dürfte das abschrecken.

    Gruß,
    noRiddle

    Metal

    • Frisch an Board
    • Beiträge: 91
    Hallo!

    Ich habe das Modul mal eingebaut in den Shop

    modified eCommerce Shopssoftware v2.0.5.1 rev 12725 dated: 2020-04-22
    Datenbank Version: "MOD_2.0.5.1"

    Aber sobald ich nen Artikel auf
    Unterhalb Warenkorb zeigen:  JA setze
    kommt beim Warenkorb nur noch ne leere Seite, wenn ich
    Unterhalb Warenkorb zeigen:  NEIN setze kommt der Warenkorb zum Glück wieder
    bei dem Datenbank Befehl stand allerdings auch dieser Satz nach der Ausführung:
     Warning: #1366 Falscher integer-Wert: '' für Feld 'configuration_id' in Zeile 1

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Das Warning bzgl. "Falscher interger-Wert" kannst du ignorieren, das liegt daran, daß im mySQL-Befehl ein leerer String an ein Integer-Feld übergeben wird, was nicht korrekt ist aber mit der momentan verwendeten mySQL-Version noch funktioniert.
    Der Befehl müsste eigentlich anstatt so
    Code: SQL  [Auswählen]
    INSERT INTO `configuration` ( `configuration_id` , `configuration_key` , `configuration_value` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` )
    VALUES (
    '', 'MAX_DISPLAY_CART_SPECIALS', '5', '3', '23', '0000-00-00 00:00:00', '0000-00-00 00:00:00', NULL , NULL
    );

    so lauten
    Code: SQL  [Auswählen]
    INSERT INTO `configuration` ( `configuration_id` , `configuration_key` , `configuration_value` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` )
    VALUES (
    NULL, 'MAX_DISPLAY_CART_SPECIALS', '5', '3', '23', '0000-00-00 00:00:00', '0000-00-00 00:00:00', NULL , NULL
    );

    oder man müsste die configuration_id, welche ohnehin wegen auto_increment von der DB selbst vergeben wird weglassen.

    Wegen der weißen Seite in die Log-Files schauen und error_reporting aktivieren (File /export/_error_reporting.admin umbenennen in /export/_error_reporting.all).

    Gruß,
    noRiddle

    Metal

    • Frisch an Board
    • Beiträge: 91
    - also, meinste ich kann einfach nochmal den MySQL Befehl eingeben, obwohl ich den anderen schon eingegeben habe?
    -  _error_reporting.all ... so heisst die Datei bei mir bereits und wenn ich in den log Ordner schaue, ist da de jüngste Datei vom 03.06.2020, aber das Modul habe ich gestern eingebaut!
    Vielleicht ist das einfach inkompatibel mit der neuen Version!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    Mit "...kannst du ignorieren" meine ich wirklich ignorieren. Der Befehl ist erfolgreich durchgegangen, nicht noch einmal ausführen. Ich habe lediglich erklärt wie der Befehl aussehen müsste/könnte, ohne daß er ein Warning generiert.

    Daß es keine Error-Meldungen gibt ist bei einer weißen Seite allerdings ungewöhnlich.
    Poste hier mal (in Code-tags) deine /templates/DEIN_TEMPLATE/module/shopping_cart.html .

    Gruß,
    noRiddle

    Metal

    • Frisch an Board
    • Beiträge: 91
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}
    {config_load file="lang_`$language`.custom"}
    {config_load file="lang_`$language`.section" section="shopping_cart"}
    {config_load file="$language/cartspecials_$language.conf" section="cart_specials"}


      <h1>{#heading_cart#}</h1>
     {if $error_max_prod}
      <div class="errormessage">
        <ul>
          {foreach item=err_max_data from=$error_max_prod}
          <li>{$err_max_data.E_MSG}</li>
          {/foreach}
        </ul>
      </div>
      {/if}
      {if $info_message != ''}<div class="errormessage">{$info_message}</div>{/if}
      {if $paypal_error != ''}<div class="errormessage">{$paypal_error}</div>{/if}

      {if $cart_empty == true}
        <p>{#text_empty#}</p>
       <div class="button_right cf"><div class="cssButtonPos4">{$BUTTON_CONTINUE}</div></div>
      {else}
        {if $info_message_3 != ''}<div class="errormessage">{$info_message_3}</div>{/if}
        {$FORM_ACTION}
        {$HIDDEN_OPTIONS}
        <div class="highlightbox cf">{$MODULE_order_details}</div>
        {if $info_message_1 != ''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
        <div class="button_left_cart cf">
          {if $CONTINUE_LINK}<div class="cssButtonPos9"><a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a></div>{/if}
          <div class="cssButtonPos9">{$BUTTON_RELOAD}</div>
        </div>
        <div class="button_right_cart cf">
          <div class="cssButtonPos8">{$BUTTON_CHECKOUT}</div>
          {if $BUTTON_PAYPAL != ''}<div class="cssButtonPos8">{$BUTTON_PAYPAL}</div>{/if}
          {if isset($BUTTON_CHECKOUT_EXPRESS)}<div class="cssButtonPos8">{$BUTTON_CHECKOUT_EXPRESS}</div>{/if}
        </div>
        <br class="clearfix" />
        {if isset($ACTIVATE_EXPRESS_LINK)}<span class="express_info_cart"><a href="{$ACTIVATE_EXPRESS_LINK}">{#checkout_express_activate#}</a></span>{/if}
       {$FORM_END}
      {/if}
      <br class="clearfix" />
      {$MODULE_gift_cart}
    {if $MODULE_cart_specials}
      <br />
      {$MODULE_cart_specials}
    {/if}
      {if $MODULE_wishlist}
        <br class="clearfix" />
        {$MODULE_wishlist}
      {/if}

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.749
    • Geschlecht:
    In dem Code sehe ich keinen Fehler.
    Schau mal ob die /includes/modules/cart_specials.php richtig hochgeladen wurde.
    Wenn nicht müsste zwar etwas in den Logs stehen, aber ich würd's mal überprüfen.

    Ansonsten fällt mir dazu nichts ein, lass jemanden (z.B. einen von >> modified) draufschauen.

    Gruß,
    noRiddle

    Metal

    • Frisch an Board
    • Beiträge: 91
    ja, die ist "oben"
    .../includes/modules/cart_specials.php
     :-?

    swolfram [templatix]

    • Fördermitglied
    • Beiträge: 1.175
    • Geschlecht:
    Wurde die Datei "NEW_FILES/templates/tpl_modified/module/cart_specials.html" auch in das richtige Template kopiert?
    "tpl_modified" <-> "tpl_modified_responsive"

    Metal

    • Frisch an Board
    • Beiträge: 91
    Jetzt bin ich sehr verlegen.
    Ich sah den Wald vor lauter Bäumen nicht.
    Danke für diesen Hinweis.
    Genau daran hat es gelegen. Ins falsche Template kopiert.  :mhhh:

    Sorry – damit habe ich echt nicht gerechnet.
    Danke an  noRiddle (revilonetz) und swolfram [bannershop24], dass ihr mir geholfen habt!!!
               
    anything