// ******************************************************************************** // ** GetArtikelDetail // ******************************************************************************** function GetArtikelDetail($ArtikelID, $KundenEmail = "", $FilterAktiv = 0, $LanguageID = 0) { // Kundengruppe ermitteln if (!$KundenEmail) { $KundengruppenID = GetDefaultKundengruppe(); $KundengruppenObject = GetKundengruppenDetail($KundengruppenID); } else { $KundengruppenObject = GetKundengruppenDetail("", $KundenEmail); } // Währung einlesen $WaehrungObject = GetWaehrungDetail(); // Sprache ermitteln if (!$LanguageID) { $LanguageID = GetDefaultLanguageID(); } $StandardLanguageID = GetDefaultLanguageID(); // SQL-String für den Artikel zusammensetzen $SQLString = "SELECT DISTINCT "; $SQLString .= TABLE_ARTIKEL . ".id, "; $SQLString .= TABLE_ARTIKEL_LANGU . ".artikel_name AS admin_artikel_name, "; $SQLString .= "table_artikel_langu_standard.artikel_name AS standard_artikel_name, "; $SQLString .= "IFNULL(" . TABLE_ARTIKEL_LANGU . ".artikel_name, table_artikel_langu_standard.artikel_name) AS artikel_name, "; $SQLString .= TABLE_ARTIKEL . ".artikel_nr, "; $SQLString .= TABLE_ARTIKEL_LANGU . ".beschreibung AS admin_beschreibung, "; $SQLString .= TABLE_ARTIKEL_LANGU . ".kurz_beschreibung AS admin_kurz_beschreibung, "; $SQLString .= "IFNULL(" . TABLE_ARTIKEL_LANGU . ".beschreibung, table_artikel_langu_standard.beschreibung) AS beschreibung, "; $SQLString .= "IFNULL(" . TABLE_ARTIKEL_LANGU . ".kurz_beschreibung, table_artikel_langu_standard.kurz_beschreibung) AS kurz_beschreibung, "; $SQLString .= "table_artikel_langu_standard.beschreibung AS standard_beschreibung, "; $SQLString .= "table_artikel_langu_standard.kurz_beschreibung AS standard_kurz_beschreibung, "; $SQLString .= TABLE_ARTIKEL . ".mwst, "; $SQLString .= TABLE_MWST . ".mwst AS mwstsatz, "; $SQLString .= TABLE_ARTIKEL . ".preis_alt_netto, "; $SQLString .= TABLE_ARTIKEL . ".preis_alt_brutto, "; $SQLString .= TABLE_ARTIKEL . ".preis_netto, "; $SQLString .= TABLE_ARTIKEL . ".preis_brutto, "; $SQLString .= TABLE_ARTIKEL . ".preis_brutto, "; $SQLString .= "IF(" . TABLE_ARTIKEL . ".image_language_independent, table_artikel_langu_standard.bigImage, " . TABLE_ARTIKEL_LANGU . ".bigImage) AS bigImage, "; $SQLString .= "IF(" . TABLE_ARTIKEL . ".image_language_independent, table_artikel_langu_standard.smallImage, " . TABLE_ARTIKEL_LANGU . ".smallImage) AS smallImage, "; $SQLString .= TABLE_ARTIKEL . ".variante1, "; $SQLString .= "table_variante_langu1.name AS variante1name, "; $SQLString .= TABLE_ARTIKEL . ".variante2, "; $SQLString .= "table_variante_langu2.name AS variante2name, "; $SQLString .= TABLE_ARTIKEL . ".variante3, "; $SQLString .= "table_variante_langu3.name AS variante3name, "; $SQLString .= TABLE_ARTIKEL . ".variante4, "; $SQLString .= "table_variante_langu4.name AS variante4name, "; $SQLString .= TABLE_ARTIKEL . ".aktiv, "; $SQLString .= TABLE_ARTIKEL . ".lieferstatus, "; $SQLString .= TABLE_ARTIKEL . ".hersteller_id, "; $SQLString .= TABLE_ARTIKEL . ".angebote, "; $SQLString .= TABLE_ARTIKEL . ".lager, "; $SQLString .= TABLE_ARTIKEL . ".gewicht, "; $SQLString .= TABLE_ARTIKEL . ".ean, "; $SQLString .= TABLE_ARTIKEL . ".voe_datum, "; $SQLString .= TABLE_ARTIKEL . ".startseitenangebot, "; $SQLString .= TABLE_ARTIKEL . ".aktuellartikel, "; $SQLString .= TABLE_ARTIKEL . ".merkmalauswahl, "; $SQLString .= TABLE_ARTIKEL . ".kundengruppenpreis, "; $SQLString .= TABLE_ARTIKEL . ".merkmalkombination, "; $SQLString .= TABLE_ARTIKEL . ".merkmalkombinationsort, "; $SQLString .= TABLE_ARTIKEL . ".merkmalkombinationstandard, "; $SQLString .= TABLE_ARTIKEL . ".merkmalkombinationparentid, "; $SQLString .= TABLE_ARTIKEL . ".artikel_download, "; $SQLString .= TABLE_ARTIKEL . ".image_language_independent, "; $SQLString .= TABLE_ARTIKEL . ".download_language_independent, "; $SQLString .= TABLE_LIEFERSTATUS . ".verkaufstop, "; $SQLString .= TABLE_LIEFERSTATUS . ".id AS lieferstatus_id, "; $SQLString .= "IFNULL(" . TABLE_LIEFERSTATUS_LANGU . ".name, table_lieferstatus_langu_standard.name) AS lieferstatus_name, "; $SQLString .= TABLE_LIEFERSTATUS . ".imagesmall AS lieferstatus_imagesmall, "; $SQLString .= "IF(" . TABLE_LIEFERSTATUS . ".language_independent, table_lieferstatus_langu_standard.image, " . TABLE_LIEFERSTATUS_LANGU . ".image) AS lieferstatus_image, "; $SQLString .= "NullLieferstatus.id AS nulllieferstatusid, "; $SQLString .= "IFNULL(NullLieferstatusLangu.name, NullLieferstatusLanguStandard.name) AS nulllieferstatus_name, "; $SQLString .= "NullLieferstatus.imagesmall AS nulllieferstatus_imagesmall, "; $SQLString .= "IF(NullLieferstatus.language_independent, NullLieferstatusLanguStandard.image, NullLieferstatusLangu.image) AS nulllieferstatus_image, "; $SQLString .= TABLE_KUNDENGRUPPENPREISE . ".preis_netto AS kundengruppenpreis_netto, "; $SQLString .= TABLE_KUNDENGRUPPENPREISE . ".preis_brutto AS kundengruppenpreis_brutto "; $SQLString .= "FROM " . TABLE_ARTIKEL . " "; $SQLString .= "LEFT JOIN " . TABLE_ARTIKEL_LANGU . " ON ((IF(" . TABLE_ARTIKEL . ".merkmalkombinationparentid, " . TABLE_ARTIKEL . ".merkmalkombinationparentid, " . TABLE_ARTIKEL . ".id) = " . TABLE_ARTIKEL_LANGU . ".artikel_id) AND (" . TABLE_ARTIKEL_LANGU . ".language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_ARTIKEL_LANGU . " table_artikel_langu_standard ON ((IF(" . TABLE_ARTIKEL . ".merkmalkombinationparentid, " . TABLE_ARTIKEL . ".merkmalkombinationparentid, " . TABLE_ARTIKEL . ".id) = table_artikel_langu_standard.artikel_id) AND (table_artikel_langu_standard.language_id = " . $StandardLanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS . " ON " . TABLE_ARTIKEL . ".lieferstatus = " . TABLE_LIEFERSTATUS . ".id "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS_LANGU . " ON ((" . TABLE_LIEFERSTATUS . ".id = " . TABLE_LIEFERSTATUS_LANGU . ".lieferstatus_id) AND (" . TABLE_LIEFERSTATUS_LANGU . ".language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS_LANGU . " table_lieferstatus_langu_standard ON (( " . TABLE_LIEFERSTATUS . ".id = table_lieferstatus_langu_standard.lieferstatus_id) AND (table_lieferstatus_langu_standard.language_id = " . $StandardLanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS . " AS NullLieferstatus ON " . TABLE_LIEFERSTATUS . ".nichtauflager = NullLieferstatus.id "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS_LANGU . " AS NullLieferstatusLangu ON ((NullLieferstatus.id = NullLieferstatusLangu.lieferstatus_id) AND (NullLieferstatusLangu.language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_LIEFERSTATUS_LANGU . " AS NullLieferstatusLanguStandard ON ((NullLieferstatus.id = NullLieferstatusLanguStandard.lieferstatus_id) AND (NullLieferstatusLanguStandard.language_id = " . $StandardLanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_VARI ANTE . " table_variante1 ON " . TABLE_ARTIKEL . ".variante1 = table_variante1.id "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE_LANGU . " table_variante_langu1 ON ((table_variante1.id = table_variante_langu1.variante_id) AND (table_variante_langu1.language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE . " table_variante2 ON " . TABLE_ARTIKEL . ".variante2 = table_variante2.id "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE_LANGU . " table_variante_langu2 ON ((table_variante2.id = table_variante_langu2.variante_id) AND (table_variante_langu2.language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE . " table_variante3 ON " . TABLE_ARTIKEL . ".variante3 = table_variante3.id "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE_LANGU . " table_variante_langu3 ON ((table_variante3.id = table_variante_langu3.variante_id) AND (table_variante_langu3.language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE . " table_variante4 ON " . TABLE_ARTIKEL . ".variante4 = table_variante4.id "; $SQLString .= "LEFT JOIN " . TABLE_VARIANTE_LANGU . " table_variante_langu4 ON ((table_variante4.id = table_variante_langu4.variante_id) AND (table_variante_langu4.language_id = " . $LanguageID . ")) "; $SQLString .= "LEFT JOIN " . TABLE_MWST . " ON " . TABLE_ARTIKEL . ".mwst = " . TABLE_MWST . ".id "; $SQLString .= "LEFT JOIN " . TABLE_KUNDENGRUPPENPREISE . " ON ((" . TABLE_ARTIKEL . ".id = " . TABLE_KUNDENGRUPPENPREISE . ".artikelid) AND (" . TABLE_KUNDENGRUPPENPREISE . ".kundengruppenid = " . $KundengruppenObject->id . ")) "; $SQLString .= "WHERE " . TABLE_ARTIKEL . ".id = '" . $ArtikelID . "'"; // echo '$SQLString: ' . $SQLString . '
'; // Artikel abfragen $ArtikelObject = mysql_fetch_object(mysql_query($SQLString)); // Kategorien einlesen $ArtikelObject->kategorie_array = GetKatgorieDataArray($ArtikelObject->id); foreach ($ArtikelObject->kategorie_array as $KategorieData) { $ArtikelObject->kategoriename_array[] = $KategorieData["name"]; } // formatiertes Ver�ffentlichungsdatum if ($ArtikelObject->voe_datum != 0) { if (strtotime($ArtikelObject->voe_datum) > time()) { $ArtikelObject->voe_datum_format = date("d.m.Y", strtotime($ArtikelObject->voe_datum)); } } // formatierter Preis f�r den Shop if ($ArtikelObject->kundengruppenpreis_netto) { $ArtikelObject->preis_brutto = $ArtikelObject->kundengruppenpreis_brutto; $ArtikelObject->preis_netto = $ArtikelObject->kundengruppenpreis_netto; // Bruttopreis if ($KundengruppenObject->type == 1) { $ArtikelObject->preis = $ArtikelObject->kundengruppenpreis_brutto; $ArtikelObject->preis_format = number_format($ArtikelObject->kundengruppenpreis_brutto, 2, ",", ".") . " " . $WaehrungObject->symbol; // Nettopreis } else { $ArtikelObject->preis = $ArtikelObject->kundengruppenpreis_netto; $ArtikelObject->preis_format = number_format($ArtikelObject->kundengruppenpreis_netto, 2, ",", ".") . " " . $WaehrungObject->symbol; } } else { // Bruttopreis if ($KundengruppenObject->type == 1) { $ArtikelObject->preis = $ArtikelObject->preis_brutto; $ArtikelObject->preis_format = number_format($ArtikelObject->preis_brutto, 2, ",", ".") . " " . $WaehrungObject->symbol; // Nettopreis } else { $ArtikelObject->preis = $ArtikelObject->preis_netto; $ArtikelObject->preis_format = number_format($ArtikelObject->preis_netto, 2, ",", ".") . " " . $WaehrungObject->symbol; } } // formatierter alter Preis fuer den Shop if ($ArtikelObject->preis_alt_brutto > 0) { if ($KundengruppenObject->type == 1) { $ArtikelObject->preis_alt_format = number_format($ArtikelObject->preis_alt_brutto, 2, ",", ".") . " " . $WaehrungObject->symbol; } else { $ArtikelObject->preis_alt_format = number_format($ArtikelObject->preis_alt_netto, 2, ",", ".") . " " . $WaehrungObject->symbol; } } // kleines Bild formatieren if ($ArtikelObject->smallImage && file_exists(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->smallImage)) { $ImageSizeArray = getimagesize(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->smallImage); $ArtikelObject->imagesmall_imagestring = "smallImage . "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" alt=\"" . $ArtikelObject->artikel_name . "\" />"; $ArtikelObject->imagesmall_width = $ImageSizeArray[0]; $ArtikelObject->imagesmall_height = $ImageSizeArray[1]; } // großes Bild formatieren if ($ArtikelObject->bigImage && file_exists(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->bigImage)) { $ImageSizeArray = getimagesize(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->bigImage); $ArtikelObject->imagebig_imagestring = "bigImage . "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" alt=\"" . $ArtikelObject->artikel_name . "\" />"; // Adminausgabe $faktor = min(1, 150 / $ImageSizeArray[0], 150 / $ImageSizeArray[1]); $zielbreite = round($ImageSizeArray[0] * $faktor); $zielhoehe = round($ImageSizeArray[1] * $faktor); $ArtikelObject->imagebig_imagestring_admin = "bigImage . "\" width=\"" . $zielbreite . "\" height=\"" . $zielhoehe . "\" alt=\"" . $ArtikelObject->artikel_name . "\" />"; $ArtikelObject->imagebig_width = $ImageSizeArray[0]; $ArtikelObject->imagebig_height = $ImageSizeArray[1]; } // großes Lieferstatusbild if ($ArtikelObject->lager > 0 || !$ArtikelObject->nulllieferstatusid) { if ($ArtikelObject->lieferstatus_image && file_exists(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->lieferstatus_image)) { $ImageSizeArray = getimagesize(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->lieferstatus_image); $ArtikelObject->lieferstatus_imagestring = "lieferstatus_image . "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" alt=\"" . $ArtikelObject->lieferstatus_name . "\" />"; } else { $ArtikelObject->lieferstatus_imagestring = $ArtikelObject->lieferstatus_name; } } else { if ($ArtikelObject->nulllieferstatus_image && file_exists(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->nulllieferstatus_image)) { $ImageSizeArray = getimagesize(DATEIPFAD . "/images/dbimages/" . $ArtikelObject->nulllieferstatus_image); $ArtikelObject->lieferstatus_imagestring = "nulllieferstatus_image . "\" width=\"" . $ImageSizeArray[0] . "\" height=\"" . $ImageSizeArray[1] . "\" alt=\"" . $ArtikelObject->lieferstatus_name . "\" />"; } else { $ArtikelObject->lieferstatus_imagestring = $ArtikelObject->nulllieferstatus_name; } } // Varianten // Artikel mit Merkmalkombinationen if ($ArtikelObject->merkmalkombination || $ArtikelObject->merkmalkombinationparentid) { $MerkmalkombinationenSearchField[] = "merkmalkombinationparentid"; if ($ArtikelObject->merkmalkombinationparentid) { $MerkmalkombinationenSearchString[] = $ArtikelObject->merkmalkombinationparentid; } else { $MerkmalkombinationenSearchString[] = $ArtikelObject->id; } $MerkmalkombinationenSortField = "merkmalkombinationsort"; $MerkmalkombinationenSortOrder = "ASC"; $MerkmalkombinationenDataArray = GetArtikelDataArray($MerkmalkombinationenSearchField, $MerkmalkombinationenSearchString, $MerkmalkombinationenSortField, $MerkmalkombinationenSortOrder, "", "", "", "", "", "", "", "", 0, $FilterAktiv, "", "", 2); $MerkmalkombinationenCounter = 0; foreach ($MerkmalkombinationenDataArray as $MerkmalkombinationenData) { $MerkmalString = ""; foreach ($MerkmalkombinationenData["varianten_array"] as $Merkmalkombinationen) { $MerkmalString .= $Merkmalkombinationen["merkmalname"] . " / "; } $MerkmalString = substr($MerkmalString, 0, strlen($MerkmalString) - 3); $ArtikelObject->varianten_array[1][$MerkmalkombinationenCounter]["merkmalid"] = $MerkmalkombinationenData["id"]; $ArtikelObject->varianten_array[1][$MerkmalkombinationenCounter]["merkmalname"] = $MerkmalString; $MerkmalkombinationenCounter++; } // Artikel mit normalen Varianten } else { $MerkmalauswahlDataArray = GetMerkmalauswahlDataArray($ArtikelObject->id, $LanguageID); if ($MerkmalauswahlDataArray) { foreach ($MerkmalauswahlDataArray as $MerkmalauswahlKey => $MerkmalArray) { $MerkmalCounter = 0; foreach ($MerkmalArray as $Merkmal) { if ($Merkmal["selected"]) { $ArtikelObject->varianten_array[$MerkmalauswahlKey][$MerkmalCounter]["merkmalid"] = $Merkmal["id"]; $ArtikelObject->varianten_array[$MerkmalauswahlKey][$MerkmalCounter]["merkmalname"] = $Merkmal["name"]; $MerkmalCounter++; } } } } } // echo '
';
// 	var_dump($ArtikelObject);
// 	echo '
'; return $ArtikelObject; }