|
|||
|
Hallo Leute,
meine Frage ist: Wie kann ich Kategorien in zwei oder mehrere Sprache importieren? Ich habe die Kategorien in eine Sprache importieren und dann per Hand habe ich in zweite Sprache ?bersetzt. Wenn aber sp?ter importieren m?chte dann kommen nochmal alle Kategorien doppelt. Wie kann ich richtig die Kategorien in mehreren Sprachen importieren? |
|
|||
|
Zitat:
Aber wie kann man Kategorien richtig anlegen? Nur per hand? Und muss ich das erneut wiederholen wenn die Import-Export Funktion benutzen? Weil wenn ich etwas Importiere dann die Kategorien sind wieder anders: Nur in eine Sprache und verdoppelt! |
|
|||
|
Ist so was m?glich (w?re ideal!) ?
In import_export_csv.xls Statt p_cat.0, p_cat.1, p_cat.2, v usw. p_cat.0_DE, p_cat.1_DE, p_cat.2_DE, v, p_cat.0_EN, p_cat.1_EN, p_cat.2_EN, etc Genau wie bei artikel name, beschreibung etc. So die Kategorien werden in zwei Sprache sein. Daf?r soll Datei import.php bearbeitet. Und ich denke diese teil: Code:
/**
* Match and insert Categories
* @param array $dataArray data array
* @param string $mode insert mode
* @param int $pID products ID
*/
function insertCategory(& $dataArray, $mode = 'insert', $pID) {
if ($this->debug) {
echo '<pre>';
print_r($this->CatTree);
echo '</pre>';
}
$cat = array ();
$catTree = '';
for ($i = 0; $i < $this->catDepth; $i ++)
if (trim($dataArray['p_cat.'.$i]) != '') {
$cat[$i] = trim($dataArray['p_cat.'.$i]);
$catTree .= '[\''.addslashes($cat[$i]).'\']';
}
$code = '$ID=$this->CatTree'.$catTree.'[\'ID\'];';
if ($this->debug)
echo $code;
eval ($code);
if (is_int($ID) || $ID == '0') {
$this->insertPtoCconnection($pID, $ID);
} else {
$catTree = '';
$parTree = '';
$curr_ID = 0;
for ($i = 0; $i < count($cat); $i ++) {
$catTree .= '[\''.addslashes($cat[$i]).'\']';
$code = '$ID=$this->CatTree'.$catTree.'[\'ID\'];';
eval ($code);
if (is_int($ID) || $ID == '0') {
$curr_ID = $ID;
} else {
$code = '$parent=$this->CatTree'.$parTree.'[\'ID\'];';
eval ($code);
// check if categorie exists
$cat_query = xtc_db_query("SELECT c.categories_id FROM ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd
WHERE
cd.categories_name='".addslashes($cat[$i])."'
and cd.language_id='".$this->languages[0]['id']."'
and cd.categories_id=c.categories_id
and parent_id='".$parent."'");
if (!xtc_db_num_rows($cat_query)) { // insert categorie
$categorie_data = array ('parent_id' => $parent, 'categories_status' => 1, 'date_added' => 'now()', 'last_modified' => 'now()');
xtc_db_perform(TABLE_CATEGORIES, $categorie_data);
$cat_id = mysql_insert_id();
$this->counter['cat_new']++;
$code = '$this->CatTree'.$parTree.'[\''.addslashes($cat[$i]).'\'][\'ID\']='.$cat_id.';';
eval ($code);
$parent = $cat_id;
for ($i_insert = 0; $i_insert < sizeof($this->languages); $i_insert ++) {
$categorie_data = array ('language_id' => $this->languages[$i_insert]['id'], 'categories_id' => $cat_id, 'categories_name' => $cat[$i]);
xtc_db_perform(TABLE_CATEGORIES_DESCRIPTION, $categorie_data);
}
} else {
$this->counter['cat_touched']++;
$cData = xtc_db_fetch_array($cat_query);
$cat_id = $cData['categories_id'];
$code = '$this->CatTree'.$parTree.'[\''.addslashes($cat[$i]).'\'][\'ID\']='.$cat_id.';';
eval ($code);
}
}
$parTree = $catTree;
}
$this->insertPtoCconnection($pID, $cat_id);
}
}
|
|
||||
|
So wie ich das sehe, werden durch das Import / Export Modul nur Artikel verarbeitet.
Die Spaltenbezeichnungen p_cat... Zeigen nur den Kategorienamen in der der Artikel zu finden ist. Wenn Du Kategorienamen mehrsprachig erstellen m?chtest, dann musst Du die Tabelle categories_description bearbeiten. 1. Spalte = Kategorie ID 2. Spalte = Sprach ID (bei mir 1=english, 2=deutsch, 3=spanisch 4=franz?sisch) 3. Spalte = Kategoriename 4. Spalte = Kategorie Beschreibung am besten mit mysqladmin exportieren, im Excel die 2. Sprache hinzuf?gen und wieder hochladen. Wenn Du die ?bersetzung schon fertig hast, dauert das 10 Minuten. Gru? Sven |
|
|||
|
Danke syncrosoni f?r die Idee.
Bei mir klappt es das nicht! :sad: Jedes mal wenn ich importiere, bekomme ich neu category_ids. So ich muss jeder mal die Datenbank l?schen dann importieren und dann die categories_description exportieren und bearbeiten ohne die neue ids ?ndern. So klappt es aber ist ganze menge Bearbeitung. Ich denke dass diese punkt mit Kategorien eine schwache punkt in XT-Commerce ist. Und ich sage noch mal: W?re besser so: p_cat.0_DE, p_cat.1_DE, p_cat.2_DE, v, p_cat.0_EN, p_cat.1_EN, p_cat.2_EN, etc Genau wie bei Artikel Name, Beschreibung etc. Kann das jemand korrigieren? Danke f?r dein Tip! |
![]() |
| Lesezeichen |
| Stichworte |
| kategorien, sprache |
| Themen-Optionen | |
| Ansicht | |
|
|