ezPublish のエクステンションをコンテンツに表示しようとするが上手くいかない
ezPublish にエクステンションとして拡張し、Zend Framework と連携できるのも分かった。
それだけじゃ CMS として ezPublish を使う意味がないので、コンテンツ更新の方は ezPublish 側にまかせたい。
例えば、ヘッダー、左ナビ、コンテンツ1、コンテンツ2、右ナビとあったとして、コンテンツ1 の部分はエクステンションで作り込んだデータを表示して、コンテンツ2 は ezPublish の管理画面から更新したい場合にどうすれば良いのか。
という事をこの前 ezPublish に詳しい @teilnehmen さんに直接聞いら、エクステンションと CMS を混合して表示するには、CMS の変更する TinyMCE のツールバーの「オブジェクトを挿入 / 編集」から出来るとの事。
1.エクステンションを作る
2.以下のファイルを変更する
$ cd /path/to/ezpublish $ vim settings/override/content.ini.append.php
[embed] というセクションの AvailableClasses[] にエクステンション名(ディレクトリ名)を追記する
$ cd /path/to/ezpublish $ vim settings/siteaccess/jpn/override.ini.append.php
3.作ったエクステンションを追加する
<?php /* #?ini charset="utf-8"? [hoge] Source=content/view/embed.tpl MatchFile=embed/test.tpl Subdir=templates Match[classification]=hoge */ ?>
hoge の箇所には extension/ezend/modules/ 以下に作ったディレクトリ名を設定する。
また MatchFile=embed/test.tpl の部分は以下のディレクトリにファイルを作る。
extension/ezend/design/standard/override/templates/embed/test.tpl
エクステンションの中に元のコンテンツをオーバライドするようにテンプレートを入れる。
6.ezPublish の管理画面に行き、コンテンツツリーを選択する
とりあえずトップページに出したいので、トップページを編集する
7.編集ボタンをクリック
8.TinyMCE の「オブジェクトを挿入 / 編集」をクリック
9.ブラウズのタブを選択
10.Home をクリック
11.トップレベルノードをクリック
12.Home のラジオボタンを選択
13.クラスのセレクトボックスに追加したエクステンション名が表示されるので選択
この時点で、プレビューには Home と表示されている。
14.OK をクリックし、ダイアログを閉じる
編集するテキストエリアにはクリップアイコンと Home というリンクが出ている
見せてもらった時には extension/ezend/design/standard/override/templates/embed/test.tpl に書いた内容が表示されてたんだけど…。
手順がおかしいのははっきりしているので、どこがおかしいのかがよくわからない。
ezPublish は情報量が少なくて(特にエクステンションと CMS の連携など)どこを読めば良いのか良く分からない。