OScommerce integrieren

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Mi 16. Nov 2005, 10:48

@mvf:
WOW, das ist ja geil!
Hätte ich das man früher gelesen ;-)
Könntest du eine kleine Anleitung schreiben, wie du das ganze umgesetzt hast?

Danke und schönen Gruß

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Mi 16. Nov 2005, 13:13

Freut mich, dass es gefällt, und noch mehr, dass ich auch mal was beitragen kann und nicht immer nut dumme noobie Fragen stelle ;)
silicone hat geschrieben: Könntest du eine kleine Anleitung schreiben, wie du das ganze umgesetzt hast?
Gerne doch. Das Ganze ist recht simple, da es keine wirkliche Integration der beiden Systeme ist.

Zunächst habe ich mein Design mit css Klassen in Contenido erstellt.
Anschliessend wir osCommerce an dieses Design angepasst. [css und Grafiken gemeinsam genutzt] Wer dazu nähere Infos möchte ... feel free to ask, nur soviel, man muss nicht eine Template-Contribution installieren, um osCommerce in [jetzt lehne ich mich aus dem Fenster] JEDES beliebige Design zu 'drücken'. Nachteil bei osC, alles Tabellen :(

Somit existieren 2 Installationen auf dem selben Server incl 2 DB's.
Installiert habe ich Contenido direkt ins webroot also nach httpdocs z.b., und osC in das verzeichnis 'httpdocs/shop'.

Jetzt kommt eine kleine Contribution für osC, download ->
http://www.oscommerce.com/community/con ... h,anywhere
Keine Sorge ist nur ein Script, der laufende osCShop und die files oder DB werden nicht geändert.

Das Script platziert man in das 'shop' Verzeichnis. Anpassungen am Script sind minimal und beschränken sich auf 2 Pfadangaben und die Auswahl der osc 'Box' die man gerne woanders darstellen möchte. Prinzipiell kann man aber jedes php file aus dem osc catalog referenzieren.

Abschliessend wird noch im Contenido Design an der entsprechenden Stelle das script aufgerufen. Die Contribution enthält ein kleines readme uns ist 'extrem' übersichtlich was die Configuration betrifft ;)

Das war es schon, osCommerce anywhere!
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

nicht schlagen

Beitrag von matt.loker » So 2. Dez 2007, 00:08

Hallo,
erstmal - bitte schlagt mich nicht, weil ich so einen alten Thread hoch hole aber ich habe ein Problem mit einem darin enthaltenen Code.

Und zwar verwende ich dieses Code hier:

Code: Alles auswählen

<?php
$pid = "1,2,3,4,5,6"; // ids der produkte die angezeigt werden sollen

$pfad_zum_catalog = "../../catalog";  // pfad zum catalog ohne slash am ende, relativ

require("$pfad_zum_catalog/includes/configure.php");

$anz_monat = date("F"); // generiert den aktuellen monatsnamen für die anzeige im titel
$anz_jahr = date("Y");  // generiert den aktuellen monatsnamen für die anzeige im titel

$titel = "Unsere Sonderangebote im $anz_monat $anz_jahr"; // titel der tabelle, für die anzeige des monats "$anz_monat" einfügen, jahr analog

$bild_breite = "100"; // breite oder höhe einstellen, den anderen wert auskommentieren
// $bild_hoehe = "80";

$tablew = "100%";  // tabellen breite in pixel oder prozent
$spalten = "2";  // anzahl der spalten
$target = "_blank";  // in welchem fenster soll der shop geöffnet werden
$language = "2";  // sprach id, beispiel 1=englisch, 2=deutsch usw.
$preis = "Euro";  // preis nur für die anzeige


// function zum errechnen der zellenbreite
function zellenbreite ()
   {
   global $tablew , $spalten;
   $prozent = ereg("%",$tablew);
   if($prozent == TRUE )
      {
      $zellew = 100 / $spalten;
      echo "width=\"".round($zellew)."%\" " ;
      }
       else
       {
       $zellew = $tablew / $spalten;
       echo "width=\"".round($zellew)."\" " ;
       }
   }

?>

<table width="<? echo $tablew ; ?>" align="center" cellspacing="1" cellpadding="3" class="infoBox">
   <tr>
<?php
$pid_temp = explode (',', $pid);
   foreach($pid_temp AS $key => $value)
   {
   $pid_temp[$key] = "products_id = $value ";
   }
