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: Sperrgut Modul 3 Plus für modified eCommerce Shopsoftware

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    @Karsta
    im Prinzip würde das gehen, danke für den Tipp. Nur stimmt die Steuerberechnung nicht. Es wird immer der Betrag netto angezeigt.

    Gerade für diese Regelungswut der verschiedenen Länder fände ich es allerdings gut, wenn:
    1. der Betrag des Zuschlags separat ausgewiesen wird. (So ist er ja in den Versandkosten enthalten)
    2. fände ich die Möglichkeit, einen Link mit entsprechender Erläuterung wie beim Sperrgutmodul gerade für die Kunden sinnvoll.

    karsta.de

    • Experte
    • Beiträge: 3.158
    Dazu eignet sich das Sperrgutmodul nicht, da das darauf ausgerichtet ist Zuschäge auf einzelne Artikel zu berechnen. Für das was du willst, braucht man ein Modul ähnlich wie bei den Versandarten allerdings unter Zusammenfassung, dass explizite Zuschläge für eingegebene Länder berechnet.
    Und wenn ich noRiddle richtig verstanden habe, hat er das schon fertig auf der Platte.

    BG Karsta

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.996
    • Geschlecht:
    Nicht ganz. Ich schrieb ja zu dem Teil was ich habe u. A.:

    [...]
    Das könnte man erweitern auf Zonen wie in einem Versandmodul, sodaß man für verschiedene Länder verschiedene Zuschläge anbieten könnte.
    [...]

    Gruß,
    noRiddle

    karsta.de

    • Experte
    • Beiträge: 3.158
    @Viol

    Natürlich kann man den Handlingsbetrag auch je nach Einstellung in der Kundengruppe mit und ohne Steuer anzeigen lassen.
    Allerdings für sowas was du dir wünscht, dass der Betrag als einzelne Position in der Abrechnung erscheint, brauchts ein extra Modul.

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    @Karsta
    ich habe jetzt eine Sprachvariable angelegt und mit einer Content ID verknüpft. Das funktioniert jetzt schon sehr gut.

    Code: PHP  [Auswählen]
    define('MODULE_SHIPPING_TABLE2_HANDLING_TITLE','<br />incl. <a class="iframe cboxElement" href="popup_content.php?coID=1" rel="nofollow" target="_blank" title="Infos zur Verpackungspauschale">Verpackungspauschale: </a>');

    Wenn Du mir jetzt noch mal einen Tipp geben könntest, wie ich die Handling Gebühr in brutto anzeigen könnte, wäre das zunächst eine Lösung für mich.
    Denn egal, welche Steuereinstellung ich im Modul mache, es wird immer der Nettobetrag angezeigt.

    karsta.de

    • Experte
    • Beiträge: 3.158
    Kein Problem. Entferne die oben genannten Änderungen.

    Suche:

    Code: PHP  [Auswählen]
    global $order, $shipping_weight, $shipping_num_boxes;

    Füge $xtPrice mit ein:

    Code: PHP  [Auswählen]
    global $order, $xtPrice, $shipping_weight, $shipping_num_boxes;

    Suche Zeile 130:

    Code: PHP  [Auswählen]
    $shipping_cost = (($shipping * $shipping_num_boxes) + (double)constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));

    Füge davor ein:

    Code: PHP  [Auswählen]
              $shipping_handling = constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone);
                     $tax_text = '';          
              if ($this->tax_class > 0 && $_SESSION['customers_status']['customers_status_show_price_tax'] == 1 && !empty($shipping_handling)) {
                 $tax_rate = xtc_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
                 $shipping_cost_extra = $xtPrice->xtcAddTax($shipping_handling, $tax_rate);
                 $tax_text = ' '.sprintf(TAX_INFO_INCL, $tax_rate.'%');
              }else{
                        $tax_rate = xtc_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
                            $shipping_cost_extra = $shipping_handling;
                            $tax_text = ' '.sprintf(TAX_INFO_ADD, $tax_rate.'%');
                      }

              $shipping_cost_extra_formatted = !empty($shipping_cost_extra) ? constant('MODULE_SHIPPING_TABLE2_HANDLING_TITLE').trim($xtPrice->xtcFormat($shipping_cost_extra, true)).$tax_text : '';

    Und dem Titel fügst du die Handlingsgebühr hinzu:

    Code: PHP  [Auswählen]
    'title' => $shipping_method . ' (' . ($shipping_num_boxes > 1 ? $shipping_num_boxes . ' x ' : '') . round($shipping_weight, 2) . ' ' . MODULE_SHIPPING_ZONES_TEXT_UNITS .')'.$shipping_cost_extra_formatted,

    BG Karsta

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    @Karsta: Danke für Deine Hilfe. So wird die Handlinggebühr inkl. MwSt. angezeigt.

    motodrom

    • Neu im Forum
    • Beiträge: 11
    Hallo zusammen, kurze Frage: gibt es ein Sperrgutmodul in dem die Kosten dafür, direkt auf der Artikelseite unter dem Artikelpreis angezeigt werden ? z.B. so: "zuzüglich 7,50 Euro Sperrgutzuschlag". Bei dem Modul nr_bulkgoods_costs werden die kosten ja erst im checkout angezeigt. Sind die anderen beiden Module (Sperrgutmodul 3Plus und Sperrgut_module_admin) überhaupt für die aktuelle Version 2.0.7.2 mit dem template "tpl_modified_responsive" geeignet ?
    Danke schon mal für eine kurze Antwort
    Gruß Thomas

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    [...]
    Sind die anderen beiden Module (Sperrgutmodul 3Plus und Sperrgut_module_admin) überhaupt für die aktuelle Version 2.0.7.2 mit dem template "tpl_modified_responsive" geeignet ?
    [...]

    Das kann ich pauschal mit NEIN beantworten. Nach der freundlichen Bereitstellung des nr_bulkgoods_costs seitens noRiddle wurden die anderen Modulversionen nicht mehr aktuell gehalten und/oder weiterentwickelt. Dies ist aber bereits aus der Historie in Beitrag 1 ersichtlich.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.996
    • Geschlecht:
    @motodrom
    Die Kosten werden doch angezeigt, insofern du das Modul richtig eingebaut hast.

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

    Gruß,
    noRiddle

    motodrom

    • Neu im Forum
    • Beiträge: 11
    Hallo noch mal, erstmal danke für die Antworten. Dreh mich hier im Kreis. Kann so falsch nicht eingebaut sein, da ja im Checkout die kosten angezeigt werden. Aber keine Chance, die Kosten im Artikel anzuzeigen. Habe alle Templates probiert, Cache zigfach geleert... Hat vielleicht noch jemand eine Idee ? Danke schön !!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.996
    • Geschlecht:
    Poste den Inhalt der benutzten "Vorlage für Artikeldetails:" die du in der Produktbearbeitung ausgewählt hast.
    Ist zu finden in /templates/DEIN_TEMPLATE/module/product_info/.
    Wenn du keine Vorlage in der Produktbearbeitung ausgewählt hast den Inhalt des ersten Files (alpha-numerisch sortiert)  nehmen.
    Den Code bitte in Code-tags posten.

    Gruß,
    noRiddle

    motodrom

    • Neu im Forum
    • Beiträge: 11
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="product_info"}
    {config_load file="lang_`$language`.custom"}
    {config_load file="lang_`$language`.section" section="product_info"}
    <div id="product_info" itemscope itemtype="http://schema.org/Product">
      {$FORM_ACTION}
      <div class="product_headline cf">
        {if isset($MANUFACTURER_IMAGE) && $MANUFACTURER_IMAGE != ''}
          <div class="pd_manu_image">
            <a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}">
              <img class="lazyload" data-src="{$MANUFACTURER_IMAGE}" alt="{$MANUFACTURER|onlytext}" />
              <noscript><img src="{$MANUFACTURER_IMAGE}" alt="{$MANUFACTURER|onlytext}" /></noscript>
            </a>
          </div>
        {/if}
        <h1 itemprop="name">{if $PRODUCTS_HEADING_TITLE != ''}{$PRODUCTS_HEADING_TITLE}{else}{$PRODUCTS_NAME}{/if}</h1>
      </div>
      {if $error_message}<div class="errormessage">{$error_message}</div>{/if}
      <div id="product_details">
        {if $PRODUCTS_IMAGE != ''}
        <div class="pd_imagebox">
          <div class="pd_big_image">
            <a class="cbimages" title="{$PRODUCTS_NAME|onlytext}" href="{$PRODUCTS_IMAGE|replace:"info_images":"popup_images"}" data-cbox-img-attrs='{ldelim}"alt":"{$PRODUCTS_NAME|onlytext}"{rdelim}'><img itemprop="image" src="{$PRODUCTS_IMAGE}" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext}" /></a>
          </div>
          <div class="zoomtext">{#zoomtext#}</div>
         {if isset($more_images) && count($more_images) > 0}
          <div class="pd_small_image_row cf">
            {foreach item=more_images_data from=$more_images}
              <div class="pd_small_image">
                <div class="pd_small_image_inner cf">
                  <a class="cbimages" title="{$PRODUCTS_NAME|onlytext}" href="{$more_images_data.PRODUCTS_IMAGE|replace:"info_":"popup_"}" data-cbox-img-attrs='{ldelim}"alt":"{$PRODUCTS_NAME|onlytext}"{rdelim}'>
                    {if $smarty.const.PICTURESET_ACTIVE === true}
                      <img class="lazyload" data-src="{$more_images_data.PRODUCTS_IMAGE|replace:"info_":"mini_"}" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext}" />
                    {else}
                      <img class="lazyload" data-src="{$more_images_data.PRODUCTS_IMAGE|replace:"info_":"thumbnail_"}" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext}" />
                    {/if}
                    <noscript><img src="{$more_images_data.PRODUCTS_IMAGE|replace:"info_":"thumbnail_"}" alt="{$PRODUCTS_NAME|onlytext}" title="{$PRODUCTS_NAME|onlytext}" /></noscript>
                  </a>
                </div>
              </div>
            {/foreach}
          </div>
          {/if}
        </div>
        {/if}

        <div class="pd_content">
          <div class="pd_summarybox" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
            <div class="pd_summarybox_inner cf">
              <meta itemprop="url" content="{$PRODUCTS_LINK}" />
              <meta itemprop="priceCurrency" content="{$smarty.session.currency}" />
              {if $PRODUCTS_EXPIRES_C}<meta itemprop="priceValidUntil" content="{$PRODUCTS_EXPIRES_C}" />{/if}
              {if $PRODUCTS_QUANTITY <= 0 && $smarty.const.STOCK_CHECK == 'true'}<meta itemprop="availability" content="http://schema.org/OutOfStock" />{else}<meta itemprop="availability" content="http://schema.org/InStock" />{/if}
              {if $PRODUCTS_MANUFACTURERS_MODEL != ''}<meta itemprop="mpn" content="{$PRODUCTS_MANUFACTURERS_MODEL}" />{/if}
              <meta itemprop="itemCondition" content="http://schema.org/NewCondition" />

              <div class="pd_price{if $PRODUCTS_FSK18 == 'true'} pd_fsk_padding{/if}">
                {if $PRODUCTS_FSK18 == 'true'}<div class="pd_fsk18"></div>{/if}
                <div id="pd_puprice">
                  {foreach name=inner item=price_data from=$PRODUCTS_PRICE_ARRAY}
                    {include file="module/includes/price_info.html"}
                  {/foreach}
                </div>
              </div>
              {if $PRODUCTS_PRICE_ARRAY.0.PRODUCTS_PRICE_FLAG != 'NotAllowed'}
                {if $PRODUCTS_VPE}<div class="pd_vpe">{$PRODUCTS_VPE}</div>{/if}
                <div class="pd_tax{if $PRODUCTS_FSK18 == 'true'} pd_fsk_padding{/if}">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</div>
              {/if}
              {if isset($MODULE_graduated_price) && $MODULE_graduated_price != ''}{$MODULE_graduated_price}{/if}
              {if isset($MODULE_product_options) && $MODULE_product_options != ''}
                {if $MODULE_product_options_template == 'multi_options_1.html' || $MODULE_product_options_template|strpos:"dropdown" !== false}
                  {$MODULE_product_options}
                {/if}
              {/if}

              {if $PAYPALPLAN}
                <br class="clearfix" />
                {$PAYPALPLAN}
              {/if}

              {if $ADD_CART_BUTTON != ''}
              <div class="addtobasket cf">
                <span class="addtobasket_input">{$ADD_QTY}</span>
                <span class="addtobasket_actions cf">
                  <span class="cssButtonPos10">{$ADD_CART_BUTTON}</span>
                  {if isset($ADD_CART_BUTTON_EXPRESS) && !$PAYPALPLAN}
                    <span class="cssButtonPos10">{$ADD_CART_BUTTON_EXPRESS}</span>
                  {elseif $ACTIVATE_EXPRESS_LINK}
                    <span class="express_info"><a href="{$ACTIVATE_EXPRESS_LINK}">{#checkout_express_activate#}</a></span>
                 {/if}
                  {if $ADD_CART_BUTTON_PAYPAL && !$PAYPALPLAN}
                    <span class="cssButtonPos10">{$ADD_CART_BUTTON_PAYPAL}</span>
                  {/if}
                  {*
                  {if $ADD_CART_BUTTON_WISHLIST}
                  <br class="clearfix" />
                  <span class="cssButtonPos10">{$ADD_CART_BUTTON_WISHLIST}</span>
                  {/if}
                  *}
                </span>
              </div>
              {/if}

              {if $PAYPAL_INSTALLMENT && !$PAYPALPLAN}
                <br class="clearfix" />
                {$PAYPAL_INSTALLMENT}
              {/if}

              {if $EASYCREDIT && !$PAYPALPLAN}
                <br class="clearfix" />
                {$EASYCREDIT}
              {/if}

              {if $ADD_CART_BUTTON == '' && $PRODUCTS_FSK18 == 'true'}<div class="pd_inforow_message">{#products_fsk18_check#}</div>{/if}
             {if $ADD_CART_BUTTON == '' && $PRODUCTS_GIFT_FORBIDDEN == 'true'}<div class="pd_inforow_message">{#products_gift_forbidden#}</div>{/if}
             {if isset($PRODUCTS_DATE_AVAILABLE) && $PRODUCTS_DATE_AVAILABLE != ''}<div class="pd_inforow_message">{$PRODUCTS_DATE_AVAILABLE}</div>{/if}
            </div>
          </div>
          <div class="pd_infobox">
            <div class="pd_inforow_first"></div>
            {if $SHIPPING_NAME}<div class="pd_inforow"><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="pd_inforow"><strong>{#model#}</strong> <span itemprop="sku">{$PRODUCTS_MODEL}</span></div>{/if}
           {if $PRODUCTS_EAN != ''}<div class="pd_inforow"><strong>{#ean#}</strong> <span itemprop="gtin{$PRODUCTS_EAN|strlen}">{$PRODUCTS_EAN}</span></div>{/if}
           {if $PRODUCTS_RATING_COUNT > 1}
            <div class="pd_inforow" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
              <strong>{#info_reviews#}</strong>
             <span class="pd_rating_icons"><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 1} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 2} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 3} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 4} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 5} full{/if}"></i></span>
              ({$PRODUCTS_RATING_COUNT})
              <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" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
              <strong>{#info_review#}</strong>
             <span class="pd_rating_icons"><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 1} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 2} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 3} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 4} full{/if}"></i><i class="fas fa-star{if $PRODUCTS_AVERAGE_RATING >= 5} full{/if}"></i></span>
              ({$PRODUCTS_RATING_COUNT})
              <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="pd_inforow"><strong>{#text_discount#}</strong> {$PRODUCTS_DISCOUNT}</div>{/if}  
           {if $PRODUCTS_EXPIRES}<div class="pd_inforow red">{#text_expires_date#} {$PRODUCTS_EXPIRES}</div>{/if}

            {if $PRODUCTS_MANUFACTURERS_MODEL != ''}<div class="pd_inforow"><strong>{#products_manufacturer_model#}</strong> {$PRODUCTS_MANUFACTURERS_MODEL}</div>{/if}
           {if isset($MANUFACTURER) && $MANUFACTURER != ''}<div class="pd_inforow" itemprop="brand" itemscope itemtype="https://schema.org/Brand"><strong>{#manufacturer#}</strong> <span itemprop="name">{$MANUFACTURER}</span></div>{/if}
           {if isset($MANUFACTURER_LINK) && $MANUFACTURER_LINK != ''}<div class="pd_inforow"><strong>{#manufacturer_more_of#}</strong> <a title="{$MANUFACTURER|onlytext}" href="{$MANUFACTURER_LINK}">{$MANUFACTURER}</a></div>{/if}
           {if $PRODUCTS_URL != ''}<div class="pd_inforow">{$PRODUCTS_URL}</div>{/if}

            <ul class="pd_iconlist">
              <li class="print">{$PRODUCTS_PRINT_LAYER}</li>
              {if $smarty.session.customers_status.customers_status_write_reviews == 1}
               <li class="vote">{$PRODUCTS_WRITE_REVIEW}</li>
              {/if}
              {if isset($EXPRESS_LINK)}<li class="express">{$EXPRESS_LINK}</li>{/if}
              {if $ADD_CART_BUTTON_WISHLIST_TEXT}<li class="wishlist">{$ADD_CART_BUTTON_WISHLIST_TEXT}</li>{/if}
            </ul>
          </div>      
          <br class="clearfix" />
          {if isset($MODULE_product_options) && $MODULE_product_options != ''}
            {if $MODULE_product_options_template != 'multi_options_1.html' && $MODULE_product_options_template|strpos:"dropdown" === false}
              {$MODULE_product_options}
            {/if}
          {/if}      
        </div>  
        <br class="clearfix" />
      </div>
      {$FORM_END}

      {if $PRODUCTS_DESCRIPTION != ''}<h4 class="detailbox">{#products_desc#}</h4><div class="pd_description" itemprop="description">{$PRODUCTS_DESCRIPTION}</div><br />{/if}
     {if isset($MODULE_product_tags) && $MODULE_product_tags != ''}{$MODULE_product_tags}{/if}
      {if isset($MODULE_products_media) && $MODULE_products_media != ''}{$MODULE_products_media}{/if}
      {if isset($MODULE_products_reviews) && $MODULE_products_reviews != ''}{$MODULE_products_reviews}{/if}
      {if isset($MODULE_cross_selling) && $MODULE_cross_selling != ''}{$MODULE_cross_selling}{/if}
      {if isset($MODULE_reverse_cross_selling) && $MODULE_reverse_cross_selling != ''}{$MODULE_reverse_cross_selling}{/if}
      {if isset($MODULE_also_purchased) && $MODULE_also_purchased != ''}{$MODULE_also_purchased}{/if}
      {if isset($MODULE_products_category) && $MODULE_products_category != ''}{$MODULE_products_category}{/if}

      {if $PRODUCTS_ADDED != ''}<p class="dateadded_border">{$PRODUCTS_ADDED}</p>{/if}
      {$PRODUCT_NAVIGATOR}

    [EDIT Tomcraft 24.01.2023: Code formatiert.]

    motodrom

    • Neu im Forum
    • Beiträge: 11
    Sorry !! Habs jetzt so reinkopiert. Hoffe geht auch so.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.996
    • Geschlecht:
    Du kannst deinen Post ja noch editieren und die Code-tags drum machen.
    Allen Code markieren => Button [xml] klicken.

    Und wo ist der eingefügte Code aus der Anleitung ?

    Ich zitiere mal:

    Zitat
    [...]
    In allen Produkt-Info-Templates /templates/YOUR_TEMPLATE/module/product_info/product_info_*.html das suchen
    Code: XML  [Auswählen]
    <div class="pd_tax{if $PRODUCTS_FSK18 == 'true'} pd_fsk_padding{/if}">{$PRODUCTS_TAX_INFO}{if $PRODUCTS_SHIPPING_LINK}{$PRODUCTS_SHIPPING_LINK}{/if}</div>

    und darunter das einfügen

    Code: XML  [Auswählen]
    {*BOC new for bulkgoods costs module, (c) copyright noRiddle, IHR KÜRZEL*}
    {if isset($SPERRGUT)}
    <div class="pd_tax">{#text_bulk_addition#} {$SPERRGUT} <a class="iframe" title="{#text_bulk#}" href="{$smarty.const.FILENAME_POPUP_CONTENT|xtc_href_link:"coID=$NR_BG_COID"}" target="_blank">
        <img style="vertical-align:middle;" src="{$tpl_path}img/sperrgut2.png"></a>
    </div>
    {/if}
    {*EOC new for bulkgoods costs, (c) copyright noRiddle, IHR KÜRZEL*}
    [...]

    Gruß,
    noRiddle
    rechtstexte für onlineshop