バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > テンプレートから直接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
居住地:
投稿: 863
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ペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,476名です
総投稿数は97,266件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2494
4
nanasess
2089
5
umebius
1650
6
yuh
1612
7
red
1411
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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