▼テンプレート
[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>