[Liquid]capture
{%- capture 変数名 -%}dummy520x390.jpg{%- endcapture -%}
{%- capture html_params -%} data-product="{{ product.id }}" data-variant="{{ variant.id }}" style="{{ html_style }}"{%- endcapture -%}
[Shopify]shopify公式カスタムフィールド
設定 > メタフィールド
商品
定義を追加する
全ての項目へ入力する
入力後保存する
保存後
Liquidコード
<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>
商品管理画面でカスタムフィールドへ入力
出力結果
[Liquid]税込税抜切替
tax-text.liquid
{%- if shop.taxes_included -%}(税込){%- else -%}(税抜){%- endif -%}
管理画面「設定 > 税金」の「すべての価格を税込価格で表示する」チェックならばshop.taxes_includedはtrue
[Liquid]コレクションページネーション
コレクションページネーション
{%- paginate collections[handle].products by collections[handle].all_products_count -%} {%- for product in collections[handle].products -%} //処理 {%- endfor -%} {%- endpaginate -%}
[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))")] ]);
[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 -%}
[Laravel]AES_DECRYPT
$record = DB::table('xxx') ->selectRaw("id,AES_DECRYPT(`yyy`,SHA2(:key1,512)) AS shop,AES_DECRYPT(`zzz`,SHA2(:key2,512)) AS token",['key1'=>env('DB_ENCRYPT_KEY'),'key2'=>env('DB_ENCRYPT_KEY')]) ->whereRaw("AES_DECRYPT(`yyy`,SHA2(:key,512)) = :yyy", ['key'=>env('DB_ENCRYPT_KEY'),'yyy'=>$yyy]) ->first();
[Liquid]商品ハンドルから商品オブジェクト取得
all_productsは最大20件の商品情報しか保持しないため、コレクションを使用する必要がある。
予め全商品を含みコレクションハンドル「created-descending」のコレクションを作成しておく
function_get_product_by_handle.liquid
{%- assign get_product_by_handle = nil -%} {%- paginate collections['created-descending'].products by collections['created-descending'].all_products_count -%} {%- for model_product in collections['created-descending'].products -%} {%- if model_product.handle == target_handle -%} {%- assign product = model_product -%} {%- break -%} {%- endif -%} {%- endfor -%} {%- endpaginate -%}
[PHP]idiorm #6 select_expr + AES_DECRYPT
define('DB_ENCRYPT_KEY','aabbccddeeff'); require_once __DIR__ . '/idiorm.php'; ORM::configure('mysql:host=localhost;dbname=xxxx'); ORM::configure('username', 'yyy'); ORM::configure('password', 'zzz'); ORM::configure('driver_options', [ PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ]); $email = "xxxx@gmail.com"; ORM::configure('logging', true); try{ $orm = ORM::for_table('users')->select("id")->select_expr("AES_DECRYPT(`email`,'".DB_ENCRYPT_KEY."')","email")->select_expr("AES_DECRYPT(`name`,'".DB_ENCRYPT_KEY."')","name"); $orm->where_raw("AES_DECRYPT(`email`,?) = ?",array(DB_ENCRYPT_KEY,$email)); $record = $orm->find_one(); }catch (PDOException $e){ return null; } echo "<pre>"; var_dump(ORM::get_last_query()); echo "</pre>"; if(!empty($record)) { echo "<pre>"; echo $record->id; echo $record->email; echo $record->name; echo "</pre>"; }