ISBN zu XTCModified?

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: ISBN zu XTCModified?

zurück zu deinem Ursprungsproblem.

Zeige uns mal einen Ausschnitt deiner csv-Datei (inkl. Kopfzeile) und deiner Importeinstellungen der Ameise
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Die .csv Datei sieht wie folgt aus mit Kopfzeile.

csv.jpg

Und da die Wawi einstellungen.

Unbenannt.jpg
 

Anhänge

  • csv.jpg
    csv.jpg
    103,7 KB · Aufrufe: 15
  • Unbenannt.jpg
    Unbenannt.jpg
    103,7 KB · Aufrufe: 12

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Abend zusammen!

Ich habe im XTC Modified shop ein Datenfeld namens ISBN angelegt. Jetzt habe ich versucht den connector zu erweitern.

Habe es in der Artikel.php des connectors versucht und das ganze sieht so aus.

$einstellungen = mysql_fetch_object($cur_query);

$artikel->kArtikel = realEscape($_POST["KeyArtikel"]);
$artikel->cArtNr = realEscape($_POST["ArtikelNo"]);
$artikel->cName = realEscape($_POST["ArtikelName"]);
$artikel->cBeschreibung = realEscape($_POST["ArtikelBeschreibung"]);
$artikel->fVKBrutto = realEscape($_POST["ArtikelVKBrutto"]);
$artikel->fVKNetto = realEscape($_POST["ArtikelVKNetto"]);
$artikel->fMwSt = realEscape($_POST["ArtikelMwSt"]);
$artikel->cAnmerkung = realEscape($_POST["ArtikelAnmerkung"]);
$artikel->nLagerbestand = max(realEscape($_POST["ArtikelLagerbestand"]),0);
$artikel->cEinheit = realEscape($_POST["ArtikelEinheit"]);
$artikel->nMindestbestellmaenge = realEscape($_POST["ArtikelMindBestell"]);
$artikel->cBarcode = realEscape($_POST["ArtikelBarcode"]);
$artikel->fVKHaendlerBrutto = realEscape($_POST["ArtikelVKHaendlerBrutto"]);
$artikel->fVKHaendlerNetto = realEscape($_POST["ArtikelVKHaendlerNetto"]);
$artikel->cTopArtikel = realEscape($_POST["TopAngebot"]);
$artikel->fGewicht = realEscape($_POST["Gewicht"]);
$artikel->cNeu = realEscape($_POST["Neu"]);
$artikel->cKurzBeschreibung = realEscape($_POST["ArtikelKurzBeschreibung"]);
$artikel->fUVP = realEscape($_POST["ArtikelUVP"]);
$artikel->cHersteller = realEscape($_POST["Hersteller"]);
$artikel->cHAN = realEscape($_POST["HAN"]);
$artikel->cISBN = realEscape($_POST["ISBN"]);

eS_execute_query("update products set products_fsk18=0, products_shippingtime=$shipping_status, ".$products_statpage_piece." products_model=\"$artikel->cArtNr\", products_price=\"".$artikel->fVKNetto."\", products_tax_class_id=\"$products_tax_class_id\", products_quantity=\"$artikel->nLagerbestand\", products_ean=\"$artikel->cBarcode\", products_isbn=\"$artikel->cISBN\", products_manufacturers_model=\"$artikel->cHAN\", products_weight=\"$artikel->fGewicht\", manufacturers_id=\"$manufacturers_id\", products_status=1, products_last_modified=now(), product_template=\"".$einstellungen->prod_product_template."\", options_template=\"".$einstellungen->prod_options_template."\" where products_id=".$products_id);

