ご回答ありがとうございます。
チュートリアルというか、公式のページですね。
http://concrete5-japan.org/help/5-7/developer/designing-for-concrete5/building-a-concrete5-theme/reusing-common-elements-in-theme-template-files/
ここで書いてあるままやっているので、
$viewが正しいと思っているのですが…うまくできない状況です。
自作テーマで $view->inc('elements/header.php'); が効かない
2015年11月1日 at 2:08
はじめて質問させていただきます。
現在、サイト制作のため、以下環境でconcreat5を使用しています。
* MAMP 3.4
* concreat5 5.7.5.2
チュートリアルを見ながらテンプレートの作成をおこなっているのですが、件名にも書いたように
$view->inc('elements/header.php');
がdefault.phpでうまく動作せず、単なる文字列として表示されてしまいます。
を付けると明確にエラーが出るので、書き方としては間違えていないとおもうのですが…
ディレクトリ名(elements/)やファイル名 (header.php)は何度も確認しましたが、間違えていませんでした。
MAMPでの作業というところに問題があるのかな?とも思いましたが、正直お手上げ状態です。
お助けいただければ助かります。
よろしくお願いいたします。
追記: $の最後尾の`;`が抜けていたので付け足しました。それでも動かない状況です
タグ:
Re: Re: 自作テーマで $view->inc('elements/header.php'); が効かない
2015年11月1日 at 20:31
ご回答ありがとうございます。
phpタグで囲むと以下のエラーが出力されます。
該当ファイルが存在しない…ということなのですが、ファイルは存在しているのです。
謎は深まるばかりで…
phpタグで囲むと以下のエラーが出力されます。
予期せぬエラーが発生しました。
include(/Applications/MAMP/htdocs/concreat5_7/concrete/themes/mytheme/elements/header.php): failed to open stream: No such file or directory
該当ファイルが存在しない…ということなのですが、ファイルは存在しているのです。
謎は深まるばかりで…
Re: 自作テーマで $view->inc('elements/header.php'); が効かない
2015年11月1日 at 22:32
$viewは、`/concrete/themes/mytheme/elements/`を見に行くのですね…
/application/mytheme/elements を見に行っているのだと思っていました。
$viewクラスのinc()メソッドは、オリジナルのテーマを設置しているディレクトリが
正しい(正しく読みに行ける)場合は、設置ディレクトリのパスを参照し、そのパスにアクセス出来ない場合は、
'/concrete/themes・・・'(core)配下のディレクトリを参照する実装に成っているようです。
`/concrete/themes/mytheme/elements/`を見に行っていると言うことは、
オリジナルのテーマを配置しているディレクトリパスが間違えておりませんでしょうか?
ちなみに、オリジナルのテーマを配置するディレクトリは
'/application/themes/{テーマ名}'ですので、記載されている通りだとすると、'themes'ディレクトリと同位置に置かれておかれておりませんでしょうか?
今一度、配置されているパスをご確認いただけないでしょうか?
Re: Re: 自作テーマで $view->inc('elements/header.php'); が効かない
2015年11月1日 at 22:41
ご回答ありがとうございます。
オリジナルのテーマを配置しているのは、
`application/themes/mytheme`になっています。その下にelementsを配置している状態です。
なので、elementsのパスは
`application/themes/mytheme/elements`
になっています。
ちなみに、オリジナルのテーマを配置するディレクトリは
'/application/themes/{テーマ名}'ですので、記載されている通りだとすると、'themes'ディレクトリと同位置に置かれておかれておりませんでしょうか?
オリジナルのテーマを配置しているのは、
`application/themes/mytheme`になっています。その下にelementsを配置している状態です。
なので、elementsのパスは
`application/themes/mytheme/elements`
になっています。
Re: 自作テーマで $view->inc('elements/header.php'); が効かない
2015年11月1日 at 22:54
オリジナルのテーマを配置しているのは、
`application/themes/mytheme`になっています。その下にelementsを配置している状態です。
なので、elementsのパスは
`application/themes/mytheme/elements`
になっています。
失礼しました。
パスは正しいですね。
[システムと設定]-[最適化]-[キャッシュとスピード設定]などで、
キャッシュが有効に成っていたりしませんでしょうか?
もしくは、OSレベルのアクセス権など、ご確認頂けるといいかと思います。
Your post has been saved and will be published after approval by the forum moderator.
ねこみみ隊長
Re: 自作テーマで $view->inc('elements/header.php'); が効かない
$this->inc('elements/header.php');
だったので、viewじゃなくてthisではできませんか?