In den vorhergegangenen Blog Einträgen dazu hatte ich ja erwähnt das ich mal die Codes online stellen wollte mit denen ich letztendlich mein Joomla 1.5 nach Wordpress konvertiert hatte. Na wie das mit der "Faulheit" so ist kommt's nun relativ spät.

Was wird Konvertiert ?

Nun da ich keinen gut funktionierenden "Baukastenkonverter" fand der mir in Wordpress einfach den alten Joomla Content konvertiert, musste selbst was gebastelt werden. Das Script ist ausgelegt auf die Verwendung von PHP und MySQL. Konvertiert werden Joomla Artikel in die Wordpress Content Tabelle.

One Click Lösung ?

Nein, mit Sicherheit nicht. Diese Scribbles sind alles andere als ein einfaches Klick & Fertig Programm. Für Leute die keine oder kaum PHP Ahnung haben also auch wahrscheinlich ungeeignet. Den Anspruch stelle ich aber auch nicht daran, wer allerdings ein wenig den Code interpretieren kann dem ist mit den Scripten ggf. geholfen. Wie gesagt, bevor die Dinger bei mir nach einmaligem Nutzen verstauben pack ich sie lieber Online.

Wie den Konverter benutzen ?

Nun erst mal die config.php anpassen und alle Scripts auf den Webserver laden. CONFIG.PHP

/* * Configuration for your Database and stuff */ 
$SQL['HOST'] = "sql.lan";   // Normaly localhost 
$SQL['USR'] = "DBUser"; 
$SQL['PWD'] = "12345678"; 
// Joomla realted ->
$SQL['JOOMLA_DB'] = "solariz_de"; // Databse name of Joomla 
$SQL['JOOMLA_PRE'] = "jos_";    // Table Prefix of Joomla Tables 
// Wordpress realted ->
$SQL['WP_DB'] = "solariz_wp"; // Databse name of wordpress 
$SQL['WP_PRE'] = "wp_";       // Table Prefix of wordpress Tables 
$DEFAULTS['POST_AUTHOR']   = 1; // User ID of target Author (1 usualy admin) 
$DEFAULTS['POST_CATEGORY'] = 5; // I suggest to create a category named e.g. import

Die Möglichkeiten zur Anpassung sind durch die Kommentare denke ich weitestgehend erklärt. Wichtig ist es das der POST_AUTHOR und die POST_CATEGORY id`s im Wordpress existieren. Also erst mal eine blanko Wordpress Installation vornehmen. Idealerweise ohne Muster Inhalte damit es hier keine Konflikte gibt. Nun ein Kategorie und einen User anlegen und deren ID`s in der config.php des Konverters eintragen. Ich hatte mich dazu entschieden alles auf User ID 1 (Mein user account) sowie eine angelegte Kategorie namens "Import" mit der ID 5 zu schreiben. Der Konverter wird später dann alle im Joomla gefundenen Artikel auf diese Kategorien anpassen. Da ich vorher selbst in Joomla meistens nur 2 Kategorien verwendet habe (Artikel, Inhalte) ist es für mich kein Problem das alles nur in eine Kategorie geschoben wird. Wer viele Artikel Kategorien in Joomla verwendet kann hier nun allerdings tricksen in dem man die in der index.php verwendete Query zum lesen einschränkt und dann das Script einfach pro Kategorie einmal laufen lässt. In der index.php bei Zeile #46 findet man die für das auslesen der Artikel verantwortliche Query:


WHERE `sectionid`='1' $query = "SELECT * FROM `".$SQL['JOOMLA_PRE']."content` ORDER BY `created`";


Hier kann man, wie im Comment darüber angemerkt, einfach ein eigenes WHERE Statement hinzufügen und somit die auszulesenden Contents einschränken. Was ich zugegebenermaßen auch Quick & Dirty gelöst habe ist die Zuweisung der einzelnen Felder. Klar sind die Spaltennamen der Tabellen in Joomla nicht identisch mit denen von Wordpress, hier muss also eine Zuweisung stattfinden. Wem die von mir gewählten Zuweisungen nicht gefallen kann diese in der index.php Zeile #58 einfach anpassen: 

$array = array(
“post_author”=>$DEFAULTS['POST_AUTHOR'],
//”post_parent”=>$DEFAULTS['POST_CATEGORY'],
“post_date”=>$R['created'],
“post_date_gmt”=>$R['created'],
“post_modified”=>$R['modified'],
“post_modified_gmt”=>$R['modified'],
“post_title”=>$R['title'],
“post_status”=>”publish”,
“comment_status”=>”open”,
“ping_status”=>”open”,
“post_name”=>$R['alias'],
“post_type”=>”post”
);


Wordpress verwendet entgegen Joomla mehrere Tabellen um die Einträge zu speichern um hier einen Konflikt zu vermeiden sollte man sicherstellen das alle Artikel in der Ziel WP Installation vorher gelöscht werden.

Das eigentliche konvertieren

Hat man das Script nun auf eigene Bedürfnisse angepasst kann man nun einfach mal versuchen die index.php auszuführen. Ich wünsche viel Glück dabei und würde mich wenn Verbesserungen am Code vorgenommen werden über einen Rücklauf derer freuen. Zum Schluss natürlich das Script zum Download, bitte bei Verlinkung nur auf diesen Artikel verlinken, nicht auf den Download selbst. Danke. Notice: siehe auch den Post um das Forum Joomla Fireboard zu Wordpress WP-Forum zu konvertieren.

 

Script Download

DOWNLOAD

Joomla to Wordpress
[download]

Amazon Logo Diesen Blog unterstützen?
Bestell dir doch etwas bei Amazon. Nutze diesen speziellen Link, es kostet dich nichts extra und für jeden Kauf darüber erhalte ich eine kleine Gutschrift. Danke!
✉ Marco Götze//

Kommentare

noch 38 Einträge