eS_execute_query("insert into products (products_shippingtime, $products_statpage_piece products_model, products_price, products_tax_class_id, products_quantity, products_ean, products_isbn, products_manufacturers_model, products_weight, manufacturers_id, product_template, options_template, products_status, products_date_added) values ($shipping_status,".$products_statpage_piece_value ."\"".$artikel->cArtNr."\",".$artikel->fVKNetto.",$products_tax_class_id,$artikel->nLagerbestand,\"".$artikel->cBarcode."\",\"".$artikel->cISBN."\",\"".$artikel->cHAN."\",$artikel->fGewicht,$manufacturers_id,\"".$einstellungen->prod_product_template."\",\"".$einstellungen->prod_options_template."\",1,now())");

Doch leider kommt da nichts an im shop, Kann mir jemand sagen ob da ein fehler vorhanden ist?
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Der Connector wurde ja schon mit der HTN Nummer erweiter und dies klappt ja.
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: ISBN zu XTCModified?

Der " Connector" besteht immer aus 2 Teilen.
1 WaWi-Seitig / 1 Shop-Seitig.
Shop-Seitig hast du was angepasst, aber wawi-seitig kommst du gar nicht dran und bereits wawi-seitig wird das ISBN-Feld nicht raus gegeben.
Was aber wawi-seitig nicht raus kommt, kann shop-seitig nicht rein gehen.

Du musst es über Attribute lösen und dann den Connector an der Attribut-Schnittstelle anpassen.

Aber all das schrieb Thomas dir schon vor ein paar Tagen.
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

wie muss ich das den über attribute ändern damit es klappt. und wiso klappte es dan mit der htn nummer?
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: ISBN zu XTCModified?

Das HAN-Feld wird von der Wawi bei den "alten" Connectoren mit übertragen - daher hat deine Anpassung dort gewirkt.
Da das ISBN-Feld aber bei den "alten" Connecotren von der Wawi nicht übertragen wird, bringt deine Anpassung dort gar nichts.

Wie das mit Attributen funktioniert:
Der Connector enthält eine attribute.php - dort werden die Attribute mit Name und Wert übertragen. Dort kannst du eine ähnliche Anpassung vornehmen [frag mich jetzt aber bitte nicht, wie genau die bei dir aussehen muss]...
Fakt ist aber, dass du dazu die Werte in ein separates Attribut (neu) importieren musst, z.B. ein Attribut "PDFLink"...
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

ok so wie ich das jetzt verstanden habe, muss ich dan die nummern manuel eintragen da die wawi die isbn nummer ja nicht raus gibt.
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: ISBN zu XTCModified?

Du kannst die Nummer über die Wawi pflegen - aber nicht über die Standard-Felder, sondern über sog. "Funktionsattribute" (Reiter Attribute/Merkmale). Die werden nämlich zum Shop übertragen - aber logischerweise musst du dann auch den Connector entsprechend anpassen und die Daten passend hinterlegen.

Beispiel:
Funktionsattribut mit dem Namen "PDFLink" -->
Per Ameise importierbar über Import->Artikel->Attribute. Dort benötigst du eine (mindestens) 3-spaltige CSV-Datei: Artikelnummer [oder kArtikel oder EAN - hauptsache eindeutige Zuordnung zum Artikel!] + Attributname + Attributwert. Der Attributname bleibt immer "PDFLink" (wird später nämlich so als Attributname an den Connector übertragen).

Im Connector musst du eine Anpassung vornehmen, dass wenn ein Attribut mit dem Namen "PDFLink" kommt, der Wert passend bei dir in die Datenbank eingetragen wird [die Datei, die du dazu ändern musst, heißt attribute.php] - wie genau diese Änderung bei dir im Connector aussieht, hängt aber sowohl von deinem Shop als auch vom Connector ab!

WICHTIG: Der Attributname MUSS bei allen Artikeln übereinstimmen, da dieser den "Typ" angibt (quasi so wie der Feldname "EAN" oder "ISBN"). Der Inhalt kommt dann in den Attributwert.
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Die Attribute.php sieht so aus.

