{#
カスタマイズTwig
#}
{% extends 'default_frame.twig' %}
{% set body_class = 'registration_page' %}
{% form_theme form 'Form/form_div_layout.twig' %}
{% block stylesheet %}
<style>
#entry_company_name {
width: 100%;
}
.form_comments {
font-size: 12px;
color: #525263;
margin: 3px 0px 3px 0px;
font-weight: normal;
line-height: 2;
}
.ec-checkbox label {
font-weight: normal;
}
.ec-registerRole .ec-registerRole__actions {
text-align: left;
padding-top: 0px;
}
.related_line {
background-color: #F5F5F5;
padding: 16px 10px;
font-size: 14px;
margin: 12px 0px 24px 0px;
}
.progress_bar_step {
margin: 0 auto;
max-width: 280px;
padding: 18px 0;
}
@media only screen and (max-width: 767px) {
.progress_bar_step {
max-width: 230px;
}
}
</style>
{% endblock %}
{% block javascript %}
<script>
$(function() {
var userAgent = navigator.userAgent.toLowerCase();
var isInstagramOrFacebook = userAgent.includes("instagram") || userAgent.includes("facebook");
const passwordField = document.getElementById("entry_plain_password");
const toggleLink = document.getElementById("show_password");
if (passwordField && toggleLink) {
toggleLink.addEventListener("click", function(event) {
event.preventDefault();
if (passwordField.type === "password") {
passwordField.type = "text";
toggleLink.textContent = "パスワードを非表示";
} else {
passwordField.type = "password";
toggleLink.textContent = "パスワードを表示";
}
});
}
var hasValue = false;
$("input[type='text']").each(function() {
if ($(this).val().trim() !== "") {
hasValue = true;
return false; // ループを抜ける
}
});
{% set current_domain = app.request.getHost() %}
{% set is_prod = 'web-order.shikomel.com' in current_domain %}
{% set is_stg = 'web-order-stg.shikomel.com' in current_domain %}
// 会員情報入力画面の表示イベント
{% if is_prod %}
fbq('trackCustom', 'ce_show_entry', {
content_type: "ShowEntry",
value: 63
});
window.dataLayer.push({
event: 'ce_show_entry',
custom_event_name: 'ce_show_entry',
custom_customer_id: '',
custom_user_agent: $("#user_agent").val(),
custom_is_ig: $("#is_ig").val(),
custom_is_line: $("#is_line").val(),
custom_referer: $("#referer").val(),
custom_real_ip: $("#real_ip").val(),
});
_lt('send', 'cv', {
type: 'ce_show_entry'
},['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
$('#input_entry').click(function() {
// 会員情報入力確定
fbq('trackCustom', 'ce_inputed_entry', {
content_type: "InputedEntry",
value: 65
});
window.dataLayer.push({
event: 'ce_inputed_entry',
custom_event_name: 'ce_inputed_entry',
custom_customer_id: '',
custom_user_agent: $("#user_agent").val(),
custom_is_ig: $("#is_ig").val(),
custom_is_line: $("#is_line").val(),
custom_referer: $("#referer").val(),
custom_real_ip: $("#real_ip").val(),
});
_lt('send', 'cv', {
type: 'ce_inputed_entry'
},['d6fb195c-aa19-4109-8ea0-7b1d883fb349']);
});
{% endif %}
const requiredInputs = document.querySelectorAll("input[required]");
const button = document.getElementById("submit_btn");
const checkbox = document.getElementById("entry_user_policy_check");
function toggleButton() {
// 全ての input に値が入っているかチェック
const allFilled = Array.from(requiredInputs).every(input => input.value.trim() !== "");
const isCheckboxChecked = checkbox.checked;
if (allFilled && isCheckboxChecked) {
button.classList.remove("disabled"); // クラス削除で有効化
} else {
button.classList.add("disabled"); // クラス追加で無効化
}
}
// 全ての input にイベントリスナーを設定
requiredInputs.forEach(input => input.addEventListener("input", toggleButton));
// 画面表示時に処理実行
toggleButton();
});
</script>
{% if is_prod %}
<!-- Ptengine Tag -->
<script src="https://js.ptengine.jp/21yt6a2v.js">
</script>
<!-- End Ptengine Tag -->
{% endif %}
{% endblock javascript %}
{% block main %}
<div class="ec-registerRole">
<div class="ec-pageHeader">
<h1 style="margin-top: 10px; margin-bottom: 10px; border-top: none; border-bottom: 1px solid #ccc;">会員登録(無料)</h1>
</div>
<div class="progress_bar_step">
<img src="{{ asset('assets/img/common/entry_progress_step1.png', 'user_data') }}">
</div>
<div class="ec-off1Grid" style="max-width: 430px; margin: auto;">
<div class="">
<form method="post" action="{{ url('entry') }}" class="h-adr formByMailArea" id="form">
{% if isFromLine %}
<div class="related_line">
LINEアカウントと連携しました。<br>
会員登録完了で、クーポンを獲得できます。
</div>
{% endif %}
<span class="p-country-name" style="display:none;">Japan</span>
{{ form_widget(form._token) }}
<div class="">
<dl>
<dt>
{{ form_label(form.email, 'メールアドレス', { 'label_attr': { 'class': 'ec-label' }}) }}
</dt>
<dd>
<div class="ec-input{{ has_errors(form.email) ? ' error' }}">
{{ form_widget(form.email, { 'attr': { 'placeholder': 'shikomel-store@gmail.com' }}) }}
{{ form_errors(form.email) }}
</div>
</dd>
</dl>
{% if isFromLine %}
{# Line連携ログインの場合はパスワード共通のダミーを設定する #}
{{ form_widget(form.plain_password, { type : 'hidden', value : dummyPass }) }}
{% else %}
<dl>
<dt>
{{ form_label(form.plain_password, 'パスワード', { 'label_attr': {'class': 'ec-label' }}) }}
<div class="form_comments">{{ '半角英数記号%min%〜%max%文字'|trans({ '%min%': eccube_config.eccube_password_min_len, '%max%': eccube_config.eccube_password_max_len }) }}<div>
</dt>
<dd>
<div class="ec-input{{ has_errors(form.plain_password) ? ' error' }}">
{{ form_widget(form.plain_password, {
'attr': { 'placeholder': ''},
'type': 'password'
}) }}
<div style="text-align: right;">
<a id="show_password" href="#" style="top: -5px; position: relative; font-size: 12px; color: #1F9FCB">パスワードを表示</a>
</div>
{{ form_errors(form.plain_password) }}
</div>
</dd>
</dl>
{% endif %}
<dl>
<dt>
{{ form_label(form.company_name, '店舗名・事業者名', { 'label_attr': { 'class': 'ec-label' }}) }}
<div class="form_comments">当サイトは事業を営む企業、個人の方向けのサービスです。個人事業主の方は屋号または個人名をご入力ください。<div>
</dt>
<dd>
<div class="ec-halfInput{{ has_errors(form.company_name) ? ' error' }}">
{{ form_widget(form.company_name, { 'attr': { 'placeholder': '株式会社シコメルキッチン' }}) }}
{{ form_errors(form.company_name) }}
</div>
<div style="font-size: 16px; line-height: 1.5;"></div>
</dd>
</dl>
</div>
<div class="ec-registerRole__actions">
<div class="ec-checkbox{{ has_errors(form.user_policy_check) ? ' error' }}">
<label>
{{ form_widget(form.user_policy_check) }}
{{ 'シコメルの<a class="ec-link" href="https://shikomel.com/terms/" target="_blank">利用規約</a>に同意'|raw }}
</label>
{{ form_errors(form.user_policy_check) }}
</div>
<div>
<button id="submit_btn" class="ec-blockBtn--action disabled" type="submit" id="input_entry" name="mode" value="confirm">{{ '確認へ進む'|trans }}</button>
</div>
</div>
{# 名前、住所等は購入時に入力してもらうように変更 #}
<input type="hidden" id="entry_name_name01" name="entry[name][name01]" value="未入力"/>
<input type="hidden" id="entry_name_name01" name="entry[name][name02]" value="未入力"/>
<input type="hidden" id="entry_kana_kana01" name="entry[kana][kana01]" value="カナ"/>
<input type="hidden" id="entry_kana_kana02" name="entry[kana][kana02]" value="カナ"/>
<input type="hidden" id="entry_postal_code" name="entry[postal_code]" value="0000000"/>
<input type="hidden" id="entry_address_pref" name="entry[address][pref]" value="13"/>
<input type="hidden" id="entry_address_addr01" name="entry[address][addr01]" value="未入力"/>
<input type="hidden" id="entry_address_addr02" name="entry[address][addr02]" value="未入力"/>
<input type="hidden" id="entry_phone_number" name="entry[phone_number]" value="00000000000"/>
</form>
</div>
</div>
</div>
{% endblock %}