質問 > フロント機能 > デバックモードのエラーが解消できない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
takamichi |
投稿日時: 2021/5/14 11:08
対応状況: −−−
|
新米 登録日: 2020/12/21 居住地: 投稿: 8 |
デバックモードのエラーが解消できない ▼テンプレート
[EC-CUBE] 3.0.18 [レンタルサーバ] さくらサーバー [OS] macOS Big Sur 11.1 [PHP] 7.3.27 [データベース] MySQL 5.7.32 [WEBサーバ] Apache [ブラウザ] Google Chrome [現象] 対象のWebサイトのtop画面にてデバックモードにしたところ以下のエラーが出力していました。 Twig_Error_Runtime in Template.php line 487: Variable "hasTagId15" does not exist in "__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f" at line 354. 上記のエラーですが検索したり該当のソースコードの箇所を確認しては見ましたがどのように修正すればよいかわかりません。 また、デバックモードのタブにあるErrorsには2つ赤枠がありその内容が以下になります。 ERROR - Twig_Error_Runtime: Variable "hasTagId15" does not exist in "__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f" at line 354. (uncaught exception) at /home/m-checkup/www/eccube/vendor/twig/twig/lib/Twig/Template.php line 487 Context: {"exception":"Exception(Twig_Error_Runtime): Variable \"hasTagId15\" does not exist in \"__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f\" at line 354."} CRITICAL - Twig_Error_Runtime: Variable "hasTagId15" does not exist in "__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f" at line 354. (uncaught exception) at /home/m-checkup/www/eccube/vendor/twig/twig/lib/Twig/Template.php line 487 Context: {"exception":"Exception(Twig_Error_Runtime): Variable \"hasTagId15\" does not exist in \"__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f\" at line 354."} このエラーが原因なのかはわからないのですが管理画面上で各ページのtwigファイルを編集して更新すると「EC-CUBEシステムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示されてしまい変更した箇所をもどしてもエラー画面から抜け出せないという現象があります。 こちらに関してはFTPにてtwigファイルを編集することでエラー画面が出ることなく更新でき対応できたのですが今後、急にエラー画面になったりしないかと不安な為、デバッグモードにて発生しているエラーをなくしたいと考えております。 どなたかご教授の程よろしくお願い致します。 |
468 |
投稿日時: 2021/5/14 13:53
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: デバックモードのエラーが解消できない twig上で参照しているhasTagId15という変数が定義されていないというエラーなのですが
どういった記述でエラーが出ているのか分かりますでしょうか? /app/cache/以下にtwigをphpソースにコンパイルした __string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f というファイルがあり、その中身の354行目にhasTagId15を参照している記述があるのではないかと思います。 予想ですがPHPファイル(コントローラークラス)から変数を渡せていないのだと思いますので どのPHPファイルにその変数を取り扱う記述があるのか探す必要があると思います。
|
takamichi |
投稿日時: 2021/5/14 15:11
対応状況: −−−
|
新米 登録日: 2020/12/21 居住地: 投稿: 8 |
Re: デバックモードのエラーが解消できない 引用:
ご回答ありがとうございます。 hasTagId15という変数ですがdetail.twigに定義しているのを見つけました。以下の記載になります。 <div class="item__box-inspection"> {% if Product.ProductTag is not empty %} {% set hasTagId4 = false %} {% set hasTagId5 = false %} {% set hasTagId6 = false %} {% set hasTagId7 = false %} {% set hasTagId8 = false %} {% set hasTagId9 = false %} {% set hasTagId10 = false %} {% set hasTagId11 = false %} {% set hasTagId12 = false %} {% set hasTagId13 = false %} {% set hasTagId14 = false %} {% set hasTagId15 = false %} {% for ProductTag in Product.ProductTag %} {% if ProductTag.Tag.id == 4 %} {% set hasTagId4 = true %} {% elseif ProductTag.Tag.id == 5 %} {% set hasTagId5 = true %} {% elseif ProductTag.Tag.id == 6 %} {% set hasTagId6 = true %} {% elseif ProductTag.Tag.id == 7 %} {% set hasTagId7 = true %} {% elseif ProductTag.Tag.id == 8 %} {% set hasTagId8 = true %} {% elseif ProductTag.Tag.id == 9 %} {% set hasTagId9 = true %} {% elseif ProductTag.Tag.id == 10 %} {% set hasTagId10 = true %} {% elseif ProductTag.Tag.id == 11 %} {% set hasTagId11 = true %} {% elseif ProductTag.Tag.id == 12 %} {% set hasTagId12 = true %} {% elseif ProductTag.Tag.id == 13 %} {% set hasTagId13 = true %} {% elseif ProductTag.Tag.id == 14 %} {% set hasTagId14 = true %} {% elseif ProductTag.Tag.id == 15 %} {% set hasTagId15 = true %} {% endif %} {% endfor %} 特にエラーになるような原因が見つけられませんでした。 定義する場所が違うのでしょうか? また__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12 というファイルはなかったのですが上記の記載があるファイルが /app/cache/twig/profiler/mysite/1b 上記のディレクトリに1be8b08ddf696baeacf581928375edd7b77d0240da42080f097c535a20db566c.php という名前でありこのファイルでhasTagId15を呼び出していました。 このファイルに class __TwigTemplate_ff906dfe504f78185d16fc956dc5bba3995f23aac6d612671390e88208b26e39 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( ); } protected function doDisplay(array $context, array $blocks = array()) { $__internal_131576743d58f5be80763b8fb9a6379a7034159e28438ac05c40c85103567505 = $this->env->getExtension("Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"); $__internal_131576743d58f5be80763b8fb9a6379a7034159e28438ac05c40c85103567505->enter($__internal_131576743d58f5be80763b8fb9a6379a7034159e28438ac05c40c85103567505_prof = new Twig_Profiler_Profile($this->getTemplateName(), "template", "__string_template__dd4100aa7107b9a75fcc4564c5ba9cd2f33ff87bf26256e6c8e771080a1ca12f")); という記載があったのですがどこか修正する点はありますでしょうか? 以下、hasTagId15を記載している箇所です。 863行目 // line 354 echo " "; if (($context["hasTagId15"] ?? $this->getContext($context, "hasTagId15"))) { // line 355 echo " <span id=\"product_tag_box__product_tag--15\" class=\"product_tag_list\">細胞診</span> "; } 1284行目 {% if hasTagId15 %} <span id=\"product_tag_box__product_tag--15\" class=\"product_tag_list\">細胞診</span> {% endif %} 念の為354行目も記載しておきます。 // line 153 echo " <p class=\"kit__price\"> <span>"; 解決方法があればご教授願いたいです。 何卒よろしくお願い致します。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |