Blog-Kategorie-Navigation mit TOXID


Wer einen OXID-Shop mit viel Content betreibt, sollte TOXID auf jeden Fall kennen.

Mit dem Open-Source-Modul von marmalade ist es möglich Content per XML in seinen Shop zu holen, obwohl dieser in einem anderen CMS (z. B. Wordpress auf einer Subdomain) gepflegt wird.

Dabei sind wir heute auf ein kleines Problem gestoßen, als wir die Kategorie-Struktur von Wordpress im Shop nutzen wollten.

Die Navigation wurde über das Snippet

[ { assign var='toxid' value=$oViewConf->getToxid() } ]
[ { $toxid->getCmsSnippet("navigation") } ]

eingebunden. Leider wurden die URLs nicht vollständig mit den Shop-URLs ersetzt. Dies haben wir in toxidCurl::getCmsSnippet() wie folgt gelöst:

$iLangId = oxLang::getInstance()->getBaseLanguage();
$sShopUrl = $this->getConfig()->getConfigParam('sShopURL').$this->_getToxidLangSeoSnippet($iLangId).'/';
$aBlogUrl = $this->getConfig()->getConfigParam('aToxidCurlSource');
$sText= str_replace($aBlogUrl[$iLangId], $sShopUrl, $sText);


Anschließend erschien beim Aufruf einer Kategorie immer der Fehler: Fatal error: Call to a member function xpath() on a non-object in ...

Auch dies war lösbar und zwar mit folgendem Code in toxidCurl::_getRemoteContent():

if(substr($sUrl, -1) == "/")
{
$sUrl = substr($sUrl, 0, -1);
}

Vielleicht hat ja der ein oder andere auch ein Problem dieser Art und wir können damit weiterhelfen ;-)


Tags: wordpress, toxid, oxid, marmamalde, content