バージョン選択

フォーラム

メニュー

オンライン状況

68 人のユーザが現在オンラインです。 (56 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 68
もっと...

サイト内検索

質問 > フロント機能 > テンプレート内へのブロックのインクルード方法について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tonton
投稿日時: 2008/12/22 13:26
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
テンプレート内へのブロックのインクルード方法について
VER.2.3.3です。
ブロックを管理画面から1つカスタムに作成し(仮称:blocA.tpl)、それを既存のメインテンプレートやヘッダーテンプレートにインクルードしたいと考えており、その配置位置が、管理画面から配置できる部分ではないので、コードを記述して、インクルードしようと試みているのですが、上手く行かず。。。
どのようにコードを記述したらいいのか、アドバイスいただけませんでしょうか。

下記のように記述してみたのですが、
<!--{include file=`$smarty.const.USER_TEMPLATE_PATH`default/bloc/blocA.tpl}-->

エラーが、
Smarty.class.php on line 1095
ということで、

なんだか、上手くいかないのです。
テンプレ内にテンプレはインクルードできないのでしょうか。
どこかにあったような気がして、検索してみたのですが、見つけられませんでした。

ブロック内には、HTMLで手書きソースを入れるので、phpやDBの関係はありません。
テンプレートファイル内にblocA.tplをインクルードしたいだけです。

宜しくお願いします。
seasoft
投稿日時: 2008/12/22 21:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: テンプレート内へのブロックのインクルード方法について
多分文法エラーだと思います。
Smarty は詳しくないので、どのように書くのが正しいか、分からないですが…

<!--{include file=`$smarty.const.USER_TEMPLATE_PATH`default/bloc/blocA.tpl}-->
赤字部分が、ヤバい予感。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

homan
投稿日時: 2008/12/22 21:24
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: テンプレート内へのブロックのインクルード方法について
う〜ん、一度アサインしてから、includeのfileに指定するといいかもしれません(試したことはないですが・・・)。

例えば、

<!--{assign var=blocA value=$smarty.const.USER_TEMPLATE_PATH|cat:"default/bloc/blocA.tpl"}-->
<!--{include file=$blocA}-->

とか・・・?
↑でうまくいけば、同じような指定で↓もいけるかな?

<!--{include file=$smarty.const.USER_TEMPLATE_PATH|cat:"default/bloc/blocA.tpl"}-->


ちなみに、上記でエラーが表示されないけど、うまく表示されない場合は、TPL_DIRを使うといいかも?これはWEBディレクトリ以下でテンプレートパッケージ名まで含む形で拾ってきます。

TPL_DIR = /user_data/packages/default(パッケージ名)/


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

tonton
投稿日時: 2008/12/23 17:31
対応状況: 解決済
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: テンプレート内へのブロックのインクルード方法について
>seasoft様

いつも、いつも、本当にありがとうございます(T_T)
すみません、ご迷惑ばっかりかけて・・・

おっしゃるとおり、赤字部分含め、記述が間違ってました;
homanさんのおっしゃるように修正してみたらできました!

>homan様

できました!すごいです!
1つ目に記述いただいた、
<!--{assign var=blocA value=$smarty.const.USER_TEMPLATE_PATH|cat:"default/bloc/blocA.tpl"}-->
<!--{include file=$blocA}-->
の形で表示することができました。

急いでやったので、もしかしたら、どこか間違えたせいかもしれませんが、2つめと3つ目は、少しエラーの形が変わったりしましたが、表示はできませんでした。
TPL_DIRでの指定のほうは、多分、カスタムブロックなので、違う場所を探してきてしまったのかもしれませんね。(つまり後ろのブロックの指定パスが間違っていたのかも・・・)

ともあれ、自分では思いつかないアイデアで、本当にすごく助かりました!

ありがとうございました。

その分、自分で役に立ちそうなトピックのところに、還元して帰ります(*^^*);;
seasoft
投稿日時: 2008/12/23 22:27
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: テンプレート内へのブロックのインクルード方法について
ちなみに

<!--{include file="`$smarty.const.USER_TEMPLATE_PATH`default/bloc/blocA.tpl"}-->

とかは、無理ですかね。


いや、根拠も何も無い勘ですので…
暇なときに、実験程度に試してみてください (他力本願でスイマセン)


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

tonton
投稿日時: 2008/12/24 0:04
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: テンプレート内へのブロックのインクルード方法について
>seasoft様

試してみましたよ。(^^//
こっちでも、大丈夫でした。

お二方のおかげで、問題解決できた上に勉強にもなりました。
ありがとうございます。
homan
投稿日時: 2008/12/24 9:33
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: テンプレート内へのブロックのインクルード方法について
アサインするのは他の箇所でも同じ変数$blocAを使うときに都合がいいと思うのですが、今回は一か所だけだと思うので、seasoftさんのやり方が直接的で分かりやすいですね。

こちらこそ勉強になりました


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

rz3
投稿日時: 2009/8/21 16:24
対応状況: −−−
新米
登録日: 2009/6/22
居住地:
投稿: 10
Re: テンプレート内へのブロックのインクルード方法について
お世話になっております。

新規に作ったサブカテゴリを表示するブロックを、
商品一覧のメインの中に表示させたいと思っています。

それでこちらのスレッドがあてはまるのかと思い、
管理画面から商品一覧のメイン部分に

<!--{include file="`$smarty.const.USER_TEMPLATE_PATH`default/bloc/subcategory.tpl"}-->

入れてみたのですが、うまくいきません。

エラーはなく、表示されたページのソースを見てみると追加したソースは消えてしまっています。

メインの上や下のブロックを表示する部分では、
きちんと表示されています。

根本的に何か違うような気もするのですが、見当がつきませんので、どうかよろしくお願いします。
rz3
投稿日時: 2009/8/27 17:11
対応状況: −−−
新米
登録日: 2009/6/22
居住地:
投稿: 10
Re: テンプレート内へのブロックのインクルード方法について
自己解決しましたので、ご報告します。

<!--{include file="`$smarty.const.USER_TEMPLATE_PATH`default/bloc/subcategory.tpl"}-->

ではなく、

<!--{include_php file=`$smarty.const.HTML_PATH`frontparts/bloc/subcategory.php}-->

で好きな場所にブロックを表示させることができました。
ありがとうございました。
masashi
投稿日時: 2010/10/14 11:52
対応状況: −−−
新米
登録日: 2009/9/1
居住地:
投稿: 3
Re: テンプレート内へのブロックのインクルード方法について
ちなみに
自分で作ったカスタムブロックを表示するには

<!--{include file="`$smarty.const.USER_TEMPLATE_PATH``$smarty.const.TEMPLATE_NAME`/`$smarty.const.BLOC_DIR`subcategory.tpl"}-->

で表示させられました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,865名です
総投稿数は109,998件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.