-gelöst- Attribute verwenden in osc und ea

Mumpitz

Gut bekanntes Mitglied
1. Juli 2006
245
1
Hannover
Hallo,

erstmal ein riesenlob an die beiden, die uns diese großartige Programm basteln.

Nun hab ich mal ein paar Fragen zu den Attributen, die ich bisher noch nicht genutzt habe. Mit den Ergebnissen in der Suche konnte die noch nicht beantwortete werden, aber schonmal sorry, falls ich da etwas übersehen haben sollte.

Ist es möglich durch das einpflegen eigener Attribute damit Felder in meinem osCommerce Shop zu füllen, z.B. Extra Felder bei den Products (extra field contribution) oder auch Felder in anderen Tabellen (ich habe einen zweiten Hersteller in OSC angelegt). Da müßte bestimmt am Connector was geändert werden.

Meine nächste Frage wäre, wie ich die Attribute gezielt in den Ebay-Vorlagen in EA anzeigen lassen kann (Variablen?).

Schoneinmal vielen Dank und einen schönen , sonnigen Samstag

Mumpitz
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
Hallo Mumpitz,

Ist es möglich durch das einpflegen eigener Attribute damit Felder in meinem osCommerce Shop zu füllen, z.B. Extra Felder bei den Products (extra field contribution) oder auch Felder in anderen Tabellen
Ja, das ist relativ einfach zu machen. Geändert muss dabei nur dbeS/Attribute.php werden im Connector. Im XTC-Connector findest Du dort eine Fülle von "Beispeilen", wie dies funktioniert. Eigentlich sehr einfach.

Meine nächste Frage wäre, wie ich die Attribute gezielt in den Ebay-Vorlagen in EA anzeigen lassen kann (Variablen?).
Genau dafür werden sie bald auch zur Verfügung stehen. Im Moment ist dies noch nciht möglich.
 

Lars

Moderator
1. Juli 2006
4.786
6
Greifswald
Habe ich thomas auch schon mal gefragt, hier die Anleitung....
:lol:
Hallo heinzi,

Das ist eigentlich kein Problem. Dafür muss auch garnicht eazySales erweitert werden, sondern nur der Connector.

in dbeS/Attribute.php

kannst Du in der switchanweisung folgendes hinzufügen:

Code:
Code:
         case '<name des Attributs in eS>': 
            if ($Attribut->content) 
            { 
               eS_execute_query("update products set <tabellenspalte>=".realEscape($Attribut->content)." where products_id=".$Attribut->products_id); 
            } 
            break;

Aus <name des Attributs in eS> machst Du den Attributnamen, den Du brauchst und aus <tabellenspalte> trägst Du den Spaltennamen ein.
 

Jolander

Aktives Mitglied
28. März 2006
130
0
Hallo,
ich habe auch die Attribute.php gem. der vorstehenden Angabe erweitert

Dann:
Testartikel erstellt
Attribut in eS mit dem Namen URLAbbildung angelegt
Hier die URL-Adresse meines Bildes angegeben und
hochgeladen.

Leider tut sich so garnichts, noch nicht einmal eine Fehlermedlung.
wenn ich den entsprechenden Eintrag in meiner sql nachsehe, wird alles übernommen, bis auf das Feld pruducts_image, das bekommt den Wert null zugewiesen.

Nachstehend meine Attribute.php
Code:
<?php
/**
 * eazySales_Connector/dbeS/Attribute.php
 * Synchronisationsscript
 * 
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/eazysales.php[/url]
 * 
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/eazysales.php[/url]
 * @version v1.03 / 06.10.06
*/

require_once("syncinclude.php");

$return=3;
if (auth())
{
	if (intval($_POST["action"]) == 1 && intval($_POST['KeyAttribut']))
	{
		$return = 0;
		
		$Attribut->products_id = getFremdArtikel(intval($_POST["KeyArtikel"]));
		$Attribut->name = $_POST["Name"];
		$Attribut->content = $_POST["StringWert"];
		if (strlen($_POST["TextWert"])>0)
			$Attribut->content = $_POST["TextWert"];
		attributBearbeiten ($Attribut);
	}
}

mysql_close();
echo($return);
logge($return);

//Attribut wird verarbeitet / in DB insertet
function attributBearbeiten ($Attribut)
{
	if ($Attribut->products_id>0)
	{
		//hole einstellungen
		$cur_query = eS_execute_query("select * from eazysales_einstellungen");
		$einstellungen = mysql_fetch_object($cur_query);
		
		switch (strtolower($Attribut->name))
		{
			case 'produktstatus':
				if ($Attribut->content==0 || $Attribut->content==1)
					eS_execute_query("update products set products_status=".$Attribut->content." where products_id=".$Attribut->products_id);
				break;
                			
                        case 'URLAbbildung': 
                                if ($Attribut->content) 
            { 
               eS_execute_query("update products set <products_image>=".realEscape($Attribut->content)." where products_id=".$Attribut->products_id); 
            } 
            break;

		}
	}
}
?>

Da ich php-dummi bin, stehe ich nun ein wenig auf dem Schlauche.

Wer kann mir hier helfen?

Gruß
Jolander
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
Hallo,

Es muss heissen:

Code:
            case 'urlabbildung': 
                                if ($Attribut->content) 
            { 
               eS_execute_query("update products set products_image=\"".realEscape($Attribut->content)."\" where products_id=".$Attribut->products_id); 
            } 
            break;
 

Jolander

Aktives Mitglied
28. März 2006
130
0
Klasse Thomas,

geht wie geschmiert! :D

Die Übergabe des Attributes an den OS Shop und die Zuordnung zur pruducts_image Spalte in der sql klappt wunderbar.

Durch eine Ergänzung in der html_output.php auf OSC Seite kann ich nun Pruduktabbildungen die auf externen Servern liegen in meinen Katalog einbinden.

Damit wäre eigentlich die vielfach hier im Forum angesprochene "Abbildung mit URL-Adresse" für mich erledigt

Gruß Jolander