こんにちは、makeshopのあらいです。
いつもmakeshopをご利用いただきありがとうございます。
今回はクリエイターモード「商品レビュー」機能を表示するソース例をご紹介します!
クリエイターモードで使えるタグはタグリファレンスをご確認ください。
商品レビューを表示するHTMLソース例
商品詳細ページ
商品詳細ページでの商品レビューの表示例は、サンプルショップ【Complete】で確認することができます。
ショップデザイン / テンプレート選択・編集 / クリエイターモード / 商品詳細
「HTML」欄
表示させたい位置に追記してください。書くときはループ処理の中に必ず書くようにしましょう。
▼HTML(8行分)
<!--商品レビュー-->
<{if $item.review.is_enabled && 0 < $item.review.total_count}>
<div class="item-review">
<{$item.review.star_html}>
<p class="item-review-average"><{$item.review.average}></p>
<p class="item-review-count">(<{$item.review.total_count}>件)</p>
</div>
<{/if}>
▼HTML(32行分)
<!--商品レビュー-->
<{if $item.review.is_enabled}>
<div class="item-review-detail">
<h3 class="item-section-title item-review-title">この商品についてのレビュー<div class="btn-wrap btn-review-post-wrap"><a href="<{$item.review.post_url}>" class="btn btn-review-post">レビューを書く</a></div></h3>
<{if $item.review.has_item}>
<ul class="review-list item-review-list">
<{section name=i loop=$item.review.list}>
<li class="review-list-unit">
<div class="review-list-head">
<p class="review-list-name"><i class="fa fa-user-circle-o" aria-hidden="true"></i><span><{$item.review.list[i].reviewer_name}></span>さん</p>
<div class="review-list-score-wrap">
<div class="review-star"><{$item.review.list[i].star_html}></div>
<p class="review-score"><{$item.review.list[i].score}></p>
</div>
</div>
<div class="review-list-content"><{$item.review.list[i].content}></div>
<p class="review-list-date"><{$item.review.list[i].date.year}>/<{$item.review.list[i].date.month}>/<{$item.review.list[i].date.day}> <{$item.review.list[i].date.hour}>:<{$item.review.list[i].date.minute}></p>
</li>
<{/section}>
</ul>
<div class="btn-wrap btn-review-list-wrap"><a href="<{$item.review.list_url}>" class="btn btn-review-list">レビュー一覧を見る</a></div>
<{else}>
<div class="review-list-empty">
<p class="review-list-text">レビューはまだありません</p>
</div>
<{/if}>
</div>
<{/if}>
商品レビュー一覧ページ
商品レビュー一覧ページでの商品レビュー表示例は、サンプルショップ【Complete】で確認することができます。
ショップデザイン / テンプレート選択・編集 / クリエイターモード / 商品レビュー一覧
「HTML」欄
表示させたい位置に追記してください。
▼HTML(76行分)
<!--商品レビュー-->
<h2 class="section-title review-title"><em><{$item.name}></em>のレビュー一覧</h2>
<!--レビュー対象商品-->
<div class="review-item-wrap">
<div class="review-item-image">
<img src="<{$item.image_S}>" alt="<{$item.name}>">
</div>
<div class="review-item-info">
<p class="review-item-category"><{$item.base_category.name}></p>
<p class="review-item-name"><a href="<{$item.url}>"><{$item.name}></a></p>
<{if $review.has_item}>
<div class="total-review">
<div class="review-star"><{$review.star_html}></div>
<p class="review-average"><{$review.average}></p>
<p class="review-count">(<{$review.total_count}>件)</p>
</div>
<{/if}>
</div>
</div>
<div class="review-item-btn"><a href="<{$review.post_url}>" class="btn btn-review-post">レビューを書く</a></div>
<div class="list-head review-list-head">
<p class="category-count">全<{$review.total_count}>件中<{$review.display_count}>件表示</p>
</div>
<!--レビュー一覧-->
<{if $review.has_item}>
<ul class="review-list all-review">
<{section name=i loop=$review.list}>
<li class="review-list-unit">
<div class="review-list-head">
<div class="review-head-wrap">
<p class="review-name"><i class="fa fa-user-circle-o" aria-hidden="true"></i><span><{$review.list[i].reviewer_name}></span>さん</p>
<div class="review-list-score-wrap">
<div class="review-star"><{$review.list[i].star_html}></div>
<p class="review-score"><{$review.list[i].score}></p>
</div>
</div>
<p class="review-list-date"><{$review.list[i].date.year}>/<{$review.list[i].date.month}>/<{$review.list[i].date.day}> <{$review.list[i].date.hour}>:<{$review.list[i].date.minute}></p>
</div>
<div class="review-list-content"><{$review.list[i].content}></div>
</li>
<{/section}>
</ul>
<{if $review.pager.has_item}>
<ul class="pager">
<{if !$review.pager.is_first_display}>
<li><a href="<{$review.pager.first_url}>"><span class="btn-prev">一番前へ</span></a></li>
<{/if}>
<{foreach from=$review.pager.list item=review_list}>
<{if $review_list.is_current_page}>
<li><span class="current"><{$review_list.number}></span></li>
<{else}>
<li><a href="<{$review_list.url}>"><span><{$review_list.number}></span></a></li>
<{/if}>
<{/foreach}>
<{if !$review.pager.is_last_display}>
<li><a href="<{$review.pager.last_url}>"><span class="btn-next">最後へ</span></a></li>
<{/if}>
</ul>
<{/if}>
<{else}>
<p class="empty">この商品のレビューはまだありません。</p>
<{/if}>
商品レビュー投稿ページ
商品レビュー投稿ページでの商品レビュー表示例は、サンプルショップ【Complete】で確認することができます。
ショップデザイン / テンプレート選択・編集 / クリエイターモード / 商品レビュー投稿
「HTML」欄
表示させたい位置に追記してください。
▼HTML(51行分)
<!--商品レビュー-->
<h2 class="section-title review-title"><em><{$item.name}></em>のレビュー投稿</h2>
<!--レビュー対象商品-->
<div class="review-item-wrap">
<div class="review-item-image">
<img src="<{$item.image_S}>" alt="<{$item.name}>">
</div>
<div class="review-item-info">
<p class="review-item-category"><{$item.base_category.name}></p>
<p class="review-item-name"><a href="<{$item.url}>"><{$item.name}></a></p>
<{if $review.has_item}>
<div class="total-review">
<{$review.star_html}>
<p class="review-average"><{$review.average}></p>
<p class="review-count">(<{$review.count}>件)</p>
</div>
<{else}>
<p>まだレビューはありません</p>
<{/if}>
</div>
</div>
<!--レビュー投稿フォーム-->
<div class="review-form-wrap">
<dl class="review-form">
<dt class="review-form-title">
ニックネーム
</dt>
<dd class="review-form-content">
<input type="text" data-id="<{$review.name_id}>">
</dd>
</dl>
<dl class="review-form">
<dt class="review-form-title">
評価
</dt>
<dd class="review-form-content">
<{$review.star_select_html}>
</dd>
</dl>
<dl class="review-form">
<dt class="review-form-title">
コメント
</dt>
<dd class="review-form-content">
<textarea name="" id="" cols="30" rows="10" data-id="<{$review.content_id}>"></textarea>
</dd>
</dl>
<a href="<{$review.entry_url}>" class="btn review-post-btn">この内容でレビューを投稿する</a>
</div>
商品一覧系・商品カテゴリー・商品検索結果ページ
商品を一覧で表示させる際に、その商品のレビュー件数や評価を表示させることができます。
商品レビュー情報を表示させたい画面内に追記してください。
▼HTML(8行分)
<!--商品レビュー星-->
<{if $●●●.list[i].has_review}>
<div class="item-list-review">
<{$●●●.list[i].review.star_html}>
<p class="item-list-review-rate"><{$●●●.list[i].review.average}></p>
<p class="item-list-review-count">[<{$●●●.list[i].review.total_count}>件]</p>
</div>
<{/if}>
・●●●は、表示したい画面によって異なります。タグリファレンスをご確認くだささい。
トップページ
トップページでの新着の商品レビューの表示は、サンプルショップ【Complete】で確認することができます。
ショップデザイン / テンプレート選択・編集 / クリエイターモード / トップ
「HTML」欄
▼HTML(32行分)
新着の商品レビュー一覧を表示させたい位置に追記してください。
<!--商品レビュー-->
<{if $review_item.has_item}>
<section class="section index-info">
<h2 class="section-title index-title">新着レビュー</h2>
<ul class="review-list index-review-list">
<{section name=i loop=$review_item.list max=5}>
<li class="review-list-unit">
<div class="review-list-info">
<a href="<{$review_item.list[i].url}>"><img src="<{$review_item.list[i].image_S}>" alt="<{$review_item.list[i].name}>"></a>
<p class="review-list-category"><a href="<{$review_item.list[i].base_category.url}>"><{$review_item.list[i].base_category.name}></a></p>
<p class="review-list-name"><a href="<{$review_item.list[i].url}>"><{$review_item.list[i].name}></a></p>
</div>
<div class="review-list-content-wrap">
<div class="review-list-head">
<div class="review-head-wrap">
<p class="review-list-name"><i class="fa fa-user-circle-o" aria-hidden="true"></i><span><{$review_item.list[i].reviewer_name}></span>さん</p>
<div class="review-score-wrap">
<div class="review-star"><{$review_item.list[i].star_html}></div>
<p class="review-score"><{$review_item.list[i].score}></p>
</div>
</div>
<p class="review-list-date"><{$review_item.list[i].date.year}>/<{$review_item.list[i].date.month}>/<{$review_item.list[i].date.day}> <{$review_item.list[i].date.hour}>:<{$review_item.list[i].date.minute}></p>
</div>
<div class="review-list-content"><{$review_item.list[i].content}></div>
</div>
</li>
<{/section}>
</ul>
</section>
<{/if}>
商品レビューを表示するCSS例
CSS例
ショップデザイン / テンプレート選択・編集 / クリエイターモード / 全ページ共通
「CSS」欄
管理しやすい箇所か、一番下に追記してください。
▼CSS(199行分)
/******************************** 商品レビュー */
.item-list-review {
display: flex;
align-items: center; }
.item-list-review .reviewRateStar::before {
font-size: 1rem; }
.item-list-review-rate {
margin: 0 8px;
font-weight: bold;
font-size: 1rem; }
/******************************** REVIEW */
.index-review-list .review-list-unit {
display: flex; }
.index-review-list .review-list-info {
width: 180px;
text-align: left;
font-size: 0.8rem;
margin-right: 16px; }
.index-review-list .review-list-info img {
margin: 0 auto;
max-width: 100%;
height: auto; }
.index-review-list .review-list-content-wrap {
flex: 1; }
.index-review-list .review-list-name,
.index-review-list .review-score-wrap {
display: inline-block; }
.index-review-list .reviewRateStar::before {
font-size: 0.9rem; }
/******************************** REVIEW STAR */
.reviewRateStar {
display: inline-block;
font-size: 0;
color: #F8D803; }
.reviewRateStar::before {
font-family: 'Font Awesome 5 Free';
content: "\f005";
font-size: 1.5rem;
font-weight: 900; }
.starOff::before {
font-family: 'Font Awesome 5 Free';
content: "\f005";
font-weight: 400; }
.starHalf::before {
font-family: 'Font Awesome 5 Free';
content: "\f5c0"; }
/******************************** ITEM REVIEW */
.item-review {
text-align: left;
display: flex;
align-items: center;
padding-top: 16px; }
.item-review-average {
font-size: 1.3rem;
margin: 0 4px 0 12px; }
/******************************** ITEM REVIEW LIST */
.item-review-detail {
text-align: left;
margin-top: 48px; }
.item-review-title {
position: relative;
margin-bottom: 16px; }
.btn-review-post-wrap {
position: absolute;
right: 0;
top: 0; }
.item-review-detail .btn-review-post {
margin: 0;
padding: 4px 8px;
width: auto;
display: inline-block;
font-size: 0.7rem;
background: #999; }
.review-list-unit {
padding: 16px 0;
font-size: 0.9rem;
border-bottom: 1px dotted #ccc; }
.review-list-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px; }
.review-star,
.review-score {
display: inline-block; }
.review-list-score-wrap .reviewRateStar::before {
font-size: 1.1rem; }
.review-score {
margin-left: 4px;
font-weight: bold;
font-size: 1.0rem; }
.review-list-content {
font-size: 0.8rem;
text-align: left; }
.review-list-date {
font-size: 0.7rem;
margin-top: 8px;
color: #999; }
.review-list-text {
text-align: center;
color: #999;
margin-top: 64px; }
/* -----------------------------------------------------------------
review
----------------------------------------------------------------- */
.review-title {
font-size: 1.5rem;
margin-top: 24px;
margin-bottom: 48px;
text-align: left; }
.review-title em {
font-weight: bold; }
.review-item-wrap {
display: flex;
padding: 16px;
border: 1px solid #ddd;
border-radius: 6px;
background: #f0f0f0; }
.review-item-image {
width: 100px; }
.review-item-image img {
max-width: 100%; }
.review-item-info {
flex: 1;
text-align: left;
margin-left: 16px;
font-size: 0.9rem; }
.total-review {
margin-top: 8px; }
.total-review .reviewRateStar::before {
font-size: 1.1rem; }
.review-average,
.review-count {
display: inline-block; }
.review-average {
font-weight: bold;
margin-left: 8px;
font-size: 1.2rem; }
.review-item-btn {
text-align: right; }
.btn-review-post {
width: auto;
display: inline-block;
padding: 8px 24px; }
.all-review {
margin-bottom: 48px; }
.all-review .review-head-wrap {
width: 70%;
text-align: left; }
.all-review .review-list-content {
text-align: left; }
.all-review .review-name,
.all-review .review-list-score-wrap {
display: inline-block; }
.review-form-wrap {
width: 600px;
margin: 48px auto 32px; }
.review-form {
display: flex;
text-align: left;
padding: 16px 0; }
.review-form-title {
width: 200px; }
.review-form-content {
flex: 1; }
.review-form-content input, .review-form-content textarea {
width: 100%; }
・ソースは一例となります。自由にデザインを調整して表示しましょう。
ご注意
「商品レビュー一覧」と「商品レビュー投稿」には他の画面と同じソースが必要です。
(※必須のタグがないとレビュー投稿できない場合があります)
・<html>、<head>、<body>のソース
・CSSの指定(<link href=”<{$page.css}>” rel=”stylesheet”>)
・以下のシステムタグ 参考:タグリファレンス
$makeshop.head<!--タグ内に必ず記載ー--> $makeshop.body_top<!--body開始タグ直後に必ず記載--> $makeshop.body_bottom<!--body終了タグ直前に必ず記載-->
・サンプルショップのような星を表示したい場合は、webフォントの指定が必要です。
<link href=”https://use.fontawesome.com/releases/v5.6.1/css/all.css” rel=”stylesheet”>
クリエイターモードで商品レビューを表示する際にどうぞご参考ください。
それではまた!





