2

このビュー ファイルをカスタマイズしようとしています: https://github.com/spree/spree/blob/v2.1.0/frontend/app/views/spree/checkout/registration.html.erb

コードは次のとおりです。

<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
<h1><%= Spree.t(:registration) %></h1>
<div id="registration" data-hook>
  <div id="account" class="columns alpha eight">
    <!-- TODO: add partial with registration form -->
  </div>
  <% if Spree::Config[:allow_guest_checkout] %>
    <div id="guest_checkout" data-hook class="columns omega eight">
      <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @order } %>
      <h6><%= Spree.t(:guest_user_account) %></h6>
      <%= form_for @order, :url => update_checkout_registration_path, :method => :put, :html => { :id => 'checkout_form_registration' } do |f| %>
        <p>
          <%= f.label :email, Spree.t(:email) %><br />
          <%= f.email_field :email, :class => 'title' %>
        </p>
        <p><%= f.submit Spree.t(:continue), :class => 'button primary' %></p>
      <% end %>
    </div>
  <% end %>
</div>

既存のユーザーのログイン フォームは、(ブラウザーで) このコメントの代わりになります。

<!-- TODO: add partial with registration form -->

これは、javascript をオフにしても同じです。どうやってそこにたどり着くのか、どうカスタマイズできるのかを理解しようとしています。

更新:明確にするために、私はビューを改ざんして変更する方法、またはそれらを完全にオーバーライドする方法を知っています。困っているのはTODOコメントの代わりにフォームが出てくることです。

4

1 に答える 1

2

Defaceを使用してそのビューを少し変更するか (「同じ」パス ( ) で新しいファイルを作成して整理します)、またはという名前のディレクトリapp/overrides/spree/checkout/registration.rbに新しいビューを作成すると、デフォルトのビューの代わりにレンダリングされます。app/views/spree/checkout/registration.html.erb

編集:私はあなたを誤解しました。不要なオーバーライドをオフにするには、上記で指定されたパスで別のオーバーライドを追加して、それに入れるべきです:

Deface::Override.new(
  virtual_path: 'spree/checkout/registration',
  name: "name_of_override", # you have to provide proper name here
  disabled: true)

適切な名前を見つけるにはregistration.rb、そのページにアクセスした後、適用されたすべてのオーバーライドがそこにリストされている必要があります。

元のポスターによる更新:

spree_auth_devise gem のオーバーライドであることが判明しました: https://github.com/spree/spree_auth_devise/blob/master/app/overrides/auth_user_login_form.rb

于 2013-10-15T10:56:39.090 に答える