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: Input ACTIVATE_SHIPPING_STATUS in /admin/configuration.php?gID=17

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
     :morning:

    Hat jemand eine Ahnung was in Erweiterte Konfiguration => Zusatzmodule folgendes bewirken soll ?
    "Versandstatusanzeige aktivieren?"
    Deaktiviert man diese Funktion (also auf "false" stellen), wird in der product_info der shipping_status nicht mehr angezeigt (gut soweit),
    in der product_listing und den drei new_product_* Templates wird der Status weiterhin angezeigt.
    Ist das nicht ein Bug ?
    Und wenn nicht, wo ist der Sinn ?

    In welcher Datei wird das Togglen true <=> false behandelt ?

    Danke,
    Gruß,
    noRiddle

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    :Schieb:

    Kann sich das mal einer der Entwickler ansehen ?
    Ich halte das für einen Bug.

    Danke,
    noRiddle

    web28

    • modified Team
    • Beiträge: 9.404
    Ja ist ein Bug.

    In der includes/classes/product.php fehlt die ensprechende If Abfrage

    Falsch:
    Code: PHP  [Auswählen]
    if (isset($array['products_shippingtime'])) {
                $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
                $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
            } else {
                $shipping_status_name = '';
                $shipping_status_image = '';
            }

    Richtig:

    Code: PHP  [Auswählen]
    if (isset($array['products_shippingtime']) && ACTIVATE_SHIPPING_STATUS == 'true') {
                $shipping_status_name = $main->getShippingStatusName($array['products_shippingtime']);
                $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
            } else {
                $shipping_status_name = '';
                $shipping_status_image = '';
            }

    Gruss Web28

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Hi web28.

    Das ging ja fix, ich danke dir.
    Hatte zwar in /includes/modules/product_info.php die Abfrage nach ACTIVE_SHIPPING_STATUS gefunden, nicht aber den Bezug in der /includes/classes/product.php .

    Kommt das in den Trunk ?

    Gruß,
    noRiddle

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Hallo web28, hoffe du siehst das hier:
    Falls du den Patch schon in den Trunk gepackt hast,
    da fehlt noch etwas.

    In der /includes/modules/product_info wird die Smarty-Variable für die /template/xtc5/module/product_info/product_info.html erst generiert, wenn ACTIVATE_SHIPPING_STATUS == 'true' .
    das funktioniert natürlich wenn in der html-Datei die Variable so abgefragt wird:
    Code: PHP  [Auswählen]
    {if $SHIPPING_NAME}

    In deinem geposteten Patch in /includes/classes/product.php für die /template/xtc5/module/product_info/product_info.html wird ja das array gebildet mit u.A.
    Code: PHP  [Auswählen]
    'PRODUCTS_SHIPPING_NAME' => $shipping_status_name,
    das bedeutet, daß die abgefragte Variable in der o.g. product_listing.html im Template
    Code: PHP  [Auswählen]
    {if $module_data.PRODUCTS_SHIPPING_NAME}
    zwar ein leerer String sein kann aber nie 0 ist und folglich das Fragment #text_shippingtime# (per default "Lieferzeit" glaube ich) stehen bleibt auch wenn ACTIVATE_SHIPPING_STATUS == 'true' .

    Es müsste also in o.g. product.php folgendes im array stehen:
    Code: PHP  [Auswählen]
    'PRODUCTS_SHIPPING_NAME' => ACTIVATE_SHIPPING_STATUS == 'true' ? $shipping_status_name : 0,

    Erst dann wird die komplette Liferzeit-Anzeige in product_listing.html ausgeblendet wenn ACTIVATE_SHIPPING_STATUS auf true steht, korrekt ?

    Grüsse,
    noRiddle
               
    anything