ページタイプによる条件分岐の方法

2014年5月6日 at 1:56

特定のページタイプの場合のみに読み込ませたいjsがあるのですが、ページタイプによってheader.phpで条件分岐させる方法があれば教えていただきたいです。
よろしくお願いいたします。

タグ:

Re: ページタイプによる条件分岐の方法

2014年5月6日 at 21:46
これでそのページで使われているページタイプのハンドル取ってこれるのであとはif文使って分岐ですね。
$page = Page::getCurrentPage();
$typeHandle = $page->getCollectionTypeHandle();
if($typeHandle == 'ページタイプハンドル')
{
}

解説先リンク載せておきます。一番下に書いてあります。
http://www.concrete5.org/documentation/developers/pages/page-types
 

Re: ページタイプによる条件分岐の方法

2014年5月7日 at 0:34
ありがとうございます!!

jsのテストはまだできていないのですが、ブロックのview.phpで同じソースを使って条件分岐させることができました。
助かりましたm(_ _)m


⇒jsも分岐効いてました!そもそものjsが動いてないみたいですが;;
 

Re: ページタイプによる条件分岐の方法

2014年5月8日 at 12:30
テーマで分岐させるのであれば問題ないですが、
ブロックのview.phpを加工するとそのブロック自体のデフォルトの挙動が変更になるのでのちのちメンテナンスが大変になる可能性があるのでカスタムテンプレートで対応することをお勧めします。
理由は、バージョンアップ時にそのブロックタイプのコードが変更になる可能性があり、
また、もともとconcrete5で推奨されている使い方はview.php加工するのではなくカスタムテンプレートを作成することを推奨しています。
他の方が修正をされることも考えたとき、セオリー合わせていたほうが無難ではないかと思います。

カスタムテンプレートの作り方

blocks/ブロックタイプ名/templates/カスタムテンプレート名/ フォルダを作り
cssフォルダ、jsフォルダ、view.php、view.css を作成します。

cssフォルダに必要なcssファイルを入れます。
jsフォルダに必要なjsファイルをを入れます。
view.css、cssフォルダ、jsフォルダはコーディングの必要なしに自動で読み込まれます。