account/addresses

Sổ địa chỉ giao hàng của khách.

Ngoài những biến dưới đây, slot này còn nhận toàn bộ biến toàn cục.

Biến của trang

Biến Kiểu Mô tả Từ phiên bản
customer Customer Hồ sơ khách đang đăng nhập. 1.0
addresses Address[] Danh sách địa chỉ đã lưu. 1.0

Mã đầy đủ

Toàn bộ tệp account/addresses.html của bộ giao diện mặc định. Chép về templates/<bộ giao diện của bạn>/account/addresses.html rồi sửa theo ý muốn.

<div class="container page-content">
  <h1 class="page-title">Địa chỉ giao hàng</h1>
  <div class="account-layout">
    {% assign active_page = 'addresses' %}
    {% include 'account/_sidebar' %}
    <div class="account-main">
      {% if success_message %}
        <div class="alert alert--success">{{ success_message }}</div>
      {% endif %}
      {% if error_message %}
        <div class="alert alert--error">{{ error_message }}</div>
      {% endif %}

      <section class="account-section">
        <h2 class="account-section__title">Địa chỉ đã lưu</h2>
        {% if addresses.size > 0 %}
          <div class="address-list">
            {% for addr in addresses %}
            <div class="address-card{% if addr.is_default %} address-card--default{% endif %}">
              {% if addr.is_default %}
                <span class="address-default-badge">Mặc định</span>
              {% endif %}
              <p class="address-name">{{ addr.first_name }} {{ addr.last_name }}</p>
              <p class="address-line">{{ addr.address1 }}</p>
              {% if addr.address2 %}
                <p class="address-line">{{ addr.address2 }}</p>
              {% endif %}
              <p class="address-line">{{ addr.city }}{% if addr.province %}, {{ addr.province }}{% endif %}</p>
              <p class="address-line">{{ addr.country_code }}</p>
              {% if addr.phone %}
                <p class="address-line">{{ addr.phone }}</p>
              {% endif %}

              <div class="address-actions">
                {% unless addr.is_default %}
                <form action="/tai-khoan/dia-chi/{{ addr.id }}/mac-dinh" method="post" class="address-action-form">
                  <button type="submit" class="btn btn--secondary btn--sm">Đặt mặc định</button>
                </form>
                {% endunless %}
                <form action="/tai-khoan/dia-chi/{{ addr.id }}/xoa" method="post" class="address-action-form"
                      onsubmit="return confirm('Bạn có chắc muốn xóa địa chỉ này?')">
                  <button type="submit" class="btn btn--danger btn--sm">Xóa</button>
                </form>
              </div>
            </div>
            {% endfor %}
          </div>
        {% else %}
          <p class="empty-state">Bạn chưa có địa chỉ nào được lưu.</p>
        {% endif %}
      </section>

      <section class="account-section">
        <h2 class="account-section__title">Thêm địa chỉ mới</h2>
        <form action="/tai-khoan/dia-chi/them" method="post" class="account-form">
          <div style="position:absolute;left:-9999px;top:-9999px" aria-hidden="true">
            <label for="_hp">Leave this field empty</label>
            <input type="text" id="_hp" name="_hp" tabindex="-1" autocomplete="off">
          </div>

          <div class="form-row">
            <div class="form-group">
              <label for="addr_first_name">Họ *</label>
              <input type="text" id="addr_first_name" name="first_name" required class="form-input">
            </div>
            <div class="form-group">
              <label for="addr_last_name">Tên *</label>
              <input type="text" id="addr_last_name" name="last_name" required class="form-input">
            </div>
          </div>

          <div class="form-group">
            <label for="address1">Địa chỉ *</label>
            <input type="text" id="address1" name="address1" required class="form-input"
                   placeholder="Số nhà, tên đường">
          </div>

          <div class="form-group">
            <label for="address2">Địa chỉ bổ sung</label>
            <input type="text" id="address2" name="address2" class="form-input"
                   placeholder="Căn hộ, tòa nhà, phường/xã…">
          </div>

          <div class="form-row">
            <div class="form-group">
              <label for="city">Thành phố *</label>
              <input type="text" id="city" name="city" required class="form-input">
            </div>
            <div class="form-group">
              <label for="province">Tỉnh/Thành</label>
              <input type="text" id="province" name="province" class="form-input">
            </div>
          </div>

          <div class="form-row">
            <div class="form-group">
              <label for="country_code">Quốc gia *</label>
              <input type="text" id="country_code" name="country_code" required class="form-input"
                     value="VN" maxlength="2">
            </div>
            <div class="form-group">
              <label for="addr_phone">Số điện thoại</label>
              <input type="tel" id="addr_phone" name="phone" class="form-input">
            </div>
          </div>

          <div class="form-group form-group--checkbox">
            <label class="checkbox-label">
              <input type="checkbox" name="is_default" value="1">
              Đặt làm địa chỉ mặc định
            </label>
          </div>

          <button type="submit" class="btn btn--primary">Thêm địa chỉ</button>
        </form>
      </section>
    </div>
  </div>
</div>