$proid = implode(" OR ",$pid_temp) . "";

// sql zeug
$connection = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
   if (!mysql_select_db (DB_DATABASE, $connection)) { die ("Keine Verbindung zur Datenbank"); }

      $sqlcount = "SELECT * FROM products WHERE $proid ";
      $sql = "SELECT * FROM products WHERE $proid ";

   $sql_result = mysql_query($sql,$connection) or die("Fehler");
   $sqlcount_result = mysql_query($sqlcount,$connection) or die("Fehler");

   $num = mysql_numrows($sqlcount_result);
   mysql_free_result($sqlcount_result);

   $produkte_result = ($spalten + 1)/2;
   $i = 1;

while ($row = mysql_fetch_array($sql_result))
   {

   $sqlmwst = "SELECT * FROM products AS A
            LEFT OUTER JOIN tax_class AS B ON A.products_tax_class_id=B.tax_class_id
            LEFT OUTER JOIN tax_rates AS C ON B.tax_class_id=C.tax_class_id
             WHERE products_id = '$row[products_id]' ";
      $sqlmwst_result = mysql_query($sqlmwst,$connection)   or die("Fehler");
      $row4 = mysql_fetch_array($sqlmwst_result);

   $sqlspecials = "SELECT `specials_new_products_price` FROM `specials` WHERE products_id = '$row[products_id]' ";
      $sqlspecials_result = mysql_query($sqlspecials,$connection)   or die("Fehler");
      $row3 = mysql_fetch_array($sqlspecials_result);


   $sql2 = "SELECT `products_name` FROM `products_description` WHERE products_id = '$row[products_id]' AND language_id = '$language' LIMIT 1";
      $sql2_result = mysql_query($sql2,$connection)   or die("Fehler");
      $row2 = mysql_fetch_array($sql2_result);

     $name = $row2["0"];

     $products_image_replace = str_replace("./", "/", $row[products_image]);

     $idiv = $i/2;
if ($idiv == $produkte_result)
   {
   echo "</tr><tr>";
   $i = 1;
   } else {}
   $bild = "$pfad_zum_catalog"."/"."images"."/"."$products_image_replace" ;
     $size = getimagesize("$bild");
     $breite = $size[0];
     $hoehe = $size[1];
   if (!$bild_hoehe)
      {
        $neueBreite = $bild_breite;
        $neueHoehe = intval($hoehe*$neueBreite/$breite);
        }
   if (!$bild_breite)
      {
        $neueHoehe = $bild_hoehe;
        $neueBreite = intval($breite*$neueHoehe/$hoehe);
        }

echo "<td ";
zellenbreite ();
echo "align=\"center\" class=\"infoBoxContents\">\n";
echo "<a href=\"$pfad_zum_catalog/product_info.php?products_id=$row[products_id]\" target=\"$target\">\n";
echo "<img src=\"$bild\" width=\"$neueBreite\" height=\"$neueHoehe\" border=\"0\" alt=\"$name\"></a>\n";
echo "<br>\n";
echo "<a href=\"$pfad_zum_catalog/product_info.php?products_id=$row[products_id]\" target=\"$target\">$name</a>\n";
echo "<br>\n";

$tax = (100+$row4[tax_rate])/100;
$brutto = number_format($row[products_price]*$tax,2,".","");
$brutto_specials = number_format($row3[specials_new_products_price]*$tax,2,".","");

   if ($row3[specials_new_products_price] == "")
      {
      echo "$brutto $preis </td>\n";
      }
      else
      {
      echo "<s>$brutto</s> <span class=\"productSpecialPrice\">$brutto_specials</span>  $preis </td>\n";
      }
$i++;

   }

if (count($pid_temp) > $spalten)
   {
   while ($i <= $spalten)
      {
       echo "<td class=\"infoBoxContents\">&nbsp;</td> \n" ;
      $i++;
      }
    }

// datenbank schliessen das wars
mysql_free_result($sql_result);
mysql_close($connection);
?>
</table> 
Problem ist, dass wenn ich dieses Model in mein Template einbaue, werden die Artikel aus dem Container "Artikel einfuegen (rechts)" nicht mehr angezeigt. Lass ich das Modul weg, werden sie wieder angezeigt. Erkennt jemend in dem Code einen Fehler der das auslöst?

Danke schonmal für die Hilfe!

Antworten