なるほど、on_page_view()はpackeges/my_package/controller.phpで使ったことがありましたが、これだとpackageがインストールされた状態では、常にJSが挿入されて困るなあと思ってたのでした。
blocks/my_block/controller.phpで使用すればいいのですね。
あと、ブロックにはJSで使う変数を入力させているので、出来れば複数ブロックを許可したくなかったんですね。
なので、PHPレベルで制御できれば、と思ってたんですが。
JSレベルでも何とかできないか、考えてみます。
ありがとうございました。
ある特定のブロックタイプは、1つのページの中に1つしか存在しないようにしたい
2015年7月2日 at 16:59
どうもです。
カスタムブロックタイプを制作中です。
ブロックを挿入すると、特定のJavaScriptをフッターに挿入するというものです。
この場合、1つのページ内に当該ブロックタイプが複数存在すると、JavaScriptも都度読み込まれてしまいます。
これを回避するため、件名にあるような仕組みを作りたいのですが、どうすれば良いでしょうか。
タグ:
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
Re: ある特定のブロックタイプは、1つのページの中に1つしか存在しないようにしたい
5.7 ですか?
ちょっと時間がなくなってきたので超手抜きですが
どちらも、block/controller.php
で on_page_view() の関数を作って
みたいにすると、同じページに複数ブロックを入れても、読み込まれるJSは一つだけになります。
HTML ヘルパーを読み込む必要があって
5.7 だったら
を namespace の直後に宣言して
on_block_view() の中に
で読み込めます。