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.
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.

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.
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.
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.
Hi Solariz…
Vielen dank, ich werde es heute noch ausprobieren und auch Feedback geben.
Jo, werd ich auch mal testen müssen.
Hab zwar im Moment nicht wirklich eine Verwendung dafür, aber man weiß ja nie was kommt.
Gut zu wissen, das es solch ein Script gibt.
Danke dafür ;)
Kleiner Tipp für alle Umseitger, überlegt es euch genau. Entgegen aller Spekulationen und Infos im Netz straft google solch einen Umstieg heftig ab. Obwohl ich vorbildlich für nahezu alle alten URLs einen 301 Redirect auf den korreten neuen Link per HTACCESS rewrite eingefügt habe hat Google einige Tage nach meinem Umstieg von Joomla auf Wordpress meine vorherigen Pagerank 4 auf 0 reduziert. Ich hoffe beim nächtem PR Update gibt es hier wieder eine neubeurteilung denn leider erfährt man den Grund der Abstrafung ja nicht.
So,
dann mal zu meinem Feedback:
Es funktioniert bestens! Danke!!!
who to download the script to do it ?
@mbengue: after a update to WP 2.8 the links to the downloads were broken for a short time. Download should work again since some hours.
Update: new posting with a converter from fireboard to WP-Forum online.
Tolles Tool! Hat mir sehr mei meinem Vorhaben geholfen, mein Blog parallel auf 2 Plattformen zu betreiben. Ist echt eine Arbeitsersparnis. Einziger Kritikpunkt ist, dass bereits gelöschte Beiträge mit übertragen werden.
Komme ein wenig spät. aber trotzdem eine Frage:
wie geht dieser Import mit mehrsprachigen Joomla-Installationen um (Joomfish in Einsatz)?
Funktioniert dieses Script auch mit Joomla 1.12?
Merci im Voraus,
Connie
Kurz: 1.x nicht kompatieble dazu gibt es aber ein anderes Script, nicht von mir einfach mal google nutzen.
Joomfish, nie getestet.
i got ” Please edit config.php” error. Could you tell me what to write to first 3 lines?
$SQL['HOST'] = “here”; // Normaly localhost
$SQL['USR'] = “here”;
$SQL['PWD'] = “here”;
thank you
I meant joomla or wp information to write there? thank you
Hi Julie,
first a small warning, this script is not intended to be used by any person who only have barley scripting knowledge. It can destroy more as it could help if you not understand the way it work. The intention was to release it into the wild for lazy codes to just takt this as basic function.
The script itself is written to use just one database so Joomla and WP should be on the same SQL Host, if not the script have to be rewritten to use multiple database hosts. Resulting to this, the user and pwd asked for needs to be able to acces Joom and WP database.
Hi!
Does this script handle the {mosimage} definition inside of articles? is there any solution for ceonverting media-related content?
cheers!
Inhalt wieder hergestellt…
Den Inhalt der “alten” Datenbank konnte ich dank des Scripts von Solariz sehr einfach konvertieren und in die neue Datenbank einlesen…….