[Liquid]メニュー
{%- for link in linklists.sidemenu.links -%} {%- if link.links.size <= 0 -%} 子項目が無いとき {%- else -%} 子項目があるとき {%- for childlink in link.links -%} {%- endfor -%} {%- endif -%} {%- endfor -%}
{%- for link in linklists.sidemenu.links -%} {%- if link.links.size <= 0 -%} 子項目が無いとき {%- else -%} 子項目があるとき {%- for childlink in link.links -%} {%- endfor -%} {%- endif -%} {%- endfor -%}
{%- capture 変数名 -%}dummy520x390.jpg{%- endcapture -%}
{%- capture html_params -%} data-product="{{ product.id }}" data-variant="{{ variant.id }}" style="{{ html_style }}"{%- endcapture -%}
<a href="{{ product.url | within: collection }}"> <div class="image"><img src="{{ product.featured_image.src | img_url: 'large' }}" alt="{{ product.featured_image.alt | escape }}"></div> <h3>{{ product.title | escape }}</h3> {%- if product.metafields.my_fields.cf_text -%} <p>{{ product.metafields.my_fields.cf_text.value | escape }}</p> {%- else -%} <p>あいうえお</p> {%- endif -%} </a>
tax-text.liquid
{%- if shop.taxes_included -%}(税込){%- else -%}(税抜){%- endif -%}
管理画面「設定 > 税金」の「すべての価格を税込価格で表示する」チェックならばshop.taxes_includedはtrue
<form method="post" action="{{ routes.cart_add_url }}"> {%- for variant in product.variants -%} <input type="hidden" name="items[{{forloop.index0}}]id" value="{{ variant.id }}"> {{ variant.title | escape }}({{ variant.price | money_with_currency }})<input type="number" name="items[{{forloop.index0}}]quantity" value="1"><br> {%- endfor -%} <button type="submit">全バリエーションをカートへ入れる</button> </form>
・返金ポリシー
https://ドメイン/policies/refund-policy
・プライバシーポリシー
https://ドメイン/policies/privacy-policy
・利用規約
https://ドメイン/policies/terms-of-service
・配送ポリシー
https://ドメイン/policies/shipping-policy
・連絡先情報
https://ドメイン/policies/contact-information
・特定商取引法に基づく表記
https://ドメイン/policies/legal-notice
コントローラー
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Post; class PostController extends Controller { public function create(){ return view('post.create'); } public function store(Request $request){ $validated = $request->validate([ 'title' => 'required|max:20', 'body' => 'required|max:400', ]); $post = Post::create($validated); /* saveを使う場合 $post = new Post(); $post->title = $validated['title']; $post->body = $validated['body']; $post->save(); */ /* withを使わない場合 $request->session()->flash('message','保存しました'); return back(); */ return back()->with('message','保存しました'); } }
表示側
<div class="max-w-7xl"> @if(session('message')) <div class="text-red-600"> {{ session('message') }} </div> @endif <form method="post" action="{{ route('post.write') }}"> @csrf <div> <x-input-error :messages="$errors->get('title')" class="mt-2" /> <input type="text" name="title" class="w-auto py-2 border border-gray-300 rounded-md" id="title" value="{{old('title')}}"> </div> <div> <x-input-error :messages="$errors->get('body')" class="mt-2" /> <textarea name="body" class="w-auto py-22 border border-gray-300 rounded-md" id="body" cols="30" rows="5">{{old('body')}}</textarea> </div> <x-primary-button>{{ __('送信する') }}</x-primary-button> </form> </div>
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Post; class PostController extends Controller { public function create(){ return view('post.create'); } public function store(Request $request){ $post = Post::create([ 'title' => $request->title, 'body' => $request->body ]); return back(); } }
コレクションページネーション
{%- paginate collections[handle].products by collections[handle].all_products_count -%} {%- for product in collections[handle].products -%} //処理 {%- endfor -%} {%- endpaginate -%}