バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > eccubeのphpファイル内でのインクルード文に関してのご質問

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bio
投稿日時: 2016/3/27 0:25
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
eccubeのphpファイル内でのインクルード文に関してのご質問
eccube ver3系

お世話になります。eccubeの全般的な質問になると思います。

Eccubeでtplファイルのインクルード文は以下の記述になりますが、

<!--{include file="`$smarty.const.TEMPLATE_REALDIR`new_products_include.tpl"}-->


phpファイル(クエリーの条件文が多いためインクルードしたい)でのインクルード文はどのような記述にすればよろしいのでしょうか。

デフォルトの設定で何か参考にできる記述はございませんでしょうか。
bio
投稿日時: 2016/3/30 15:16
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
お世話になっております。

新たに設定したブロックを呼び出すphpファイル内で使うクエリーのwhere句でif、elseifを多用して条件分岐をしています。その条件分岐が多すぎる、および他のファイルでも使用可能という理由からインクルードにしました。phpファイル(LC_Page_FrontParts_Bloc_Product_List.php)内から*自作したif,elseif文を多用したインクルードファイルを呼び出すための正しい記述方法をお教え願いませんでしょうか。

以下は試したインクルードの記述とエラーメッセージ。

?
<!--{include_php file=$smarty.const.HTML_PATH|cat:"pages/frontparts/test.php"}-->

上記の記述では以下のようなエラーメッセージが出ます。
error(E_PARSE): syntax error, unexpected '<' on [/var/www/vhosts/xxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(136)] from
customer_id =

?
include(‘/frontparts/test.php’);

上記の記述では
2016/03/30 14:27:17 [/products/detail.php] Warning(E_WARNING): include(/frontparts/test.php) [<a href='function.include'>function.include</a>]: failed to open stream: そのようなファイルやディレクトリはありません on [/var/www/vhosts/xxxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(137)] from
2016/03/30 14:27:17 [/products/detail.php] Warning(E_WARNING): include() [<a href='function.include'>function.include</a>]: Failed opening '/frontparts/test.php' for inclusion (include_path='/var/www/vhosts/xxxxx/httpdocs/data/module:.:') on [/var/www/vhosts/xxxxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(137)] from

* Test.php(自作したインクルードファイル内の内容)

<?php

If {
}else if {
}else if {
}else if {
}else if {
・・
・・
}

?>
red
投稿日時: 2016/3/30 15:59
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
<!--{include_php}-->
http://www.smarty.net/docsv2/ja/


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2016/3/30 16:31
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
Red様

ご連絡感謝いたします。

<!--{include_php}-->を利用するということでしょうか。それではおそらく最初のエラーのunexpected '<'がでると思われます。

ですのでhttp://www.smarty.net/docsv2/ja/を参考に以下を試しましたが、

{php}
include('/frontparts/test.php');
{/php}

以下の様なメッセージが出ます。

2016/03/30 [/products/detail.php] Fatal error(E_PARSE): syntax error, unexpected '}' on [/var/www/vhosts/xxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(138)] from
customer_id =

本サイトの過去のスレッド全てを試しましたが、エラーメッセージがでます。

具体的記述方法をご教授頂けませんでしょうか。
red
投稿日時: 2016/3/30 16:52
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
<!--{include_php file=$smarty.const.HTML_REALDIR|cat:"test.php"}-->
で動きました

EC-CUBE2.13で確認してます


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2016/3/30 17:54
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
Red様

お時間を頂きまして本当に感謝いたします。
試しましたが、やはりsyntax error, unexpected '<' のエラーが出ます。

**状況を確認しますと、新設ブロックの抽出phpファイルの以下の様な$where句の直下に位置します。何かお分かりになりますでしょうか。

$objQuery = new SC_Query_Ex();
// 商品一覧を取得
$col
$from
$where = $_GET['product_id'].'!= T1.product_id and T2.del_flg = 0 and T1.class_id IN (?)'; // $arrval で指定するカテゴリIDの数だけ ? を増やす

if ($_GET['category_id'] == 'env') {
<!--{include_php file=$smarty.const.HTML_REALDIR|cat:"test.php"}-->
}else if{


* Test.php(自作したインクルードファイル内の内容)

<?php

If {
$arrval = Array(xxx);
}else if {
$arrval = Array(xxx);
}else if {
$arrval = Array(xxx);
}else if {
$arrval = Array(xxx);
}else if {
・・
}

?>
red
投稿日時: 2016/3/30 18:41
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
phpの中で<!--{include_php file=$smarty.const.HTML_REALDIR|cat:"test.php"}-->を書いても動くわけないような・・・?


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2016/3/30 19:16
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
Red様

お時間頂きまして感謝致します。
また私の説明不足で申し訳ございません。

本件の様なケースの場合(phpファイル内での外部のphpファイルを呼び出すインクルード文)、具体的にどのような記述にすれば宜しいか、事例等はございませんでしょうか。いろいろと試しましたが前述の様なエラーが出ます。
red
投稿日時: 2016/3/30 19:23
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
PHPで呼び出すのであれば
?
include(‘/frontparts/test.php’);

上記の記述では
2016/03/30 14:27:17 [/products/detail.php] Warning(E_WARNING): include(/frontparts/test.php) [<a href='function.include'>function.include</a>]: failed to open stream: そのようなファイルやディレクトリはありません on [/var/www/vhosts/xxxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(137)] from
2016/03/30 14:27:17 [/products/detail.php] Warning(E_WARNING): include() [<a href='function.include'>function.include</a>]: Failed opening '/frontparts/test.php' for inclusion (include_path='/var/www/vhosts/xxxxx/httpdocs/data/module:.:') on [/var/www/vhosts/xxxxxx/httpdocs/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php(137)] from

これが正解です
このエラーは、「そのようなファイルやディレクトリはありません」と書いてあるように、パスが間違っているためです

include(HTML_REALDIR . ‘/frontparts/test.php’);
とかになるんじゃないでしょうか


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

bio
投稿日時: 2016/3/30 21:48
対応状況: 解決済
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: eccubeのphpファイル内でのインクルード文に関してのご質問
Red様

できました。red様のご教授を受け、パスの設定に問題があるという観点からいろいろと調べておりましたら以下の記述にたどり着きました。

Test.phpはブロック用のphpファイルと同じディレクトリに配置しました。この記述で想定どおり機能しているように思われます。

幾度となく返信、そしてご教授頂きまして、感謝の限りでございます。本当にありがとうございます。

include(dirname(__FILE__).'/test.php');
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.