{"id":890,"date":"2018-02-23T14:59:04","date_gmt":"2018-02-23T13:59:04","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=890"},"modified":"2018-02-23T16:15:14","modified_gmt":"2018-02-23T15:15:14","slug":"so-schnell-geb-ich-nicht-auf-joomla-artikel-importieren-eine-heisse-spur","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2018\/02\/23\/so-schnell-geb-ich-nicht-auf-joomla-artikel-importieren-eine-heisse-spur\/","title":{"rendered":"So schnell geb ich nicht auf: Joomla-Artikel importieren, eine heisse Spur"},"content":{"rendered":"<p>Ich sitze ja hier immer noch auf \u00fcber 300 Rezepten aus dem Inselfisch-Kochbuch und habe keine Lust, die per Copy&amp;Paste nach Joomla reinzuschubsen, mehr zu dem Thema habe ich bereits <a href=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/2018\/02\/11\/jetzt-fehlt-nur-noch-der-inhalt\/\">in diesem Artikel<\/a> erz\u00e4hlt. Jetzt bin ich bei Stackexchange auf einen vielversprechenden Ansatz gestossen, wie man einen Joomla-Artikel programmatisch erzeugen kann, mehr Infos hier:<\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/12643725\/create-a-joomla-article-programatically?lq=1\">https:\/\/stackoverflow.com\/questions\/12643725\/create-a-joomla-article-programatically?lq=1<\/a><\/p>\n<p>Im letzten Beitrag des Threads (Support Joomla 2.5 and Joomla 3.0) findet sich ein Sourcecode, der ohne weitere Modifikationen funktioniert. Ich zitier den mal hier rein:<\/p>\n<pre>if (version_compare(JVERSION, '3.0', 'lt')) {\r\n\u00a0\u00a0\u00a0 JTable::addIncludePath(JPATH_PLATFORM . 'joomla\/database\/table');\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n}\u00a0 \u00a0\r\n$article = JTable::getInstance('content');\r\n$article-&gt;title\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 'This is my super cool title!';\r\n$article-&gt;alias\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = JFilterOutput::stringURLSafe('This is my super cool title!');\r\n$article-&gt;introtext\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '&lt;p&gt;This is my super cool article!&lt;\/p&gt;';\r\n$article-&gt;catid\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 9;\r\n$article-&gt;created\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = JFactory::getDate()-&gt;toSQL();\r\n$article-&gt;created_by_alias = 'Super User';\r\n$article-&gt;state\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 1;\r\n$article-&gt;access\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 1;\r\n$article-&gt;metadata\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '{\"page_title\":\"\",\"author\":\"\",\"robots\":\"\"}';\r\n$article-&gt;language\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '*';\r\n\r\n\/\/ Check to make sure our data is valid, raise notice if it's not.\r\n\r\nif (!$article-&gt;check()) {\r\n\u00a0\u00a0\u00a0 JError::raiseNotice(500, $article-&gt;getError());\r\n\r\n\u00a0\u00a0\u00a0 return FALSE;\r\n}\r\n\r\n\/\/ Now store the article, raise notice if it doesn't get stored.\r\n\r\nif (!$article-&gt;store(TRUE)) {\r\n\u00a0\u00a0\u00a0 JError::raiseNotice(500, $article-&gt;getError());\r\n\r\n\u00a0\u00a0\u00a0 return FALSE;\r\n}<\/pre>\n<p>(Quelle: https:\/\/stackoverflow.com\/questions\/12643725\/create-a-joomla-article-programatically?lq=1)<\/p>\n<p>Das sieht soweit gut aus, fehlt h\u00f6chstens noch ein Eintrag f\u00fcr das Feld created_by (bei mir 839), und die metadata sehen bei mir in der Datenbank auch einen Hauch anders aus, aber das ist Kleinkram. Die catid w\u00e4re eigentlich immer 8 f\u00fcr Rezepte, das kann man fest verdrahten. Ich habs mal in den Sourcerer reingeschubst und ein paar mal laufen lassen, die neuen Artikel sind einwandfrei erzeugt worden.<\/p>\n<h2>So, jetzt gilts: wie kriegen wir unsere WordPress-Datens\u00e4tze hier rein?<\/h2>\n<p>Eigentlich m\u00fcssen wir nur diese drei Felder ordentlich f\u00fcllen:<\/p>\n<pre>$article-&gt;title\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 'This is my super cool title!';\r\n$article-&gt;alias\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = JFilterOutput::stringURLSafe('This is my super cool title!');\r\n$article-&gt;introtext\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '&lt;p&gt;This is my super cool article!&lt;\/p&gt;';\r\n<\/pre>\n<p>Sch\u00f6n w\u00e4rs nat\u00fcrlich, wenn wir die WordPress-Kategorien als Tags mit \u00fcbernehmen k\u00f6nnten, aber das w\u00e4r nur ein extra-Zuckerl, jetzt k\u00fcmmere ich mich erstmal um den \u00dcberbau, und der erfordert etwas Planung. Ich geh mal mein Denkm\u00fctzerl aufsetzen und melde mich dann wieder mit einem neuen Beitrag.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich sitze ja hier immer noch auf \u00fcber 300 Rezepten aus dem Inselfisch-Kochbuch und habe keine Lust, die per Copy&amp;Paste nach Joomla reinzuschubsen, mehr zu dem Thema habe ich bereits in diesem Artikel erz\u00e4hlt. Jetzt bin ich bei Stackexchange auf einen vielversprechenden Ansatz gestossen, wie man einen Joomla-Artikel programmatisch erzeugen kann, mehr Infos hier: https:\/\/stackoverflow.com\/questions\/12643725\/create-a-joomla-article-programatically?lq=1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[29,38,37,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/890"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=890"}],"version-history":[{"count":2,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/890\/revisions"}],"predecessor-version":[{"id":892,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/890\/revisions\/892"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}