> Installera << 1. Döp om filen till lustfynd_export.php 2. Kopiera lustfynd_export.php till din osCommerce-installation 3. Ändra leveranskostnad på rad 26 (och andra inställningar där) 4. Testa genom att gå till http://www.dinbutik.se/catalog/lustfynd_export.php 5. Kontrollera att all data ser korrekt ut 6. Möjlighet finns att ändra vissa inställningar, se raderna 20-26 */ /* >> Inställningar << */ define('SEO_ENABLED', 'false'); // Standard = false (ange om Ultimate SEO URLs 2.1d är aktiverat) $languages_id = 1; // Standard = 1 (ange id-värdet för svenska sprÂk) $languages_code = sv; // Standard = sv (ange koden för svenska språket) $taxRate = 0; // Standard = 25 (t.ex. för 25 % moms ange "$taxRate = 25;") $convertCur = false; // Standard = false (ändra om din standardvaluta är annan än "SEK") $curType = "SEK"; // Standard = SEK (konverterar produktpriser till angiven valuta, t.ex. SEK, EUR, USD) $fixedShipping = 49; // Fast pris på leverans i SEK. Vid rörligt pris, skriv -1 /* slut på inställningar */ require_once('includes/configure.php'); require_once('includes/filenames.php'); require_once('includes/database_tables.php'); define('SEPARATOR', '|'); $taxCalc = ($taxRate / 100) + 1; if (SEO_ENABLED == 'true') { require_once(DIR_WS_CLASSES . 'seo.class.php'); $seo_urls = new SEO_URL($languages_id); function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) { global $seo_urls; return $seo_urls->href_link($page, $parameters, $connection, $add_session_id); } } $source_file = $OutFile; $imageURL = HTTP_SERVER . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES; if (SEO_ENABLED == 'true') { $productURL = 'product_info.php'; $productParam = "products_id="; } else { $productURL = HTTP_SERVER . DIR_WS_HTTP_CATALOG . 'product_info.php?language=' . $languages_code . '¤cy=' . $curType . '&products_id='; } $already_sent = array(); if ($convertCur == true) { if (SEO_ENABLED == 'true') { $productParam="&products_id="; }else { $productURL = "" . HTTP_SERVER . "" . DIR_WS_HTTP_CATALOG . "product_info.php?language=" . $languages_code . "¤cy=" . $curType . "&products_id="; } } // try to connect to database if (!($link = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD))) { echo "Fel, kunde inte kontakta databas."; exit; } elseif (!mysql_select_db(DB_DATABASE, $link)) { echo "Fel, databasen (" . DB_DATABASE . ") finns inte."; exit; } // biig lovely query $sql = " SELECT CONCAT('" . $productURL . "' , " . TABLE_PRODUCTS . ".products_id) AS product_url, products_model AS prodModel, products_weight, " . TABLE_MANUFACTURERS . ".manufacturers_name AS mfgName, " . TABLE_MANUFACTURERS . ".manufacturers_id, " . TABLE_PRODUCTS . ".products_id AS id, " . TABLE_PRODUCTS_DESCRIPTION . ".products_name AS name, " . TABLE_PRODUCTS_DESCRIPTION . ".products_description AS description, " . TABLE_PRODUCTS . ".products_quantity AS quantity, " . TABLE_PRODUCTS . ".products_status AS prodStatus, FORMAT(IFNULL(" . TABLE_SPECIALS . ".specials_new_products_price, " . TABLE_PRODUCTS . ".products_price) * " . $taxCalc . ",2) AS price, CONCAT( '" . $imageURL . "' ," . TABLE_PRODUCTS . ".products_image) AS image_url, " . TABLE_PRODUCTS_TO_CATEGORIES . ".categories_id AS prodCatID, " . TABLE_CATEGORIES . ".parent_id AS catParentID, " . TABLE_CATEGORIES_DESCRIPTION . ".categories_name AS catName FROM ( " . TABLE_CATEGORIES . ", " . TABLE_CATEGORIES_DESCRIPTION . ", " . TABLE_PRODUCTS . ", " . TABLE_PRODUCTS_DESCRIPTION . ", " . TABLE_PRODUCTS_TO_CATEGORIES . " ) LEFT JOIN " . TABLE_MANUFACTURERS . " ON ( " . TABLE_MANUFACTURERS . ".manufacturers_id = " . TABLE_PRODUCTS . ".manufacturers_id ) LEFT JOIN " . TABLE_SPECIALS . " ON ( " . TABLE_SPECIALS . ".products_id = " . TABLE_PRODUCTS . ".products_id AND ( ( ( " . TABLE_SPECIALS . ".expires_date > CURRENT_DATE ) OR ( " . TABLE_SPECIALS . ".expires_date = 0 ) ) AND ( " . TABLE_SPECIALS . ".status = 1 ) ) ) WHERE " . TABLE_PRODUCTS . ".products_id = " . TABLE_PRODUCTS_DESCRIPTION . ".products_id AND " . TABLE_PRODUCTS . ".products_id = " . TABLE_PRODUCTS_TO_CATEGORIES . ".products_id AND " . TABLE_PRODUCTS_TO_CATEGORIES . ".categories_id = " . TABLE_CATEGORIES . ".categories_id AND " . TABLE_CATEGORIES . ".categories_id = " . TABLE_CATEGORIES_DESCRIPTION . ".categories_id AND " . TABLE_PRODUCTS_DESCRIPTION . ".language_id = $languages_id ORDER BY " . TABLE_PRODUCTS . ".products_id ASC"; $_strip_search = array("![\t ]+$|^[\t ]+!m", '%[\r\n]+%m'); $_strip_replace = array('', ' '); $_cleaner_array = array(">" => "> ", "®" => "", "Æ" => "", "™" => "", "ô" => "", "|" => "", " " => ""); $result = mysql_query($sql) or die($FunctionName . ": SQL error " . mysql_error() . "| sql = " . htmlentities($sql)); if ($convertCur) { $sql3 = "SELECT currencies.value AS cur FROM " . TABLE_CURRENCIES . " WHERE currencies.code = '$curType'"; $result3 = mysql_query($sql3) or die($FunctionName . ": SQL error " . mysql_error() . "| sql3 = " . htmlentities($sql3)); $row3 = mysql_fetch_object($result3); } $loop_counter = 0; header("Content-type: text/csv; charset=iso-8859-1"); // heading echo "Pris|Leveranskostnad|Product ID|Titel|URL|URL till bild|Tillverkare|Modell|Kategori|Beskrivning\n"; while($row = mysql_fetch_object($result)) { if (isset($already_sent[$row->id])) continue; if ($row->prodStatus == 1) // || ($optional_sec == 1 && $instock == 1)) { if ($convertCur) { $row->price = ereg_replace("[^.0-9]", "", $row->price); $row->price = $row->price * $row3->cur; $row->price = number_format($row->price, 2, '.', ','); } // get category/categories product is in $category = ""; $cat_sql = mysql_query("SELECT * FROM products_to_categories WHERE products_id = " . $row->id); while($cat_row = mysql_fetch_array($cat_sql)) { $category .= getCategoryPath($cat_row["categories_id"], $languages_id) . " / "; } // remove trailing ' / ' $category = substr($category, 0, strlen($category)-3); if (SEO_ENABLED == 'true') { echo $row->price . SEPARATOR . $fixedShipping . SEPARATOR . $row->id . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($row->name, $_cleaner_array))) . SEPARATOR . tep_href_link($productURL, $productParam . $row->id) . "?currency=" . $curType . "&language=" . $languages_code . SEPARATOR . $row->image_url . SEPARATOR . $row->mfgName . SEPARATOR . $row->prodModel . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($category, $_cleaner_array))) . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($row->description, $_cleaner_array))); } else { echo $row->price . SEPARATOR . $fixedShipping . SEPARATOR . $row->id . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($row->name, $_cleaner_array))) . SEPARATOR . $row->product_url . SEPARATOR . $row->image_url . SEPARATOR . $row->mfgName . SEPARATOR . $row->prodModel . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($category, $_cleaner_array))) . SEPARATOR . preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($row->description, $_cleaner_array))); } echo "\n"; } $already_sent[$row->id] = 1; } // all done exit; // category function function getCategoryPath($categories_id, $languages_id) { // we have to work our way UP, since we're starting at the bottom // get details about category $subcat_sql = mysql_query("SELECT * FROM categories WHERE categories_id = " . $categories_id); $subcat_row = mysql_fetch_array($subcat_sql); // get name of category $subcatname_sql = mysql_query(" SELECT * FROM categories_description WHERE categories_id = " . $categories_id . " AND language_id = " . $languages_id ); $subcatname_row = mysql_fetch_array($subcatname_sql); if ($subcat_row["parent_id"] != 0) { $full_path = getCategoryPath($subcat_row["parent_id"], $languages_id) . " / " . $subcatname_row["categories_name"]; } else { $full_path = $subcatname_row["categories_name"]; } return $full_path; } ?>