andre_koller Posted April 17, 2007 Report Share Posted April 17, 2007 Hallo, bin noch relativ neu in xtcommerce. Mit der Templateprogrammierung bin ich bereits vertraut. Nur habe ich jetzt noch ein Problem Wie erreiche ich es, dass ein Artikel der nicht mehr verfügbar ist, d.h. Artikelanzahl=0 nicht mehr im Shop angezeigt wird. Danke Link to comment Share on other sites More sharing options...
buero-design Posted April 17, 2007 Report Share Posted April 17, 2007 Hallo Andre, ist nicht so auswendig. Ändere in der includes/modules/product_listing.php diesen Absatz while ($listing = xtc_db_fetch_array($listing_query, true)) { $rows ++; $module_content[] = $product->buildDataArray($listing); } in while ($listing = xtc_db_fetch_array($listing_query, true)) { if ( $listing['products_quantity'] > 0 ) { $rows ++; $module_content[] = $product->buildDataArray($listing); } } Ben Link to comment Share on other sites More sharing options...
SonjaSt Posted April 18, 2007 Report Share Posted April 18, 2007 Ich hoffe, ich darf mich an dieses Thema "dranhängen". Statt den Artikel "auszublenden", hätte ich gerne einen Text geschrieben, z.B. "Zur Zeit vergriffen". Ich dachte, dies über "Lagerampel" lösen zu können, doch eine richtige Lagerampel zu bauen, verstehe ich momentan noch nicht. Gruß, Sonja Link to comment Share on other sites More sharing options...
andre_koller Posted April 18, 2007 Author Report Share Posted April 18, 2007 Danke Ben. Klappt soweit wunderbar, nur wird der Artikel noch unter zuleletzt angesehen oder neueste Artikel angezeigt, wenn einer dieser Fälle eintritt. Im Kategorie-Menü werden in der Klammer für die Anzahl auch Artikel mit Anzahl = 0 dazu gerechnet. Kann man dies auch noch irgendwie beheben? Link to comment Share on other sites More sharing options...
buero-design Posted April 18, 2007 Report Share Posted April 18, 2007 Hallo Andre, ja, kann man bestimmt, sind aber ein paar Zeilen mehr... Für eine kleine Spende bau' ich Dir das gern. Meld Dich bei Interesse einfach per email oder PM bei mir. Ben Link to comment Share on other sites More sharing options...
buero-design Posted April 18, 2007 Report Share Posted April 18, 2007 Hi Sonja, für die Übersichtsseite musst Du in der includes/classes/products.php die Funktion BuildDataArray um die products_quantity ergänzen und dann im Template so etwas einbauen wie {if $module_data.PRODUCTS_QUANTITY <= 0}{#TEXT_VERGRIFFEN#}{/if} Nicht vergessen das TEXT_VERGRIFFEN noch in der Sprachdatei (zB. lang_german.conf) anzulegen. Die notwendigen Anpassungen in der products.php habe ich schon mal im Forum beschrieben: http://www.xt-commerce.com/forum/showthread.php?t=44427&highlight=builddataarray Für die Produktdetailseite ist es ähnlich. Da baust Du {if $PRODUCTS_QUANTITY <= 0}{#TEXT_VERGRIFFEN#}{/if} in das Template ein. Ben Link to comment Share on other sites More sharing options...
suebur Posted April 18, 2007 Report Share Posted April 18, 2007 Hi Ben, while ($listing = xtc_db_fetch_array($listing_query, true)) { if ( $listing['products_quantity'] > 0 ) { $rows ++; $module_content[] = $product->buildDataArray($listing); } } danke für den Tip, jedoch sieht bei mir der Code gaaaanz anders aus und die Funktion buildDataArray() kennt er nicht, meldet Fehler: while ($listing = xtc_db_fetch_array($listing_query, true)) { $rows ++; $price = $xtPrice->xtcGetPrice($listing['products_id'], $format = true, 1, $listing['products_tax_class_id'], $listing['products_price'], 1); if ($_SESSION['customers_status']['customers_status_show_price'] != '0') { $vpePrice = ''; if ($listing['products_vpe_status'] == 1 && $listing['products_vpe_value'] != 0.0 && $price['plain'] > 0) $vpePrice = $xtPrice->xtcFormat($price['plain'] * (1 / $listing['products_vpe_value']), true).TXT_PER.xtc_get_vpe_name($listing['products_vpe']); $buy_now = ''; if ($_SESSION['customers_status']['customers_fsk18'] == '1') { if ($listing['products_fsk18'] == '0') $buy_now = '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$listing['products_id'].'&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$listing['products_name'].TEXT_NOW).'</a>'; } else { $buy_now = '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$listing['products_id'].'&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif', TEXT_BUY.$listing['products_name'].TEXT_NOW).'</a>'; } $fsk18 = ''; if ($listing['products_fsk18'] == '1') $fsk18 = 'true'; } $image = ''; if ($listing['products_image'] != '') $image = DIR_WS_THUMBNAIL_IMAGES.$listing['products_image']; if (ACTIVATE_SHIPPING_STATUS == 'true') { $shipping_status_name = $main->getShippingStatusName($listing['products_shippingtime']); $shipping_status_image = $main->getShippingStatusImage($listing['products_shippingtime']); } if ($_SESSION['customers_status']['customers_status_show_price'] != 0) { $tax_rate = $xtPrice->TAX[$listing['products_tax_class_id']]; // price incl tax if ($tax_rate > 0 && $_SESSION['customers_status']['customers_status_show_price_tax'] != 0) { $tax_info = sprintf(TAX_INFO_INCL, $tax_rate.' %'); } // excl tax + tax at checkout if ($tax_rate > 0 && $_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) { $tax_info = sprintf(TAX_INFO_ADD, $tax_rate.' %'); } // excl tax if ($tax_rate > 0 && $_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 0) { $tax_info = sprintf(TAX_INFO_EXCL, $tax_rate.' %'); } } $ship_info=""; if (SHOW_SHIPPING=='true') { $ship_info=' '.SHIPPING_EXCL.'<a href="javascript:newWin=void(window.open(\''.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'\', \'popup\', \'toolbar=0, width=640, height=600\'))"> '.SHIPPING_COSTS.'</a>'; } $module_content[] = array ('PRODUCTS_NAME' => $listing['products_name'], 'PRODUCTS_MODEL' => $listing['products_model'], 'PRODUCTS_EAN' => $listing['products_ean'], 'PRODUCTS_SHIPPINGTIME'=>$listing['products_shippingtime'], 'PRODUCTS_QUANTITY'=>$listing['products_quantity'], 'PRODUCTS_TAX_INFO' => $tax_info, 'PRODUCTS_SHIPPING_LINK' => $ship_info, 'PRODUCTS_SHORT_DESCRIPTION' => $listing['products_short_description'], 'PRODUCTS_IMAGE' => $image, 'PRODUCTS_PRICE' => $price['formated'], 'PRODUCTS_VPE' => $vpePrice, 'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($listing['products_id'],$listing['products_name'])), 'BUTTON_BUY_NOW' => $buy_now, 'PRODUCTS_FSK18' => $fsk18, 'SHIPPING_NAME' => $shipping_status_name, 'SHIPPING_IMAGE' => $shipping_status_image, 'PRODUCTS_ID' => $listing['products_id']); }Hab die if-Abfrage nun um den ganzen Block gebaut - und es geht *freu* Danke! Sue Link to comment Share on other sites More sharing options...
buero-design Posted April 20, 2007 Report Share Posted April 20, 2007 Hi Sue, haste richtig gemacht! Vielleicht hätte ich dazuschreiben sollen, das meine Codeschnipsel für die Version 3.04Sp2.1 sind. In der V 3.04Sp1, die Du vermutlich einsetzt, muss das tatsächlich "um den ganzen Block". Aber bitte innerhalb der while Schleife, also so: while ($listing = xtc_db_fetch_array($listing_query, true)) { if ( $listing['products_quantity'] > 0 ) { $rows ++; $price = $xtPrice->xtcGetPrice($listing['products_id'], $format = true, 1, $listing['products_tax_class_id'], $listing['products_price'], 1); . . . 'SHIPPING_IMAGE' => $shipping_status_image, 'PRODUCTS_ID' => $listing['products_id']); } } Ben Link to comment Share on other sites More sharing options...
crapaddict Posted January 26, 2009 Report Share Posted January 26, 2009 Ich habe das Problem, dass Artikel nicht mehr aktiviert werden wenn Lagerbestand>0. Ein lustiger Mitarbeiter unserer Logistiksoftware hat die Deaktivierung eingestellt und hat niemandem gesagt wo/wie. Nun arbeitet er nicht mehr bei der Firma. => Artikel werden inaktiv geschaltet wenn Lagerbestand=0 und verrotten dann, bis sie bei einer (inzwischen schon Routine-) Kontrolle entdeckt werden. Kann mir jemand sagen wo das ggf. stecken könnte? Link to comment Share on other sites More sharing options...
Christian Rothe Posted January 26, 2009 Report Share Posted January 26, 2009 Kann mir jemand sagen wo das ggf. stecken könnte?Wie wäre es, im Admin-Bereich mal den lustigen Navigationspunkt "Lagerverwaltungs-Optionen" im Menübereich "Konfiguration" anzuklicken? Hhmm, was der wohl macht? Was finden wir da? Richtiiig: Eine Einstellung: "Einkaufen nicht vorrätiger Ware erlauben": Ja oder nein Link to comment Share on other sites More sharing options...
Guest tuvalu Posted January 26, 2009 Report Share Posted January 26, 2009 Wie wäre es, im Admin-Bereich mal den lustigen Navigationspunkt "Lagerverwaltungs-Optionen" im Menübereich "Konfiguration" anzuklicken? Hhmm, was der wohl macht? Was finden wir da? Richtiiig: Eine Einstellung: "Einkaufen nicht vorrätiger Ware erlauben": Ja oder nein Richtig, funktioniert aber offenbar nicht bei jedem. Und wenn man da statt dessen "Ist zur Zeit vergriffen" stehen haben will oder nur den Kaufbutton ausblenden will, oder ... tuvalu_ Link to comment Share on other sites More sharing options...
crapaddict Posted January 27, 2009 Report Share Posted January 27, 2009 Was finden wir da? Richtiiig: Eine Einstellung: "Einkaufen nicht vorrätiger Ware erlauben": Ja oder nein Hm..diese Einstellung ist aber nur dafür zuständig, dass die Artikel in den Warenkorb gelegt, aber nicht gekauft werden können. Dafür ist ja dann diese "Kennzeichnung vergriffener Artikel" da. Das Problem ist aber, dass die Artikel deaktiviert werden. Irre ich mich? Link to comment Share on other sites More sharing options...
crapaddict Posted February 11, 2009 Report Share Posted February 11, 2009 niemand ne Idee? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.