Ich hab mir mal eine kleine Export-Tabelle mit 11 Datensätzen gebaut, die sieht so aus:
id, titel und content kommen wie gehabt aus WordPress, kat_1 und kat_2 sind die passenden Schlagwort-IDs aus Joomla, die wir im letzten Beitrag via Access zugeordnet haben. Jetzt wird noch das Import-Skript umgebaut, da kommt die Logik für die Tag-Zuordnung innerhalb der Foreach-Schleife nach dem Erzeugen des neuen Artikelobjekts mit rein. Das Ganze sieht dann so aus:
//**************Tags zuordnen $roh1 = $zeile->kat_1; $roh2 = $zeile->kat_2; $tag1 =strval($roh1); $tag2 =strval($roh2); $neue_id= $article->id; // Das ist einen Versuch wert! $basePath = JPATH_ADMINISTRATOR.'/components/com_content'; require_once $basePath.'/models/article.php'; $articlemodel = new ContentModelArticle(array('table_path' => $basePath . '/tables')); $params = array( 'id' => $neue_id, // Article being tagged 'tags' => array($tag1, $tag2) // Tag IDs from #__tags to tag article with ); if($articlemodel->save($params)){ echo 'Success!'; } //**************Ende Tags zuordnen
Der Import der Rezepte bleibt genau wie gehabt, nur findet jetzt noch die Tag-Zuordnung statt. Damit erhalten wir nach dem Import eine wohlgefüllte Tagliste:
Was, wenn ich mehr als 2 Kategorien übernehmen will?
Dann muss das Tagmapping in Access aufgebohrt werden, wo ich jetzt mit erster Wert/letzter Wert operiert habe, muss eine Kreuztabelle rein, damit sollten auch beliebig viele Kategorien pro Rezept abgebildet werden können. Die Export-Tabelle wird dann halt ziemlich breit, und das Script braucht eine Logik, mit der alle Tag-Felder (kat_1.. kat_n) berücksichtigt werden. Aber das führt mir jetzt entschieden zu weit, da darf jeder selber experimentieren. Ich mach hier einen Break, und eine Denkpause für den nächsten Beitrag.