[Liquid]税込税抜切替

tax-text.liquid

{%- if shop.taxes_included -%}(税込){%- else -%}(税抜){%- endif -%}

管理画面「設定 > 税金」の「すべての価格を税込価格で表示する」チェックならばshop.taxes_includedはtrue

[Liquid]formタグで全バリエーションを一度にカートへ入れる

<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>

[Shopify]ポリシーページURL一覧

・返金ポリシー
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

[Laravel][備忘録]バリデーション

コントローラー

<?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>

[Laravel][備忘録]POSTリクエストの内容をDBへ保存

<?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();
    }
}

[Laravel]AES_ENCRYPT

$result = DB::table('users')->insert([
                ['email' => \DB::raw("AES_ENCRYPT('{$xxx}',SHA2('".env('DB_ENCRYPT_KEY')."',512))"), 'token' => \DB::raw("AES_ENCRYPT('{$yyy}',SHA2('".env('DB_ENCRYPT_KEY')."',512))")]
            ]);

[Shopify]テーマに画像設定項目を設置

config/settings_schema.jsonへ下記を追記

[
  {
    "name": "xxx",
    "theme_name": "xxx",
    "theme_version": "xxx",
    "theme_author": "xxx",
    "theme_documentation_url": "https:\/\xxx",
    "theme_support_url": "https:\/\/yyy"
  }
//---------ここから---------
  ,{
    "name": "トップページ",
    "settings": [
      {
        "type": "image_picker",
        "id": "main_image",
        "label": "メイン画像",
        "info": "メイン画像です"
      }
    ]
  }
//--------ここまでを追記-----------
]

 
画像を表示したい場所へ下記コードを追記

{% if settings.main_image != blank %}<img src="{{ settings.main_image.src | image_url: width: 1040, format: 'pjpg' }}">{% endif %}

[Shopify]コレクション内商品をタグでフィルタ

パターン1
URLが「/collections/new/」のコレクションがある時、下記のURLでは「タグ」が付与された商品のみが一覧に表示される

/collections/new/タグ

 
パターン2
下記のURLでは「タグ1」「タグ2」両方付与された商品のみが一覧に表示される

/collections/new/タグ1+タグ2

[Liquid]会員登録、ログイン

{%- if shop.customer_accounts_enabled -%}
    {%- if customer -%}
    <a href="{{ routes.account_url }}">会員情報</a>
    <a href="{{ routes.account_logout_url }}">ログアウト</a>
    {%- else -%}
    <a href="{{ routes.account_register_url }}">会員登録</a>
    <a href="{{ routes.account_login_url }}">ログイン</a>
    {%- endif -%}
{%- endif -%}