Forums / Localized forums / Japanese / PHPのセッション変数取得方法について

PHPのセッション変数取得方法について

Author Message

Kouichi Sakamoto

Monday 05 July 2010 7:45:07 pm

お世話になっております。

CSKシステムズの坂本です。

先日は勉強会ありがとうございました。

eZは機能が多すぎて、理解し切れていませんが、1つ1つ理解していきたいです。

早速ですが、PHPのセッション変数の取得について質問があります。

・PHPのセッション変数 $_SESSIONをテンプレートで取得することはできないのでしょうか?

ezhttp('セッション変数名', 'session')では取得できませんでした。

・また、取得できない場合、PHPとテンプレートでの値受け渡しを行い実現したいと思っています。

eztemplateautoload.phpでPHPのセッション変数のセッターとゲッターを作成すると、受け渡しはできると思うのですが、別の実現方法はありますでしょうか?

以上、よろしくお願い致します。

Eric Sagnes

Wednesday 07 July 2010 11:09:04 pm

坂本さん
eZ PublishはMVCに従ってるために、テンプレートにはPHPが直接使えません。
テンプレートには、テンプレートオペレーターとテンプレートファンクションしか使えません。
ただし、テンプレート言語に新しいオペレーターやファンクションを追加することができます、オペレーターを追加する際はロジックをPHPで書きますので、そこで普通のPHPやeZのAPIを利用することができます。
テンプレートオペレーターはエクステンションで追加できます、エクステンションの作成マニュアル(日本語)はありますので、ぜひ参考にしてください:
http://groups.google.co.jp/group/ez-publish-japan/files
のez_publish_document_extension.pdf
のページ8から乗っています。(このドキュメントはeZ Publish 3.8対応なので、多少記述が変わるところもあります)
管理画面の「システム設定」、「アプリ開発ツール」を使うとウィザードを使って、オペレーターのPHPテンプレートファイルを生成することもできます。
最後に、http://projects.ez.no/にあるコミュニティエクステンションも参考になりますので、複雑のオペレーターを作りたい場合に確認するをおすすめします。