バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuri
投稿日時: 2022/10/2 11:18
対応状況: −−−
新米
登録日: 2022/10/1
居住地:
投稿: 2
Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。
▼テンプレート
[EC-CUBE] 最新

[レンタルサーバ] MAMPを使ってローカル環境でカスタマイズ中

[OS] MAC

[PHP] 7.4.21

[データベース] MySQL

[WEBサーバ] なし

[ブラウザ] Chrome

[導入プラグインの有無] なし

[カスタマイズの有無]
ヘッダーのデザインを変更するために新規ブロックを作成しています。

[現象] デフォルトのブロックである
・商品検索(search_product.twig)
・カテゴリナビ(PC)(category_nav_pc.twig)
・カート(cart.twig)
・ロゴ(logo.twig)

の4つのコードから必要な部分をコピーして組み合わせながら新しいブロックを作成したのですが、
レイアウト管理➡︎TOPページ用レイアウト➡️#headerに、作ったブロックを配置して表示しようとすると、
Variable "form" does not exist.
のエラーが出てしまいました。
商品検索(search_product.twig)のコードをコピーした中の
{% form_theme form.multiple 'Form/form_div_layout.twig' %}
の部分がエラーの原因のようなのですが、どうしても自力で解決することができず質問させていただきました。
以下にオリジナルブロックのコードを記載いたしますので、ご教授いただけると幸いです。よろしくお願いいたします。


<heaader class="header">

<div class="header-inner">

 {# ******************************
          ロゴ
  ******************************  #} 


  <div class="my-ec-headerRole">
    <div class="my-ec-headerRole__title">
        <div class="my-ec-headerTitle">
            <div class="my-ec-headerTitle__title">
                <h1>
                    <a href="{{ url('homepage') }}">
                        {{ BaseInfo.shop_name }}
                    </a>
                </h1>
            </div>
        </div>
    </div>
</div>









{#  ******************************
          カテゴリナビ(PC)
  ******************************  #} 
{% set Categories = repository('Eccube\\Entity\\Category').getList() %}

{% macro tree(Category) %}
    {% from _self import tree %}
    <a href="{{ url('product_list') }}?category_id={{ Category.id }}">
        {{ Category.name }}
    </a>
    {% if Category.children|length > 0 %}
        <ul>
            {% for ChildCategory in Category.children %}
                <li>
                    {{ tree(ChildCategory) }}
                </li>
            {% endfor %}
        </ul>
    {% endif %}
{% endmacro %}

{# @see https://github.com/bolt/bolt/pull/2388 #}
{% from _self import tree %}

  <div class="my-ec-categoryNaviRole">
    <div class="my-ec-itemNav">
      <ul class="my-ec-itemNav__nav">
                    {% for Category in Categories %}
                <li>
                    {{ tree(Category) }}
                </li>
            {% endfor %}
      </ul>
    </div>
  </div>




   {# ******************************
          商品検索
  ******************************  #} 

{% form_theme form 'Form/form_div_layout.twig' %}

  <div class="my-ec-headerSearch">
    <form method="get" class="my-searchform" action="{{ path('product_list') }}">
      <div class="my-ec-headerSearch__keyword">
        <div class="my-ec-input">
         {{ form_widget(form.name, {'id': null, 'attr': {'class': 'my-search-name', 'placeholder' : 'Search' }} ) }}
          <button class="my-ec-headerSearch__keywordBtn" type="submit">
            <div class="my-ec-icon">
              <i class="fas fa-search"></i>
            </div>
          </button>
        </div>
      </div>
    </form>
  </div>



  {#  ******************************
          カート
  ******************************  #} 

{% set Carts = get_all_carts() %}
{% set totalPrice = get_carts_total_price() %}
{% set totalQuantity = get_carts_total_quantity() %}

  <div class="my-ec-cartNaviWrap">
    <div class="my-ec-cartNavi">
        <i class="my-ec-cartNavi__icon fas fa-shopping-cart">
            <span class="my-ec-cartNavi__badge">{{ totalQuantity|number_format }}</span>
        </i>
        <div class="my-ec-cartNavi__label">
            <div class="my-ec-cartNavi__price">{{ totalPrice|price }}</div>
        </div>
    </div>

        {% if totalQuantity > 0 %}
        <div class="ec-cartNaviIsset">
            {% for Cart in Carts %}
                {% for CartItem in Cart.CartItems %}
                    {% set ProductClass = CartItem.ProductClass %}
                    {% set Product = ProductClass.Product %}
                    <div class="ec-cartNaviIsset__cart">
                        <div class="ec-cartNaviIsset__cartImage">
                            <img src="{{ asset(Product.MainListImage|no_image_product, 'save_image') }}" alt="{{ Product.name }}">
                        </div>
                        <div class="ec-cartNaviIsset__cartContent">
                            <div class="ec-cartNaviIsset__cartContentTitle">{{ Product.name }}
                                <div class="ec-font-size-1">
                                    {% if ProductClass.ClassCategory1 and ProductClass.ClassCategory1.id %}
                                        {{ ProductClass.ClassCategory1.ClassName.name }}:{{ ProductClass.ClassCategory1 }}
                                    {% endif %}
                                    {% if ProductClass.ClassCategory2 and ProductClass.ClassCategory2.id %}
                                        <br>{{ ProductClass.ClassCategory2.ClassName.name }}:{{ ProductClass.ClassCategory2 }}
                                    {% endif %}
                                </div>
                            </div>
                            <div class="ec-cartNaviIsset__cartContentPrice">
                                {{ CartItem.price|price }}
                                <div class="ec-cartNaviIsset__cartContentTax">{{ '税込'|trans }}</div>
                            </div>
                            <div class="ec-cartNaviIsset__cartContentNumber">{{ '数量'|trans }} {{ CartItem.quantity|number_format }}</div>
                        </div>
                    </div>
                {% endfor %}
            {% endfor %}
            <div class="ec-cartNaviIsset__action">
                <a class="ec-blockBtn--action" href="{{ url('cart') }}">{{ 'カートへ進む'|trans }}</a>
                <a class="ec-blockBtn ec-cartNavi--cancel">{{ 'キャンセル'|trans }}</a>
            </div>
        </div>
    {% else %}
        <div class="ec-cartNaviNull">
            <div class="ec-cartNaviNull__message">
                <p>{{ '現在カート内に商品はございません。'|trans }}</p>
            </div>
        </div>
    {% endif %}
    </div>



  </div><!-- header-inner -->
  </heaader>

erukun
投稿日時: 2022/10/2 18:24
対応状況: −−−
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
Re: Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。
こちらですか?

動的ブロック
yuri
投稿日時: 2022/10/3 10:12
対応状況: −−−
新米
登録日: 2022/10/1
居住地:
投稿: 2
Re: Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。
ありがとうございます。

動的ブロックはそのままでは新規作成できないのでしょうか?

コントローラーの作成は必須になりますか?
erukun
投稿日時: 2022/10/15 11:06
対応状況: −−−
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
Re: Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。
ごめんなさい。自分もそんな畑違いなので良く解っておりませんが、コピペはダメだったかと記憶しています。


新規ブロックはデフォルトであれば静的ブロック扱いだと思います。


自分の環境ではCustomizeディレクトリで失敗した(認識できなかった)ので通常のSRCディレクトリを触った記憶が有ります。


引用:
新規作成したブロックの「user_controller」を「0」から「1」に変更します。
これが「1」になっていることで、EC-CUBEでは動的ブロックとして扱われます。



解決されていれば良いのですが。。。
sfujiya
投稿日時: 2022/10/18 7:06
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 54
Re: Variable "form" does not exist.のエラーの原因が分からないので教えてほしい。
商品検索用のformがControllerから渡されていないのが原因かと思います。
Controllerで商品検索用のformを作成し、該当のtwigに渡してあげれば解消するかと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,721名です
総投稿数は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.