私は、友人のワードプレスからCMSページコンテンツをapiで取得しようとしています。 これはうまく動作し、私はCSSでコンテンツをカスタマイズすることができます。Prestashop cms page json content
しかし、私はあなたがコントローラ内のhtmlを挿入しないでください知っている、あなたは何とかだけでなく、管理するために、このコンテンツを得ることができるならば、タイトルと内容 OR さらに良くするために呼び出され、このための.tplファイルを実行する方法がありますしかし、私はそれが現在不可能だと思いますか?
しかし、他のcmsページは正常に動作するはずです。
は、私は、関数initContent内CmsController.phpで、現在持っている:
if($this->cms->meta_title == 'mycmspage')
{
$ch = curl_init();
$timeout = 5;
$url = 'http://friendurl.com/wp-json/wp/v2/pages/xxx';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
$obj = json_decode($data, TRUE);
$this->cms->content = '<h2 class="myheader">'.$obj['title']['rendered'].'</h2><article class="myarticle">'. $obj['content']['rendered'].'</article>';
}
はいあなたはSmartyの変数を設定し、テンプレートコンテンツを取得することができます
私はあなたが提案したコード付き/コントローラ/フロント/上書きするファイルCmsController.php、 'クラスCmsControllerCoreOverrideがCmsControllerCoreを{'延びるが、それだけで問題なく動作コントローラフォルダから元CmsController.phpをロードsomewhyをしました...?これがオーバーライドの問題であるかどうかはわかりませんが、 – Diamonte
PHP致命的なエラー:クラス 'CmsControllerCore'が見つかりません.. – Diamonte
また、 'if($ this-> cms-> meta_title == 'mycmspage')よりもコード内のcmspageを識別する他の「より静的な」方法がありますか? '。 meta_titleを変更することができます – Diamonte