<?php
/**
* jtlwawi_connector/dbeS/Attribute.php
* Synchronisationsscript
*
* Es gelten die Nutzungs- und Lizenzhinweise unter http://www.jtl-software.de/jtlwawi.php
*
* @author JTL-Software <thomas@jtl-software.de>
* @copyright 2006, JTL-Software
* @link http://jtl-software.de/jtlwawi.php
* @version v1.08 / 13.03.07
*/

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 'reihung':
if ($Attribut->content)
eS_execute_query("update products set products_sort=".intval($Attribut->content)." where products_id=".$Attribut->products_id);
break;
case 'reihung startseite':
if ($Attribut->content)
eS_execute_query("update products set products_startpage_sort=".intval($Attribut->content)." where products_id=".$Attribut->products_id);
break;
case 'suchbegriffe':
eS_execute_query("update products_description set products_keywords=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
case 'meta title':
eS_execute_query("update products_description set products_meta_title=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
case 'meta description':
eS_execute_query("update products_description set products_meta_description=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
case 'meta keywords':
eS_execute_query("update products_description set products_meta_keywords=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
case 'herstellerlink':
eS_execute_query("update products_description set products_url=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
case 'lieferstatus':
if ($Attribut->content)
{
$shipping_id=0;
//gibt es schon so einen shipping status?
$cur_query = eS_execute_query("select shipping_status_id from shipping_status where language_id=".$einstellungen->languages_id." and shipping_status_name=\"".realEscape($Attribut->content)."\"");
$shipping_status_id_arr = mysql_fetch_row($cur_query);
if ($shipping_status_id_arr[0]>0)
{
$shipping_id=$shipping_status_id_arr[0];
}
else
{
//füge neuen Shippingstatus ein
$cur_query = eS_execute_query("select max(shipping_status_id) from shipping_status");
$max_shipping_status_id_arr = mysql_fetch_row($cur_query);
$shipping_id = $max_shipping_status_id_arr[0]+1;
eS_execute_query("insert into shipping_status (shipping_status_id, language_id, shipping_status_name) values ($shipping_id, $einstellungen->languages_id, \"$Attribut->content\")");
}
eS_execute_query("update products set products_shippingtime=".$shipping_id." where products_id=".$Attribut->products_id);
}
break;
case 'fsk 18':
if ($Attribut->content=="ja")
{
eS_execute_query("update products set products_fsk18=1 where products_id=".$Attribut->products_id);
}
break;
case 'rabatt erlaubt':
eS_execute_query("update products set products_discount_allowed=".floatval($Attribut->content)." where products_id=".$Attribut->products_id);
break;
case 'vpe wert':
if ($Attribut->content)
eS_execute_query("update products set products_vpe_value=".floatval($Attribut->content)." where products_id=".$Attribut->products_id);
break;
case 'vpe name':
if ($Attribut->content)
{
$products_vpe_id=0;
//gibt es schon so einen products_vpe?
$cur_query = eS_execute_query("select products_vpe_id from products_vpe where language_id=".$einstellungen->languages_id." and products_vpe_name=\"".$Attribut->content."\"");
$products_vpe_id_arr = mysql_fetch_row($cur_query);
if ($products_vpe_id_arr[0]>0)
{
$products_vpe_id=$products_vpe_id_arr[0];
}
else
{
$cur_query = eS_execute_query("select max(products_vpe_id) from products_vpe");
$max_shipping_products_vpe_arr = mysql_fetch_row($cur_query);
$products_vpe_id = $max_shipping_products_vpe_arr[0]+1;
eS_execute_query("insert into products_vpe (products_vpe_id, language_id, products_vpe_name) values ($products_vpe_id, $einstellungen->languages_id, \"$Attribut->content\")");
}
eS_execute_query("update products set products_vpe=".$products_vpe_id." where products_id=".$Attribut->products_id);
}
break;
case 'vpe anzeigen':
if ($Attribut->content=="ja")
{
eS_execute_query("update products set products_vpe_status=1 where products_id=".$Attribut->products_id);
}
elseif ($Attribut->content=="nein")
{
eS_execute_query("update products set products_vpe_status=0 where products_id=".$Attribut->products_id);
}
break;
case 'produktvorlage':
if ($Attribut->content)
{
eS_execute_query("update products set product_template=\"".realEscape($Attribut->content)."\" where products_id=".$Attribut->products_id);
}
break;
case 'variationsvorlage':
if ($Attribut->content)
{
eS_execute_query("update products set options_template=\"".realEscape($Attribut->content)."\" where products_id=".$Attribut->products_id);
}
break;
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 'erscheinungsdatum':
if ($Attribut->content)
{
list ($tag,$monat,$jahr)= split('\.',$Attribut->content);
$date = $jahr."-".$monat."-".$tag." 00:00:00";
eS_execute_query("update products set products_date_available=\"".realEscape($date)."\" where products_id=".$Attribut->products_id);
}
break;
case 'gruppenerlaubnis':
setzeKundengruppenerlaubnis($Attribut->content, $Attribut->products_id);
break;
//
//Sonderangebote BEGIN
//
case 'sonder_preis':
if ($Attribut->content>0)
{
//umrechnen auf Netto
//hol steuerklasse zum produkt
$cur_query = eS_execute_query("select products_tax_class_id from products where products_id=".$Attribut->products_id);
$products_tax_arr = mysql_fetch_row($cur_query);
$tax = get_tax($products_tax_arr[0], $einstellungen->tax_zone_id);
if ($tax>0)
{
$Attribut->content = $Attribut->content/(($tax+100)/100.0);
}
eS_execute_query("update specials set specials_new_products_price=\"".$Attribut->content."\" where products_id=".$Attribut->products_id);
}
break;
case 'sonder_menge':
eS_execute_query("update specials set specials_quantity=\"".$Attribut->content."\" where products_id=".$Attribut->products_id);
break;
case 'sonder_enddatum':
if ($Attribut->content)
{
list ($tag,$monat,$jahr)= split('\.',$Attribut->content);
$date = $jahr."-".$monat."-".$tag." 00:00:00";
eS_execute_query("update specials set expires_date=\"".realEscape($date)."\" where products_id=".$Attribut->products_id);
}
break;
case 'sonder_aktiv':
if ($Attribut->content==0 || $Attribut->content==1)
{
eS_execute_query("update specials set status=".$Attribut->content.", date_status_change=now(), specials_last_modified=now() where products_id=".$Attribut->products_id);
}
break;
//
//Sonderangebote END
//
default:
if ($Attribut->content && ES_ATTRIBUTE_AN_BESCHREIBUNG_ANHAENGEN==1)
{
//an description anhängen
$cur_query = eS_execute_query("select products_description from products_description where products_id=".$Attribut->products_id." and language_id=".$einstellungen->languages_id);
$product_desc = mysql_fetch_row($cur_query);
$desc = $product_desc[0]."<br><br><b>".$Attribut->name."</b>: ".$Attribut->content;
eS_execute_query("update products_description set products_description=\"".$desc."\" where products_id=".$Attribut->products_id." and language_id=".$einstellungen->languages_id);
}
break;
}
}
}


?>
 

testjo

Sehr aktives Mitglied
AW: ISBN zu XTCModified?

Ist dieser den Letzte download beim JTL? Also den neuere wegen den php 5.4, oder den letzte aus den modified Forum auch änderungen wegen PHP 5.4 ? (ziemlich wichtig!)

Weiter dieser gibt zum beispiel ein beispiel wie man es machen soll, dabei dan auch den Anleitung aus den WAWI WIKI benutzen. ( was man in WAWi wo eingeben soll )
case 'meta title':
eS_execute_query("update products_description set products_meta_title=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;

so ähnliches erweitern für den ISBN wie zum beispiel.
case 'ísbn-nr':
eS_execute_query("update deintabbelle-feld-fur-isbn=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;

Dan den "isbn-nr" in WAWi also Funktions Atribute benutzen.

Immer BAckups machen.
Wen nach beispiel hier kein Ahnung wo was, dan weiter einlesen ( WIKI und Forum mit Forum such so auch Google) oder einer dran lassen die Ahnung davon hat.
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Im XTCModified fprum gibt es eine anpassung für 5.3 weiteres konnte ich nicht finden.
 

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: ISBN zu XTCModified?

Die Anpassung des Connectors wirst du selbst durchführen müssen (oder von einem entsprechenden Partner durchführen lassen). Ergo kann dir dabei von hier aus auch niemand mehr wirklich weiterhelfen.
Wenn du von der Änderung keine Ahnung hast, dann lass es lieber einen Servicepartner machen, der weiß was er tut (kostet natürlich nochmal extra) - aber alles andere wäre hier schon zu viel des Guten [zumal du bei Fehlern im Connector dir die Datenbank vom Onlineshop auch schnell mal mit versauen kannst].

Ob und inwiefern Anpassungen für eine neue PHP-Version notwendig sind, steht auf einem anderen Blatt - zumal du augenscheinlich ja noch die "alte" PHP-Version verwendest (ansonsten würdest du ja jetzt schon Probleme haben).
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

hab es jetzt mal ausprobiert. sollte es nicht in die funktionsatributte in der wawi?
 

sandro

Gut bekanntes Mitglied
19. Juli 2008
151
0
AW: ISBN zu XTCModified?

Ich hab es jetzt versucht wie ihr es hier beschrieben habt.

in der Atributte.php steht folgendens

case 'sonder_aktiv':
if ($Attribut->content==0 || $Attribut->content==1)
{
eS_execute_query("update specials set status=".$Attribut->content.", date_status_change=now(), specials_last_modified=now() where products_id=".$Attribut->products_id);
}
break;
//
//Sonderangebote END
//
default:
if ($Attribut->content && ES_ATTRIBUTE_AN_BESCHREIBUNG_ANHAENGEN==1)
{
//an description anhängen
$cur_query = eS_execute_query("select products_description from products_description where products_id=".$Attribut->products_id." and language_id=".$einstellungen->languages_id);
$product_desc = mysql_fetch_row($cur_query);
$desc = $product_desc[0]."<br><br><b>".$Attribut->name."</b>: ".$Attribut->content;
eS_execute_query("update products_description set products_description=\"".$desc."\" where products_id=".$Attribut->products_id." and language_id=".$einstellungen->languages_id);
}
break;
case 'ísbn':
eS_execute_query("update products_data set products_isbn=\"".realEscape($Attribut->content)."\" where language_id=".$einstellungen->languages_id." and products_id=".$Attribut->products_id);
break;
}
}
}


?>

Doch leider wird es im shop dan so angezeigt.
shop1.jpg

Aber die nummer sollte da rein kommen.
shop2.jpg

Und in der wawi Steht es da drinn.
wawi.jpg

Geht das Wirklich nur so, oder hab ich was falsch gemacht?
 

Anhänge

  • shop1.jpg
    shop1.jpg
    58,4 KB · Aufrufe: 11
  • shop2.jpg
    shop2.jpg
    30,9 KB · Aufrufe: 10
  • wawi.jpg
    wawi.jpg
    98,8 KB · Aufrufe: 11

reneromann

Sehr aktives Mitglied
31. August 2012
2.135
5
AW: ISBN zu XTCModified?

Da hast du was falsch gemacht...
a) Es gibt zwei Attribute - da hast du also beim Ameisen-Import was falsch gemacht...
b) Das ISBN-Teil scheint ja soweit ganz gut auszusehen - aber der "case 'isbn':" muss UNBEDINGT! VOR "default:".

Ob die ProductsData-Tabelle die Richtige ist, kann ich dir jedoch nicht sagen...