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: ANLEITUNG: Ablaufdatum aus Tabelle SPECIALS in product_listing anzeigen

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.484
    Hi
    Daß für die Startseite " new_products_default.html
    und bei den Kategorien die " new_products.html "
    weißt Du ne?

    Zitat
    Artikeldatensatz unter "Unterh. Warenk. Anz."
    Hääää
    Ich verstehe nur Bahnhof.
    Wo kann ich das einstellen?

    GMS
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    das mit dem "Artikeldatensatz unter "Unterh. Warenk. Anz." war wohl nicht nur nicht das Problem, es handelt sich hier sogar um was ganz anderes. Komme langsam echt durcheinander ... . "Unterh. Warenk. Anz." ist ein Modul (Zusatzartikel unter dem Warenkorb), was ich kürzlich eingebaut habe was bewirkt, dass die ausgewählten Artikel auf der Warenkorbseite eben unterhalb des Warenkorbes eingeblendet werden. Habe mal das Bildchen angehangen. Hat mit der Sache hier nur insofern etwas zu tun als das ich gerade sehe, dass das Ablaufdatum meines Sonderpreis-Testartikels dort auch nicht angezeigt wird. Das muß ich mir morgen noch mal anschauen ... . Für dieses "Warenkorbmodul" wurde ansonsten die /admin/includes/modules/new_product.php verändert nicht die includes/modules/new_products.php.

    Jetzt geht es also darum herauszufinden, was sich durch den neuen code im Vergleich zum alten in der "includes/modules/new_products.php verändert hat, so dass die neu aufgenommenen Artikel nicht mehr  auf der Seite "weitere Unterkategorien" (nach Klick auf eine Hauptkategorie aus dem linken Menü) unterhalb angezeigt werden. Anders gefragt, welcher der Schnipsel aus der new_products.php hat sich die neuen Produkte an diese Stelle geholt und tut es nun nach der Änderung nicht mehr.

    Viel gravierender ist ja aber die fehlende Anzeige des Ablaufdatums in der /advanced_search_result.php. Da tut sich rein gar nichts nach Einfügen von s.expires_date.

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    Erst mal frohe Weihnachten an euch! ... und dann schon zum Thema was mich, wie man sehen kann, auch heute nicht los läßt. Es muß halt irgendwie gelöst werden.

    Mit der Anzeige des Ablaufdatums in der /new_products.php komme ich nicht wirklich weiter. Ich vermute mal, dass das Problem mit der Anzeige meiner neuen Artikelliste im zweiten Teil der Änderungen liegt. Da wird irgend eine Abfrage nicht mehr ausgeführt. Ich versuche gerade noch herauszufinden warum in meiner ursprünglichen Datei z.B. ein Schnipsel ORDER BY RAND() ASC statt ORDER BY p.products_startpage_sort ASC steht. Das muß von irgendeinem Moduleinbau stammen. Vielleicht ist das aber auch gar nicht das Problem. Ich poste unten mal ein Bild mit meinen Admineinstellungen bzgl. der neuen Artikel-Anzeige. Um die beiden mit dem Pfeil markierten Einstellungen müßte es sich handeln. Vielleicht wird dann deutlich an welchen Stellen es hängt.

    Erst mal wirklich wichtig bleibt aber die leider immer noch fehlende Anzeige des Ablaufdatums in meiner /advanced_search_result.php. Da das Suchergebnis mit Kaufen-Button ausgegeben wird, muß das Ablaufdatum hier rein, sonst kann ich keine Angebote machen und das wäre ziemlich bescheiden ... .

    Bezüglich der Anzeige der ausgewählten Artikel unterhalb des Warenkorbs (Modultopic http://www.modified-shop.org/forum/index.php?topic=24714.0) habe ich immerhin einen Teilerfolg mit meinem Sonderpreis-Testartikel mit der Anzeige des Ablaufdatums erzielt. Reicht aber so nicht, da mir der Text vor dem Ablaufdatum "Sonderangebot gültig bis:" fehlt. Wie bekommt man den wohl noch rein? Hier mal meine beiden (entsprechend schon veränderten) Dateien.

    /includes/modules/cart_specials.php
    /templates/xtc5/module/cart_specials.html

    Code: PHP  [Auswählen]
    <?php

    /* -----------------------------------------------------------------------------------------
       $Id: cart_specials.php 1292 2005-10-07 16:10:55Z mz $
       Part of Modul: icart

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(new_products.php,v 1.33 2003/02/12); www.oscommerce.com
       (c) 2003      nextcommerce (new_products.php,v 1.9 2003/08/17); www.nextcommerce.org
       

       Released under the GNU General Public License
       -----------------------------------------------------------------------------------------
       Third Party contributions:
       Enable_Disable_Categories 1.3                Autor: Mikel Williams | mikel@ladykatcostumes.com
       (c) 2010 www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! )) info@(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    $module_smarty = new Smarty;
    $module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

    //fsk18 lock
    $fsk_lock = '';
    if ($_SESSION['customers_status']['customers_fsk18_display'] == '0')
            $fsk_lock = ' and p.products_fsk18!=1';

    if (GROUP_CHECK == 'true')
            $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";

    $new_products_query = "
      SELECT   *
          FROM "
    .TABLE_PRODUCTS_DESCRIPTION." pd,
               "
    .TABLE_PRODUCTS." p
     LEFT JOIN "
    .TABLE_SPECIALS." s on p.products_id = s.products_id and s.status = '1'
      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;

    $row = 0;
    $module_content = array ();
    $new_products_query = xtDBquery($new_products_query);
    //while ($new_products = xtc_db_fetch_array($new_products_query, true)) {
    //      $module_content[] = $product->buildDataArray($new_products);
    //}
    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);
    }



    if (sizeof($module_content) >= 1) {
            $module_smarty->assign('language', $_SESSION['language']);
            $module_smarty->assign('module_content', $module_content);
           
            // set cache ID
             if (!CacheCheck()) {
                    $module_smarty->caching = 0;
                    $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/cart_specials.html');
            } else {
                    $module_smarty->caching = 1;
                    $module_smarty->cache_lifetime = CACHE_LIFETIME;
                    $module_smarty->cache_modified_check = CACHE_CHECK;
                    $cache_id = $new_products_category_id.$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
                    $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/cart_specials.html', $cache_id);
            }

      $cart_specials_content=$module;
    }
    ?>

    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}
            {if $module_data.PRODUCTS_EXPIRES}{#text_expires_date#}{$module_data.PRODUCTS_EXPIRES|date_format:"%x"}{/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}  
     

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    nun meine Zusammenfassung der gestrigen Arbeiten. Ich habe es tatsächlich gefunden, warum in meiner  /includes/modules/new_products.php anderes drin steht als in der Originaldatei. Der Grund ist, dass ich für die Startseite "Zufallsprodukte" angezeigt bekommen wollte. Getitelt wird die Startseite damit aber immer noch mit "Neue Artikel", was mich wohl veranlasst hat zu glauben, es handele sich noch um diese. Eine Anleitung dazu hatte ich damals wohl hier gefunden: http://www.modified-shop.org/forum/index.php?topic=23481.0

    Habe dann aber nochmal die Originaldatei hergenommen und nach Anleitung geändert und hochgeladen. Das Ergebnis war eine weiße Seite, so dass ich die Datei mit der Anzeige der Zufallsprodukte wieder aktiviert habe. Vermutlich ist damit das Thema new_products.php und dortige Anzeige des Ablaufdatums nicht mehr möglich. Wenn ich da selbst noch mehr dran rum bastele komme ich ja auch nicht weiter :-(

    Immerhin habe ich es geschafft in meinem Modul "Zusatzartikel unterhalb des Warenkorbes anzeigen" das Ablaufdatum korrekt angezeigt zu bekommen. Eigentlich mußte ich nur noch die Sprachvariabe in der .conf nacharbeiten. Den Rest konnte ich von einer der anderen Dateien aus der Anleitung 1:1 übernehmen.

    Wenn es jetzt noch mit der /advanced_search_result.php und der /print_product_info.php bzw. -.html klappen würde ... . Habe mich bis in die frühen Morgenstunden daran verlustiert ohne auch nur einen Schritt weiter zu sein. Ist in der /advanced_search_result.php wirklich nur ein "s.expires_date," in der select einzuschieben? Fehlt da nicht noch eine Abfrage? Wo holt sich denn die advanced_search_result.php das Ablaufdatum her? Bzw. in welche html gibt die advanced_search_result das Ablaufdatum mit Sprachvariable aus?

    In der /print_product_info.php gibt es ja einen Teil der das Ablaufdatum zu betreffen scheint, aber es wird nicht angezeigt. Wo hängt das bloß? In der /print_product_info.php steht ja dieses drin. Kann man das nicht verwenden?

    Code: PHP  [Auswählen]
      // show expiry date of active special products
      $special_expires_date_query = "SELECT expires_date
                                       FROM "
    .TABLE_SPECIALS."
                                      WHERE products_id = '"
    .$product->data['products_id']."'
                                        AND status = '1'"
    ;
      $special_expires_date_query = xtDBquery($special_expires_date_query);
      $sDate = xtc_db_fetch_array($special_expires_date_query, true);
      $info_smarty->assign('PRODUCTS_EXPIRES', $sDate['expires_date'] != '0000-00-00 00:00:00' ? xtc_date_short($sDate['expires_date']) : '');
     

    In der zugehörigen /templates/xtc5/module/print_product_info.html habe ich den Ausgabeteil (ganz unten) so eingefügt:
    Code: PHP  [Auswählen]
       <div id="productinfodescription">
          {if $PRODUCTS_MODEL != ''}<p>{$PRODUCTS_MODEL}</p>{/if}
          <p>{$PRODUCTS_DESCRIPTION}</p>
          {if $module_content !=''}
            <h2>{#options#}</h2>    
           <ul>{foreach name=aussen item=module_data from=$module_content}
            <li>{$module_data.GROUP}: {$module_data.NAME}</li>
            {/foreach}
            </ul>    
          {/if}
          <h2>{#price#}</h2>
         <p><strong>{$PRODUCTS_PRICE}</strong>, {$PRODUCTS_TAX_INFO}{$PRODUCTS_SHIPPING_LINK}</p>
          {if $MODULE_graduated_price !=''}<div class="hrlightgrey"></div>{$MODULE_graduated_price}{/if}
          {if $PRODUCTS_DISCOUNT!=''}<div class="hrlightgrey"></div>{$PRODUCTS_DISCOUNT}{/if}
          {if $PRODUCTS_VPE} <p>{$PRODUCTS_VPE}</p>{/if}
              {if $module_data.PRODUCTS_EXPIRES}<br />{#text_expires_date#}{$module_data.PRODUCTS_EXPIRES|date_format:"%x"}{/if}
       </div>

    WeXsler

    • Viel Schreiber
    • Beiträge: 536
    langsam schreibe ich hier ein Buch ... hab`s aber auch gerade echt satt und könnte die ganzen Tage, die ich jetzt damit beschäftigt bin nehmen und samt Shop an die Wand klatschen!

    Was ist denn das nun wieder? Habe gerade Artikel im Preis über die Sonderangebotsfunktion im Admin reduziert OHNE Ablaufdatum. Die Möglichkeit das so einzustellen gibt es ja und das ist auch gut so.

    So kann ich Angebote schreiben - wenn das denn mal mit dem Ablaufdatum klappen würde ... und kann im Preis einfach nur reduzierte Artikel hervorheben. So weit so gut.

    Jetzt werden mir diese OHNE Ablaufdatum eingestellten Artikel wie im Bild zu sehen angezeigt.

    Was ist das? HILFE!!!!!!!!!!!! Ich bin erledigt - geh jetzt die Kiste Sekt weghauen die für Sylvester gedacht war ... :-(

    revilO_S

    • Fördermitglied
    • Beiträge: 29
    Hallo zusammen,

    erstmal vielen Dank für die Anleitung zur Umsetzung.

    Leider bleibt bei mir ein Problem bestehen, sowohl im Original Template als auch in meinem geänderten Template.  Shopversion : v1.06 rev 4642 SP2

    Ich bekomme die benötigten Informationen ( Angebot gültig bis : Datum )  überall angezeigt - bis auf eine Ausnahme, nämlich die product_listing_v1.html.

    Ich habe das ganze jetzt 3 mal durchgespielt, um eventuelle Copie/Paste Fehler auszuschliessen, leider ohne Erfolg.  Und wie gesagt, das Problem habe ich mit dem originalen XTC5 Template genauso wie mit meiner geänderten Version.  Der Shop ist noch nicht online, deshalb leider kein Link.

    Beim probieren ist mir aufgefallen, wenn ich die product_listing_v1.html lösche, bekomme ich auch keine Seite mehr angezeigt wenn ich ein Produkt über die Suchfunktion aufrufe.
    Lade ich die product_listing_v1.html wieder hoch, wird das Produkt wieder gefunden und auch die Information ( Angebot gültig bis : Datum ) wird angezeigt.

    Gehe ich hingegen wieder direkt in die Produktkategorie ( Level2) fehlt die Information.
    Im Level1 ist sie vorhanden, aber da ist ja auch die new_products.html zuständig.

    Falls hier jemand eine Idee hat, ich würde mich wirklich freuen .....

    Grüsse, Oliver

    trendco

    • Neu im Forum
    • Beiträge: 10
    Kurze Frage, gibt es hier einen finalen Endstand?
    Also eine Anleitung wie ich das Ablaudatum an den benötigten Stellen zur Verfügung habe?
    Ich blick da nicht mehr ganz durch :)
    34 Antworten
    21532 Aufrufe
    15. Januar 2013, 23:21:25 von Gradler
    10 Antworten
    6970 Aufrufe
    10. Oktober 2011, 18:08:38 von Jürgen
    2 Antworten
    2658 Aufrufe
    20. September 2014, 21:48:21 von lullifatz
    17 Antworten
    5965 Aufrufe
    27. November 2015, 16:35:42 von Viol