concrete5の特定ページ一覧をJSONPで出力したい

2017年8月22日 at 16:04

ある企業ページAのニュース一覧を、企業グループページBで表示したいという要望があり、
(AとBは別ドメイン、Aはconcrete5でBは静的HTML)
concrete5側でニュース一覧をJSONで出力する所までは、自力で作成出来ました。

http://gist.github.com/kanetei/641ce783a5641a04d3d93a6c1e5dce93

ただ、別ドメインのため、JSONPで出力する必要があるのですが、

Core::make('helper/ajax')->sendResult($array);

上記の行の時点でJSONとして出力されるようなので、

callback([(JSON形式のデータ)])

という形に変更する方法が分かりません……。
こちら、どのようにすれば良いか教えて頂けるとありがたいです。

---

また、元々のニュース一覧が、『Page Selector Attribute』を使用して、
任意のページへのリンクを設定出来るようにしているのですが、
ページリストのカスタムテンプレートでは

URL::to(Page::getByID($otherpage))

でURLが設定出来たのですが、JSON上ではURLが'{}'になってしまいます。
(恐らく空の配列になっているようです……)
こちら、どのようにすればURLが取得出来るのでしょうか?

タグ:

Re: concrete5の特定ページ一覧をJSONPで出力したい

2017年8月24日 at 13:16
自己解決しました。
JSONPの出力は、別の出力方法に書き換えることで実現出来ました。
ページのURLは、'$nh->getCollectionURL(Page::getByID($otherpage))'で取得出来ました。

http://gist.github.com/kanetei/641ce783a5641a04d3d93a6c1e5dce93