Jump to content
xt:Commerce Community Forum

Versandkosten ID in product abfragen


morrisantik

Recommended Posts

Hallo zusmmen, ich möchte auf meiner Produktseite "product.html" auf die "shipping_id" zugreifen bzw. diese auslesen.

Ich möchte erreichen, dass sobald ein Artikel die Versandkosten ID 2 hat, ein Banner erscheint, der die Versandart anzeigt.

Ich habe folgendes Versucht, da die Variable $shipping_id ja in der product.html nicht aufrufbar ist.

Ich bin in die class.product.php gegangen und habe folgendes eingetragen:

public $shipping_id = 'shipping_id';

Jedoch kann ich immer noch nicht auf die Variable zugreifen. Fehlt dort noch etwas? Muss ich der shipping_id jetzt noch sagen, was diese überhaupt ist? Oder greift die class.product.php auf die Datenbank zu und erkennt die Variable anhand des Namens?

Gruß

Link to comment
Share on other sites

So, ich bin ein bisschen weiter gekommen.

Ich habe es nun geschafft mittels php Abfrage, den Versand Code auszulesen und abzufragen. Allerdings nur mit einer von mir eiingegebenen products_id

Das Ganze sieht soweit so aus:


{php}

$abfrage = "SELECT products_id, shipping_code
FROM `xt_bui_products_to_shipping`
WHERE products_id =2223";

$ausgabe = mysql_query($abfrage);
while($row = mysql_fetch_object($ausgabe))
{
echo $row->shipping_code;
}
[/PHP]

Wie kann ich in dieser Abfrage aber bei

[PHP]WHERE products_id =2223[/PHP]

Die products_id durch die Variable $products_id ersetzen? Ersetzte ich es einfach durch die Variable wird nichts mehr ausgegeben.

$products_id kann ich product.html angesprochen und auch per smarty ausgegeben werden.

Edit:

Habe hier noch einen Lösungsversuch, der leider auch noch nicht ganz funktioniert.

Zuerst habe ich mir mit smarty eine Variable angelegt:

[PHP]
assign var=test value=$products_id}
[/PHP]

Ich kann sie mir jetzt folgendermaßen ausgeben lassen:

[PHP]
{php}
echo $this->get_template_vars('test');
{/php}
[/PHP]

Das funktioniert wunderba. Was jedoch nicht geht ist 'test' in der Datenbankabfrage zu nutzen.

[PHP]
WHERE products_id = $this->get_template_vars('test')";
oder
WHERE products_id = ('test')";

[/PHP]

Link to comment
Share on other sites

SQL-Syntax ist falsch: WHERE products_id = '".$this->get_template_vars('test')."'";

ansonsten kann man das auch über die ADODB machen und statt echo eine Variable ( 'shipping_code' ) ans Template übergeben:

{assign var=id value=$products_id}

{php}

global $db;

$id = $this->get_template_vars('id');

$abfrage = $db->Execute("SELECT shipping_code

FROM ".TABLE_PRODUCTS_TO_SHIPPING."

WHERE products_id = '".$id."'");

while( !$abfrage->EOF) {

$shipping = $abfrage->fields['shipping_code'];

$abfrage->MoveNext();

}

$this->assign('shipping_code', $shipping);

{/php}

{if $shipping_code == '........' usw. usf.

Grüsse

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...