特集ページは、「掲載したい商品の番号」と「商品の見せ方」を組み合わせて作られています。商品名や価格を、毎回手で入力する仕組みではありません。また、特集の商品掲載は基本的にこのテンプレートをベースに作成し、工数を削減するために使用します。
1 / 選ぶ載せたい商品の番号を書くcodes に、商品番号を並べます。
→
2 / ひもづけるどの商品かを指定するproduct_{{ code }} が、商品情報を取り出す目印になります。
→
3 / 表示する名前や価格が入る[=name=] などが、その商品の情報に置き換わります。
最初は、この3つの言葉だけ
参照:添付コード 30–36行・145–158行・191–202行/商品情報の取得方法についてのユーザー補足
自分が編集する一覧を見て、次のどちらかを確認します。形に合わせて、セットで使う行が違います。
番号だけの一覧['3842', '726031', '8706']番号だけを並べる書き方です。
この章の手順で変更します。
設定も付いている一覧{'726029': {'new': 1, ...}}番号の横に new や flg があります。
03「商品ごとに目印を変える」へ進みます。
まずは「1商品を別の商品に替える」
- 変更する一覧を見つける
例では、3842・726031・8706 の3商品が入っています。
- 替えたい番号だけ書き換える
726031 を 3181 に替えるなら、下の黄色い部分だけを変更します。
- 表示を確認する
商品名・画像が替わっているか、手書きのコピーが元の商品のままになっていないかを確認します。
変更前
{% set codes = ['3842', '726031', '8706'] %}
黄色:今回変更する部分変更後:726031 を 3181 に変更
{% set codes = ['3842', '3181', '8706'] %}
黄色:今回変更する部分以下の例は、それぞれ最初の3商品(3842・726031・8706)から変更する例です。順番に続けて適用するものではありません。
商品を1つ追加したい
最後に 3026 を追加する例です。隣の番号との間に、半角のカンマを入れます。
変更後:3026 を末尾に追加
{% set codes = ['3842', '726031', '8706', '3026'] %}
黄色:今回変更する部分商品枠を自分で何個もコピーするのではなく、この一覧に番号を追加します。ただし、終売などの条件によって表示されない商品もあります。
商品の順番を替えたい
8706 を先頭にする例です。番号を書いた順番が、商品枠を作る順番になります。表示条件に合わない商品は出ない場合があります。
変更後:8706 → 3842 → 726031
{% set codes = ['8706', '3842', '726031'] %}
黄色:今回変更する部分商品を1つ外したい
726031 を一覧から外す例です。番号と、その前後どちらかのカンマを一緒に消し、残った番号の間にカンマが1つある形にします。
変更後:726031 を一覧から削除
{% set codes = ['3842', '8706'] %}
これは特集の掲載対象から外す操作です。商品自体を削除したり、終売に設定したりする指示ではありません。
codes が見つからないとき(B・Cなど)
商品番号を一覧にせず、商品枠へ直接書いている例もあります。その場合は、始まりと終わりの2か所を同じ番号に変更します。
位置を説明する例・この3行で元の枠を置き換えない
<div class="pickupProduct" id="product_8400">
<!-- この間に元の商品表示コードがあります -->
</div><!-- product_8400 -->
例えば 8400 を 3181 に替える場合、両方の product_8400 を product_3181 に変更します。中の商品表示コードは残します。
参照:添付コード:A 30–36行、B 276–366行、C 382–497行/変更例は同じ書き方を使った説明用の例
番号の横に {'new': 1, 'flg': true} がある場合は、商品番号と、その商品用の設定が1セットになっています。
1商品の設定を取り出して見る例
'726029': {'new': 1, 'flg': true}
設定を変える例:🌟と🐶をやめて、🌙にする
変更前:🌟 + 🐶
'726029': {'new': 1, 'flg': true}
黄色:今回変更する部分変更後:🌙のみ。既存の該当部分を変更
'726029': {'new': 2, 'flg': false}
黄色:今回変更する部分true は「付ける」、false は「付けない」と読み替えれば大丈夫です。ここでは小文字のまま、引用符を付けずに使います。
この一覧では、for の行に data が付く
{% for code, data in codes %}と書いて、商品番号と追加設定の両方を受け取ります。既存のこの行は、そのまま残します。
設定と商品表示の組み合わせ全体を見る(詳しい説明)
仕組みを見るための短い例・ページ全体の貼り替え用ではない
{% set codes = {
'726029': {'new': 1, 'flg': true},
'726031': {'new': 1, 'flg': true},
'3181': {'new': 0, 'flg': true}
} %}
{% for code, data in codes %}
<div id="product_{{ code }}" class="pickupProduct">
<p>[=name=]</p>
{% if data.new == 1 %}
🌟
{% elseif data.new == 2 %}
🌙
{% endif %}
{% if data.flg %}
🐶
{% endif %}
</div><!-- product_{{ code }} -->
{% endfor %}
code が商品番号、data がその横の設定です。data.new は「その商品の new の値を見る」、data.flg は「その商品の flg の値を見る」という意味です。
設定付きの一覧で、追加・削除・並び替えをしたい
商品番号だけでなく、横の設定まで1行まとめて扱います。追加する場合は1商品の行をコピーし、番号と設定値を変更します。
追加例:8706 は目印なし。必要な商品だけで一覧を作る
{% set codes = {
'726029': {'new': 1, 'flg': true},
'726031': {'new': 1, 'flg': true},
'8706': {'new': 0, 'flg': false}
} %}
黄色:今回変更する部分各商品の行と行の間にはカンマが必要です。削除するときも、カンマが重なったり、なくなったりしないよう確認します。並び替えるときは、その商品の設定を一緒に移動します。
番号の後ろに _a・_b・_detail などが付いている
元コードには 726029_a や product_726029_detail のように、商品番号へ追加の文字を付けた例があります。通常の品番だけの記述と同じように、末尾を削除しないでください。
開始の id と終了コメントは、追加の文字も含めて一致させます。移動先として使われている場合は、リンク側の指定も合わせて確認します。
参照:添付コード 145–158行・181–202行・255–259行・499–614行
このテンプレートには、「ここから始まり、ここで終わる」というセットがあります。片方だけを消さないことが重要です。
いちばん重要:1商品分の「始まり」と「終わり」
始まり<div id="product_{{ code }}" class="pickupProduct">どの商品の情報を使うかを示す目印。
商品情報<p>[=name=]</p>この間に、商品名・画像・価格などの表示を置く。
終わり</div><!-- product_{{ code }} -->閉じるタグだけでなく、その後ろのコメントまでセット。
始まりが product_726029_detail なら、終わりも product_726029_detail にします。div ではなく li を使う例でも、始まりと終わりをそろえる考え方は同じです。
ほかにも、セットで残すものがある
set は「一覧などを設定する行」です。for は「ここから繰り返す」、endfor は「繰り返しはここまで」と読みます。
{{ code }} と [=code=] は、何が違う?
商品番号を替えるときは、これらを実際の番号へ一括置換するのではなく、02・03の一覧を変更します。番号が商品枠へ直接書かれている方式は、02の補足に従います。
参照:開始・終了をセットで残すルール:ユーザー補足/添付コード 30–40行・77–102行・131–132行・156–202行・639–655行
画面に見えている情報には、商品情報から自動で入るものと、このページに直接書いてあるものがあります。
自動で入るもの商品名・価格・規格など
[=name=]・[=unit_price=]・[=specification=] など。通常は、この記述を残します。
直接書いてあるもの特集タイトル・紹介文・コピーなど
「いちご特集」などの文章。商品を替えても自動では替わらないため、内容を確認して書き換えます。
よく使う [= ... =] の意味を知りたい
例えば <p>[=name=]</p> は「ここに商品名を表示する」という意味です。商品名を替えるために、この文字列を手入力の商品名へ置き換えないようにします。
画像を替えたい:画像の種類を確認する
まず、いまの画像がどの書き方かを確認します。
path は「画像を探すフォルダ」の指定
添付コードのBパターンでは、次の組み合わせになっています。
添付コードからの抜粋・既存の保存先に合わせて使用
[=path('newproduct/2610/')=]
<img src="[=image=]" alt="商品画像" />
newproduct/2610/ は、/material/feature/ の下にある保存場所です。フォルダ名を替えるだけで画像が作られるわけではありません。その場所に必要な画像があるか確認します。
メイン画像は、幅によって使う画像が違う
添付コードの <picture> は、幅964px以上では slider.jpg、それ未満では thumbnails.jpg を使う指定です。紹介文にも pc_only と sp_only の別記述があります。片方だけ更新して終わらせず、両方を確認します。
画像の切り替え条件は添付コードで確認できます。各クラスの実際の見え方は、別ファイルのCSSにも依存します。
価格が出ない/カートやサンプルのボタンを確認したい
添付コードでは、価格をログインしている人にだけ表示するように書かれています。未ログインで金額が出ないだけなら、コードの誤りとは限りません。
読み方の例:元コードで使われている組み合わせ
[=if is_login=]
[=cart_nf=]
[=else=]
[=login=]
[=endif=]
上の例は「ログイン済みならカート、そうでなければログインボタンを表示する」という意味です。if は「もし〜なら」、else は「そうでなければ」、endif は「ここまで」と読みます。
価格や注文ボタンの外側にある [=if is_login=] を外す変更は、表示の小修正として扱わず、担当者へ確認します。
終売・欠品・SALEは、どう区別する?
終売と欠品は別の項目です。また、is_sale は「SALE表示」ではなく「販売中」です。添付コードのAなどは、is_sold_out を見て商品を隠すように書かれています。
参照:仕様.xlsx「特集ページ用 パーツ」C3–D12・G3–H14・C20–H48/同「特集ページ用 サンプル1」J2/添付コード 9–19行・77–102行・278–284行・418–425行
タブ:そのタブに載せるかを true / false で決める
tab_codes は、商品ごとに「どのタブへ載せるか」をまとめた一覧です。タブは、ページ内の「タブ1」「タブ2」のような切り替えボタンです。
読み方の例:726029 の表示先
'726029': {'tab1': true, 'tab2': true, 'tab3': false}
タブ用の true は「そのタブに載せる」、false は「そのタブには載せない」です。03の flg と同じ単語でも、何を切り替えるかは設定名によって違います。
タブを表示している部分を見分けたい
タブ1の外側の形・中の商品枠は省略した説明用の例
{% for code, data in tab_codes|filter(v => v.tab1) %}
<!-- この間に元の商品枠があります -->
{% endfor %}
filter(...tab1) は「タブ1に載せる設定の商品だけ選ぶ」という部分です。この行や中の商品枠は残して、通常は上の tab_codes の設定を変更します。
それぞれの tab1・tab2 は対応しています。ボタンの名前だけでなく、こうした目印もあるため、タブ追加は設定一覧の変更だけでは完了しません。
「商品一覧に戻る」:最後に押した商品へ戻る
添付コードの説明では、対象の商品一覧の中で「商品の魅力をチェック」を押すと、その位置を覚える仕様になっています。
- 「商品の魅力をチェック」を押す
対象の一覧内にあるボタンなら、押した位置を記憶します。
- 「商品一覧に戻る」を1回押す
最後に記憶した商品の位置へ戻ります。
- もう1回「商品一覧に戻る」を押す
商品一覧の先頭へ戻ります。
「商品の魅力をチェック」を一度も押していない場合は、一覧の先頭へ戻ると説明されています。
戻るボタンに関係する、触らず残す目印
例えば href="#product_726029_detail" は、その名前が付いた場所への移動先です。商品を入れ替えたときは、移動先の枠もページ内にあるかを確認します。
参照:添付コード 665–684行・775–785行・887–906行/戻る位置記憶の対象:153行
ここから先は、必要になった項目を探すための一覧です。初めて読むときに、すべて覚える必要はありません。
A・A_a・B・C・Dは、何が違う?
これらは、添付コード内の商品表示パターンの名前です。下の表は書かれているコードの違いをまとめたもので、実画面の動作確認結果ではありません。
参照:添付コード:A 24–135行、A_a 139–263行、B 266–369行、C 372–617行、D 620–660行、タブ 663–884行
仕様.xlsxの項目一覧
Excelの「状態を確認する」「コマンド」「値の表示」の分類・順番をそのまま残しています。日付例はExcelのセル表示形式に合わせています。原文に確認が必要な箇所は、下に注記しています。
状態を確認する:ログイン・終売・SALEなど(10項目)
商品やお客さんが、どんな状態かを確認する項目です。例えば [=if is_login=] のように使います。
コマンド:ボタン・条件・画像の場所など(14項目)
「ボタンを出す」「条件に合うときだけ表示する」などの指示です。cart_ns(cart_nosample) の括弧内は、原資料に併記されている別名です。
値の表示:商品名・価格・画像・調理方法など(36項目)
実際の商品情報を入れる項目です。例えば name は [=name=] と書きます。1~4 の表記は、1・2・3・4を使い分ける項目のまとめです。
表示例は各項目の説明用です。ここに並ぶ価格・ロットなどを、現在の販売条件や、1商品の整合したデータとして使用しないでください。
元のExcelにある、商品枠のコードと画面例を見る
次は、仕様.xlsxの「特集ページ用 サンプル1」にある例です。始まりと終わりの目印、自動で入る商品名、ログイン時のボタンを、実際の見た目と見比べられます。
原資料のサンプル・使用するページへそのまま追加するための例ではない
<li class="premiumProductBox" id="product_724029">
[=path('premium_index')=]
<div class="premiumProductImg">
<a href="/feature/premium_brownebifurai"><img src="[=images('thumbnail_brown_ebifurai.jpg')=]"></a>
</div>
<div class="premiumProductCopy">
<p>濃厚でまろやかな味わい<br class="pc_only">天然ブラウン海老フライ。</p>
</div>
<a href="/feature/premium_brownebifurai">
<dl class="productCodeBoxNmaeBox">
<dt class="productCodeBox">
[=if is_original=]
<p class="productStatus">オリジナル</p>
[=endif=]
<p class="productCode">[=code=]</p>
</dt>
<dd class="productName">[=name=]</dd>
</dl>
</a>
[=if is_login=]
[=cart_nf=]
[=endif=]
</li><!-- product_724029 -->
仕様.xlsx「特集ページ用 サンプル1」の掲載画像。価格などは元資料の表示例で、現在の情報ではありません。参照:仕様.xlsx「特集ページ用 サンプル1」A1–E23・J2・添付画像
見た目や動きに関係するファイル名を知りたい
CSSは見た目、JavaScriptはクリックなどの動きに関係するファイルです。添付コードには、次の読み込みがあります。実ファイルの中身は添付されていないため、担当者向けの確認先として記載しています。
alwaysAccordion・productSpecToggle・reverseLayout などのクラスも使われています。商品番号の更新ではこれらを変更せず、折りたたみ方や並び方の調整はCSS・JavaScriptと合わせて確認します。
参照:添付コード 1–6行・234–254行・499行・905–906行
言葉がわからないときのミニ辞典
一般用語の網羅的な定義ではなく、添付コードを読むための言い換えです。
以下は、更新担当のスタッフが自分で仕様を決めるための項目ではありません。判断が必要になったとき、制作・システム担当者へ渡す確認メモです。
説明文とコードが合っていない・意図を確認したい箇所
A_a:終売を表示するか
説明文には「終売も表示」とある一方、コードには終売時の非表示指定と、終売でない場合だけ中身を出す記述があります。どちらを正式な扱いにするか確認が必要です。
参照:添付コード 139–162行
B:終売になったときに何を残すか
説明文には「未確認」「終売になると非表示」とあります。コード上は、画像のリンクを外して画像を残す分岐です。商品番号・商品名のリンクには、同じ終売条件が付いていません。商品枠全体を隠す意図なのか確認します。
参照:添付コード 266–284行・305–308行
C:SALE商品をどう扱うか
説明文には「SALE商品を表示しない想定」とありますが、コードにはSALEのラベルや割引価格の分岐があります。掲載対象にSALE商品を選ばない運用なのか、コードで除外したいのかを確認します。
参照:添付コード 372–411行・469–478行
D:終売表示と、お品書きの番号
説明文には「終売になっても表示」とありますが、コードには終売商品の非表示指定があります。また count は各商品で加算されるため、非表示の商品があると番号が飛ぶ可能性があります。これはコードから考えられる注意点で、実画面では未確認です。
参照:添付コード 620–654行
同じ商品の複数掲載・詳細への移動・タブの確認
参照:添付コード 145–160行・255行・499–614行・665–688行・775–789行・876行
仕様.xlsxの記載で確認したい箇所
上記の記述は、原文を勝手に正しい形へ書き換えず残しています。確認前の例を、そのまま本番ページへ追加しないでください。