バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > テンプレートから直接blocを呼び出す(2.11バージョン)

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
puffiy
投稿日時: 2011/4/6 15:33
対応状況: −−−
半人前
登録日: 2010/11/4
居住地:
投稿: 11
テンプレートから直接blocを呼び出す(2.11バージョン)
header.tplなどのテンプレートファイルから
cart.phpなどのblocを直接読み込みたいのですが、
バージョンが2.11の為か、今までのようにうまくいきません。

2.4では以下のような記述で読み込めたのですが
<!--{include_php file=`$smarty.const.HTML_PATH`frontparts/bloc/search_products.php}-->



参考にしたスレッド
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3208&forum=10


ご存知の方がいらっしゃいましたら宜しくお願い致します。

AMUAMU
投稿日時: 2011/4/6 15:54
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
2.11.x系でも同じように読み込めますが、HTML_PATHという定義は無くなっています。
同等と思われるものは ROOT_URLPATH になるかなと思います。
エラーログを頼りに確認されると良いと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

puffiy
投稿日時: 2011/4/6 16:22
対応状況: −−−
半人前
登録日: 2010/11/4
居住地:
投稿: 11
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
ご返信有難うございます。


早速こちらをheader.tplに記述してみましたが、何も表示されませんでした。
<!--{include_php file=`$smarty.const.ROOT_URLPATH`frontparts/bloc/search_products.php}-->


試しにheader.tplに以下のように記述を行い
URLを書き出し、ページが存在するか確認しましたが問題はありませんでした。
<!--{$smarty.const.ROOT_URLPATH}-->frontparts/bloc/search_products.php

記述に誤りが御座いますでしょうか?



以下は解る範囲で環境を書いてみました。

[EC-CUBE]    2.11 新規インストール
[PHP]        PHP 5.2.9
[データベース]    MySQL 5.1.33
[WEBサーバ] Apache HTTPD 2.2.11 + Openssl 0.9.8i



ご存知の方がいらっしゃいましたら、宜しくお願い致します。m(__)m
ikaika
投稿日時: 2011/4/7 16:13
対応状況: −−−
半人前
登録日: 2011/4/5
居住地: 東京
投稿: 16
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
2.11.0では、
<!--{include_php file=`$smarty.const.HTML_REALDIR`frontparts/bloc/search_products.php}-->
を指定することで呼べるようです。

HTML_REALDIRは、/html/を指しているので、
ROOT_URLPATHと変わらないようですが、
なぜかROOT_URLPATHでは呼べないようですね・・・


----------------
フォクトサービス株式会社

puffiy
投稿日時: 2011/4/7 16:24
対応状況: −−−
半人前
登録日: 2010/11/4
居住地:
投稿: 11
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
ikaika様

ご返答有難うございました!

そのままをheader.tplに張り付けたところ
問題なく表示されました!


本当に助かりました!!
有難うございましたm(__)m
ymym
投稿日時: 2011/4/28 13:09
対応状況: −−−
新米
登録日: 2011/4/28
居住地:
投稿: 1
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
2.11.1にバージョンアップしたら、出来なくなりました。
色々試したのですが・・・
DhB
投稿日時: 2011/6/9 14:45
対応状況: −−−
新米
登録日: 2011/6/9
居住地:
投稿: 1
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
2.11.1でlogin_header.phpをheader.tplに直接呼びだせなくて四苦八苦していたところ、こちらの記事を見て2.11.0では導入できたということで、何が変わったのか探してみました。

v2.11.0
data/class/pages/frontparts/bloc 内の

LC_Page_FrontParts_Bloc_LoginHeader.php 
function init() {
parent::init();
$this->setTplMainpage('login_header.tpl');
}

v2.11.1
data/class/pages/frontparts/bloc 内の

LC_Page_FrontParts_Bloc_LoginHeader.php
function init() {
parent::init();
}

の箇所を比べると
$this->setTplMainpage('login_header.tpl');
が無くなっているようです。

ブロック周りで変更点があったようなのでその辺でなくなったのかもしれませんが。

代わりに
html/frontparts/bloc の
login_header.php を

$objPage->init();
$objPage->setTplMainpage('login_header.tpl');
$objPage->process();

と init()とprocess()の間に無くなった「setTplMainpage」設定を書き、別名で保存。

テンプレートに
<!--{include_php file=`$smarty.const.HTML_REALDIR`frontparts/bloc/変更した別名ファイル}-->
と書くと表示されるようになりました。
(ファイルは別名にしなくても直接変更してもいいかもしれませんが、念のために別ファイルにしてみました。)

search_products.php 等も同じようにいけると思います。
ougi
投稿日時: 2013/12/19 9:23
対応状況: −−−
新米
登録日: 2013/12/19
居住地:
投稿: 7
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
ご投稿のようにやってみましたら、以下のようなErrorが出て表示されません。ご教授頂ければありがたいです。

2013/12/19 07:17:47 [/index.php] Warning(E_USER_WARNING): Smarty error: unable to read resource: "/home/kankinsjp/www.kankins.jp/eccube/html/../data/Smarty/templates/default/frontparts/bloc/" on [/home/kankinsjp/www.kankins.jp/eccube/data/module/Smarty/libs/Smarty.class.php(1093)] from 126.31.241.168

Versionは、以下です。
EC-CUBEバージョン 2.12.5
PHPバージョン PHP 5.3.17
DBバージョン MySQL 5.5.28

よろしくお願い致します。
tsuji
投稿日時: 2013/12/19 9:43
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
まず最初に、この投稿で話し合われているのは、EC-CUBEのバージョン2.11での方法ですので、EC-CUBE2.12以降のバージョンでは直接適用できるものではない可能性があります。

エラーを見てみますと、「/home/kankinsjp/www.kankins.jp/eccube/html/../data/Smarty/templates/default/frontparts/bloc/」のファイルが読み込めないとあります。
blocへのパスの指定の仕方が間違っているものと思います。

どのように、パス指定をされたのか記述していただけますでしょうか?
ougi
投稿日時: 2013/12/19 19:40
対応状況: −−−
新米
登録日: 2013/12/19
居住地:
投稿: 7
Re: テンプレートから直接blocを呼び出す(2.11バージョン)
大変御世話になります。
Topページのindex.tplに以下の様に記述しました。
<!–{include_php file=`$smarty.const.HTML_REALDIR`frontparts/bloc/recommend.php}–>

よろしくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1291
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.