Jump to content
xt:Commerce Community Forum

BTSpeedy

Members
  • Content Count

    6
  • Joined

  • Last visited

  1. Nach so langer Zeit. Trotzdem nützlich. Danke schön.
  2. Nach dem update auf FF Version 13 ist alles wieder gut. Einen schönen Tag
  3. Hallo ihr Tapferen, Der Couponwert gibt mein Kunde als positiven Wert ein. Jetzt habe ich auch alles so wie es soll, nur: Ich wurde gerne den Wert (value) in der ORDERS_TOTAL als negativen Wert abspeichern. Was mir fehlt ist die Datei, in der die Bestellung bei der Bestätigung abgespeichert wird. Meine Hoffnung ist, dabei den Wert umkehren zu können. Vielen Dank für Eure Hilfe Dat Speedy
  4. Sorry für meine Dummheit. Ich habe hier das gleiche Problem und verstehe nicht was "Lag an der Sandbox" heißt. Könnt ihr mich bitte aufklären! Danke schön
  5. Hallo, Nach obiger Änderung hat bisher alles ohne Fehler funktioniert. Die Syntax von SQL-Abfragen hat sich leicht geändert. Bei Verwendung von JOIN müssen die Worte hinter dem FROM in Klammern gesetzt werden. Ich gebe Dir im Folgenden meine "advanced_search_ressult.php". Hier ist auch das lästige "Alle Artikel zeigen" bei leerem Suchstring abgestellt. Leerer Suchstring führt 1. zur Erweiterten Suche und 2. hier zu keinem Ergebniss. Wenn dir das nicht gefällt, musst du die entsprechenden Zeilen entfernen. Sie sind im Quelltext kommerntiert. <?php /* ----------------------------------------------------------------------------------------- $Id: advanced_search_result.php 1141 2005-08-10 11:31:36Z novalis $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright (c) 2005 XT-Commerce ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(advanced_search_result.php,v 1.68 2003/05/14); www.oscommerce.com (c) 2003 nextcommerce (advanced_search_result.php,v 1.17 2003/08/21); www.nextcommerce.org Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ include ('includes/application_top.php'); // create smarty elements $smarty = new Smarty; // include boxes require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php'); // include needed functions require_once (DIR_FS_INC.'xtc_parse_search_string.inc.php'); require_once (DIR_FS_INC.'xtc_get_subcategories.inc.php'); require_once (DIR_FS_INC.'xtc_get_currencies_values.inc.php'); /* * check search entry */ $error = 0; // reset error flag to false $errorno = 0; $keyerror = 0; if (isset ($_GET['keywords']) && empty($_GET['keywords'])) { // ********** Bei Suche ohne Zeicheneingabe wird zur erweiterten Suche verzweigt // $keyerror = 1; // alt $error = 1; //neu // ********************************************************** } if ((isset ($_GET['keywords']) && empty ($_GET['keywords'])) && (isset ($_GET['pfrom']) && empty ($_GET['pfrom'])) && (isset ($_GET['pto']) && empty ($_GET['pto']))) { $errorno += 1; $error = 1; } elseif (isset ($_GET['keywords']) && empty ($_GET['keywords']) && !(isset ($_GET['pfrom'])) && !(isset ($_GET['pto']))) { $errorno += 1; $error = 1; } if (strlen($_GET['keywords']) < 3 && strlen($_GET['keywords']) > 0 && $error == 0) { $errorno += 1; $error = 1; $keyerror = 1; } if (strlen($_GET['pfrom']) > 0) { $pfrom_to_check = xtc_db_input($_GET['pfrom']); if (!settype($pfrom_to_check, "double")) { $errorno += 10000; $error = 1; } } if (strlen($_GET['pto']) > 0) { $pto_to_check = $_GET['pto']; if (!settype($pto_to_check, "double")) { $errorno += 100000; $error = 1; } } if (strlen($_GET['pfrom']) > 0 && !(($errorno & 10000) == 10000) && strlen($_GET['pto']) > 0 && !(($errorno & 100000) == 100000)) { if ($pfrom_to_check > $pto_to_check) { $errorno += 1000000; $error = 1; } } if (strlen($_GET['keywords']) > 0) { if (!xtc_parse_search_string(stripslashes($_GET['keywords']), $search_keywords)) { $errorno += 10000000; $error = 1; $keyerror = 1; } } if ($error == 1 && $keyerror != 1) { xtc_redirect(xtc_href_link(FILENAME_ADVANCED_SEARCH, 'errorno='.$errorno.'&'.xtc_get_all_get_params(array ('x', 'y')))); } else { /* * search process starts here */ $breadcrumb->add(NAVBAR_TITLE1_ADVANCED_SEARCH, xtc_href_link(FILENAME_ADVANCED_SEARCH)); $breadcrumb->add(NAVBAR_TITLE2_ADVANCED_SEARCH, xtc_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords='.xtc_db_input($_GET['keywords']).'&search_in_description='.xtc_db_input($_GET['search_in_description']).'&categories_id='.(int)$_GET['categories_id'].'&inc_subcat='.xtc_db_input($_GET['inc_subcat']).'&manufacturers_id='.(int)$_GET['manufacturers_id'].'&pfrom='.xtc_db_input($_GET['pfrom']).'&pto='.xtc_db_input($_GET['pto']).'&dfrom='.xtc_db_input($_GET['dfrom']).'&dto='.xtc_db_input($_GET['dto']))); require (DIR_WS_INCLUDES.'header.php'); // define additional filters // //fsk18 lock if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = " AND p.products_fsk18 != '1' "; } else { unset ($fsk_lock); } //group check if (GROUP_CHECK == 'true') { $group_check = " AND p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 "; } else { unset ($group_check); } //manufacturers if set if (isset ($_GET['manufacturers_id']) && xtc_not_null($_GET['manufacturers_id'])) { $manu_check = " AND p.manufacturers_id = '".(int)$_GET['manufacturers_id']."' "; } //include subcategories if needed if (isset ($_GET['categories_id']) && xtc_not_null($_GET['categories_id'])) { if ($_GET['inc_subcat'] == '1') { $subcategories_array = array (); xtc_get_subcategories($subcategories_array, (int)$_GET['categories_id']); $subcat_join = " LEFT OUTER JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." AS p2c ON (p.products_id = p2c.products_id) "; $subcat_where = " AND p2c.categories_id IN ('".(int) $_GET['categories_id']."' "; foreach ($subcategories_array AS $scat) { $subcat_where .= ", '".$scat."'"; } $subcat_where .= ") "; } else { $subcat_join = " LEFT OUTER JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." AS p2c ON (p.products_id = p2c.products_id) "; $subcat_where = " AND p2c.categories_id = '".(int) $_GET['categories_id']."' "; } } if ($_GET['pfrom'] || $_GET['pto']) { $rate = xtc_get_currencies_values($_SESSION['currency']); $rate = $rate['value']; if ($rate && $_GET['pfrom'] != '') { $pfrom = $_GET['pfrom'] / $rate; } if ($rate && $_GET['pto'] != '') { $pto = $_GET['pto'] / $rate; } } //price filters if (($pfrom != '') && (is_numeric($pfrom))) { $pfrom_check = " AND (IF(s.status = '1' AND p.products_id = s.products_id, s.specials_new_products_price, p.products_price) >= ".$pfrom.") "; } else { unset ($pfrom_check); } if (($pto != '') && (is_numeric($pto))) { $pto_check = " AND (IF(s.status = '1' AND p.products_id = s.products_id, s.specials_new_products_price, p.products_price) <= ".$pto." ) "; } else { unset ($pto_check); } //build query $select_str = "SELECT distinct p.products_id, p.products_price, p.products_model, p.products_quantity, p.products_shippingtime, p.products_fsk18, p.products_image, p.products_weight, p.products_tax_class_id, pd.products_name, pd.products_short_description, pd.products_description "; // ***************** Um inaktive Kategorien auszuschalten! // $from_str = "FROM ".TABLE_PRODUCTS." AS p LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) "; // alt $from_str = "FROM (".TABLE_PRODUCTS." AS p, ".TABLE_PRODUCTS_TO_CATEGORIES." AS pc, ".TABLE_CATEGORIES." AS c ) LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) "; //neu //************************** $from_str .= $subcat_join; if (SEARCH_IN_ATTR == 'true') { $from_str .= " LEFT OUTER JOIN ".TABLE_PRODUCTS_ATTRIBUTES." AS pa ON (p.products_id = pa.products_id) LEFT OUTER JOIN ".TABLE_PRODUCTS_OPTIONS_VALUES." AS pov ON (pa.options_values_id = pov.products_options_values_id) "; } $from_str .= "LEFT OUTER JOIN ".TABLE_SPECIALS." AS s ON (p.products_id = s.products_id) AND s.status = '1'"; if ((DISPLAY_PRICE_WITH_TAX == 'true') && ((isset ($_GET['pfrom']) && xtc_not_null($_GET['pfrom'])) || (isset ($_GET['pto']) && xtc_not_null($_GET['pto'])))) { if (!isset ($_SESSION['customer_country_id'])) { $_SESSION['customer_country_id'] = STORE_COUNTRY; $_SESSION['customer_zone_id'] = STORE_ZONE; } $from_str .= " LEFT OUTER JOIN ".TABLE_TAX_RATES." tr ON (p.products_tax_class_id = tr.tax_class_id) LEFT OUTER JOIN ".TABLE_ZONES_TO_GEO_ZONES." gz ON (tr.tax_zone_id = gz.geo_zone_id) "; $tax_where = " AND (gz.zone_country_id IS NULL OR gz.zone_country_id = '0' OR gz.zone_country_id = '".(int) $_SESSION['customer_country_id']."') AND (gz.zone_id is null OR gz.zone_id = '0' OR gz.zone_id = '".(int) $_SESSION['customer_zone_id']."')"; } else { unset ($tax_where); } //where-string $where_str = " WHERE p.products_status = '1' "." AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check; // ***************** Um inaktive Kategorien auszuschalten! $where_str .= " AND pc.products_id = p.products_id AND c.categories_id = pc.categories_id AND c.categories_status = 1 "; // zusätzlich //************************** //go for keywords... this is the main search process if (isset ($_GET['keywords']) && xtc_not_null($_GET['keywords'])) { if (xtc_parse_search_string(stripslashes($_GET['keywords']), $search_keywords)) { $where_str .= " AND ( "; for ($i = 0, $n = sizeof($search_keywords); $i < $n; $i ++) { switch ($search_keywords[$i]) { case '(' : case ')' : case 'and' : case 'or' : $where_str .= " ".$search_keywords[$i]." "; break; default : $where_str .= " ( "; $where_str .= "pd.products_keywords LIKE ('%".addslashes($search_keywords[$i])."%') "; if (SEARCH_IN_DESC == 'true') { $where_str .= "OR pd.products_description LIKE ('%".addslashes($search_keywords[$i])."%') "; $where_str .= "OR pd.products_short_description LIKE ('%".addslashes($search_keywords[$i])."%') "; } $where_str .= "OR pd.products_name LIKE ('%".addslashes($search_keywords[$i])."%') "; $where_str .= "OR p.products_model LIKE ('%".addslashes($search_keywords[$i])."%') "; if (SEARCH_IN_ATTR == 'true') { $where_str .= "OR (pov.products_options_values_name LIKE ('%".addslashes($search_keywords[$i])."%') "; $where_str .= "AND pov.language_id = '".(int) $_SESSION['languages_id']."')"; } $where_str .= " ) "; break; } } $where_str .= " ) GROUP BY p.products_id ORDER BY p.products_id "; } } //glue together $listing_sql = $select_str.$from_str.$where_str; require (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING); } $smarty->assign('language', $_SESSION['language']); $smarty->caching = 0; if (!defined(RM)) $smarty->load_filter('output', 'note'); $smarty->display(CURRENT_TEMPLATE.'/index.html'); include ('includes/application_bottom.php'); ?> [/PHP]
  6. Ich habe dieses Problem bei der Suche immer noch. Die default.php habe ich inzwischen geändert. Keine Ahnung was jetzt? Hat noch jemand einen Hinweis? xt:Commerce v3.0.4 SP2.1 Release Datum: 17 Aug 2006 MySQL 5.0 gehostet bei 1&1 AHA, Meine jetzigen Infos sagen mir, das es wohl an der MySQL Version liegt. Mit Version 4 würde es laufen. Ist irgendwie mal eine Updateversion vorgesehen um von 4 auf 5 umzusteigen? Alles klar!!! Nach austausch obiger default.php muss auch die SQL-Abfrage in der advances_search_result.php entsprechnd mit Klammern versehen werden. Ich vermute mal das andere Stellen an denen dieser Fehler auftaucht ähnlich nachbearbeitet werden müssen. Boah, entlich gefunden. kann ganz hilfreich sein, so ein Selbstgespräch
×
×
  • Create New...