0

我是 Spree 的新手,似乎无法用“erb [loud]”替换动态导轨内容的方式...

我只是想用“最新产品”之类的不同文本替换导航栏上的“主页”链接。该文本会将用户重定向到完全相同的索引页面...我只想用一些不同的文本替换链接。大礼包中的部分核心是:

狂欢/前端/应用/视图/狂欢/共享/_main_nav_bar.html.erb...

<nav class="columns sixteen">
  <ul id="main-nav-bar" class="inline" data-hook>
    <li id="home-link" data-hook><%= link_to Spree.t(:home), spree.root_path %></li>
    <li id="link-to-cart" data-hook>
      <noscript>
        <%= link_to Spree.t(:cart), '/cart' %>
      </noscript>
      &nbsp;
    </li>
    <script>Spree.fetch_cart()</script>
  </ul>
</nav>

到目前为止,我已经创建了一个覆盖文件以在我的应用程序中使用 deface:

存储/应用/覆盖/change_home_text.rb

Deface::Override.new(:virtual_path => 'spree/shared/_main_nav_bar',
  :name => 'change_home_text',
  :replace => "erb[loud]:contains('<li id="home-link" data-hook><%= link_to Spree.t(:home), spree.root_path %></li>')",
  :text => "<li id="home-link" data-hook><%= link_to, 'Newest Products', Spree.t(:home), spree.root_path %></li>")

应该如何设置 :replace 和 :text 行以正确替换带有新文本的链接?

非常感激,

4

1 回答 1

0

想通了……我把事情复杂化了。只需要类似的东西:

Deface::Override.new(:virtual_path => 'spree/shared/_main_nav_bar',
  :replace => "li#home-link",
  :text => "<li id='home-link' data-hook><%= link_to 'Newest Products', spree.root_path %></li>",
  :name => "change_home_text",)
于 2014-07-13T00:57:36.157 回答