Forums / Localized forums / Japanese / PHPのセッション変数取得方法について
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/にあるコミュニティエクステンションも参考になりますので、複雑のオペレーターを作りたい場合に確認するをおすすめします。