バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > その他 > プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rijye
投稿日時: 2020/8/6 18:50
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる
▼テンプレート
[EC-CUBE] 2.12.4
[OS] CentOS 6
[PHP] 5.5.38
[データベース] PostgreSQL 8.4.20
[WEBサーバ] apache
[ブラウザ] Firefox
[導入プラグインの有無] 有

いつもお世話になっております。

表題のままですが、導入プラグインに関わらず
プラグインがフックされるページ(.tpl)に、
<!--{php}-->
$this->_tpl_vars['xxx']
<!--{/php}-->
または
$_smarty_tpl->tpl_vars['xxx'];
が存在するとエラーとなります。

smartyで{php}はスマートではないかと思いますが、
エラーの原因がわからず困っております。

どなたか、解消方法などご教授頂けませんでしょうか。
何卒お願い申し上げます。
468
投稿日時: 2020/8/7 11:24
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる
<!--{php}-->
<!--{/php}-->
だけだとエラーにはならないという事でしょうか?

あと、該当の処理を記述しているテンプレートファイルは
プラグイン内のテンプレートファイルではなく
ECCUBE側のテンプレートファイルと言う事でしょうか?

プラグイン側でテンプレートファイルを改変するような処理がありますが
(SC_Helper_Transformクラスを利用)
そこで該当の記述がうまく処理できないのではないでしょうか?

webサーバのエラーログにPHPのエラーが出力されていたりしませんか?
そのエラーを見れば対応方法が何か見つかるかもしれません。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

rijye
投稿日時: 2020/8/7 12:06
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる
回答ありがとうございます。

引用:
<!--{php}--> <!--{/php}--> だけだとエラーにはならないという事でしょうか?


はい、なりませんでした。
試しに、

<!--{php}-->
echo "test";
$i = $i + 1;
echo $i;
<!--{/php}-->

なども問題ありません。

$this->_tpl_varsが絡むとエラーとなります。


エラーログには
syntax error, unexpected '&' on [/data/Smarty/templates_c/default/%%8D^8DE^8DE49E14%%list.tpl.php(6)]

と表示されます。(templates_cのクリアなども行っております)

カスタマイズはEC-CUBEのテンプレート側で行っておりますが、
記述場所自体は、プラグインの変更箇所(insertBeforeなど)にまったく関わらない部分です。

プラグイン側のtplに該当の処理を差し込んでみる方法はまだ試していないので、これからやってみたいと思います。

引き続きどうぞよろしくお願い致します。
468
投稿日時: 2020/8/7 12:25
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる
エラーが出たあと、エラーログに残っている
/data/Smarty/templates_c/default/%%8D^8DE^8DE49E14%%list.tpl.phpを確認されてみては如何でしょうか?

投稿いただいたログでいうと該当phpファイル(テンプレートをphpで処理できるように変換したファイルかと思います)の6行目を確認すると
構文エラーとなるような変換をされているのかもしれません。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

rijye
投稿日時: 2020/8/7 13:04
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
Re: プラグインが関係するtplファイルに$this->_tpl_varsがあるとエラーになる
引き続き返信ありがとうございます。

エラーの該当箇所は
$this->_tpl_vars
の行となります。

エラー状態のlist.tpl.phpは出力されないため、わからない状態です。

エラーページに飛ばされると勘違いしておりましたが、list.tpl.phpは出力されておりました。
どうやら
$this->_tpl_vars

$this-&gt;_tpl_vars
と変換されているのが原因のようです。

なぜプラグインが関与すると変換されるのかはまだわかりません。
プラグインが関与しないtplの場合は起こりません。

どうぞよろしくお願い申し上げます。
rijye
投稿日時: 2020/8/7 14:05
対応状況: −−−
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
追記
プラグインが動作すると、

<?php require_once(SMARTY_CORE_DIR . 'core.load_plugins.php');
smarty_core_load_plugins((
 ('plugins' => (((
 ('modifier', 'script_escape', '/data/Smarty/templates/default/products/list.tpl', 5, false),
( ('modifier', 'h', '/data/Smarty/templates/default/products/list.tpl', 51, false),
( ('modifier', 'strlen', '/data/Smarty/templates/default/products/list.tpl', 87, false),
( ('modifier', 'u', '/data/Smarty/templates/default/products/list.tpl', 138, false),
( ('modifier', 'sfNoImageMainList', '/data/Smarty/templates/default/products/list.tpl', 139, false),
( ('modifier', 'number_format', '/data/Smarty/templates/default/products/list.tpl', 179, false),)),
 $this); ?>


が読み込まれるようで、その内 modifire.h とmodifire.u が
エスケープ処理をしているようで、これを一時的にコメントアウトし、値をそのままリターン(return $string;)してみましたが変化はありませんでした。

取り急ぎ報告まで。
rijye
投稿日時: 2020/8/7 18:26
対応状況: 解決済
常連
登録日: 2012/6/12
居住地: 三重県
投稿: 62
解決?
助言頂きました、プラグインファイル内に
tpl_varsを記述してみた所、エラーなく動作しましたので、
無理やりではありますが、プラグインのtpl内に今までの処理を
書き加えて動作致しました。

プラグインを停止するとエラーになるなど
これでいいのかという感じではありますが、とりあえず報告致します。

やはり<!--{php}-->を使わず根本的に変える必要がありますね。

プラグインを動作させるとエスケープされる原因はわかりませんが、
とりあえず解決といたします。

色々とありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.