Added 'meta_keywords' to search of products in shop page. Changed labels

on SEO tab and SEO form (edit product Screen) and added in en.yml file.
This commit is contained in:
duende13
2017-11-30 11:18:08 +00:00
committed by Maikel Linke
parent 808f7b12c7
commit 61300a62c2
7 changed files with 15 additions and 9 deletions

View File

@@ -4,5 +4,5 @@ Darkswarm.filter 'products', (Matcher) ->
text ?= ""
return products if text == ""
products.filter (product) =>
propertiesToMatch = [product.name, product.variant_names, product.supplier.name, product.primary_taxon.name]
propertiesToMatch = [product.name, product.variant_names, product.supplier.name, product.primary_taxon.name, product.meta_keywords]
Matcher.matchBeginning propertiesToMatch, text

View File

@@ -1,5 +1,5 @@
/ insert_bottom "[data-hook='admin_product_tabs']"
- klass = current == 'SEO' ? 'active' : ''
- klass = current == 'Search' ? 'active' : ''
%li{:class => klass}
= link_to_with_icon 'icon-tasks', t('admin.products.seo'), seo_admin_product_url(@product)
= link_to_with_icon 'icon-tasks', 'Search', seo_admin_product_url(@product)

View File

@@ -36,7 +36,7 @@ class Api::CachedProductSerializer < ActiveModel::Serializer
#delegate :cache_key, to: :object
include ActionView::Helpers::SanitizeHelper
attributes :id, :name, :permalink
attributes :id, :name, :permalink, :meta_keywords
attributes :on_demand, :group_buy, :notes, :description, :description_html
attributes :properties_with_values

View File

@@ -1,11 +1,11 @@
.row{"data-hook" => "admin_product_meta_form"}
.alpha.eleven.columns
= f.field_container :meta_description do
= f.label :meta_keywords, t(:meta_keywords)
= f.label :meta_keywords, t(:product_search_keywords)
%br/
= f.text_field :meta_keywords, :class => 'fullwidth', :rows => 6
= f.field_container :meta_description do
= f.label :meta_description, t(:meta_description)
= f.label :meta_description, t(:SEO_keywords)
%br/
= f.text_field :meta_description, :class => 'fullwidth', :rows => 6
.alpha.eleven.columns

View File

@@ -1,5 +1,5 @@
= render :partial => 'spree/admin/shared/product_sub_menu'
= render :partial => 'spree/admin/shared/product_tabs', :locals => { :current => 'SEO' }
= render :partial => 'spree/admin/shared/product_tabs', :locals => { :current => 'Search' }
= render :partial => 'spree/shared/error_messages', :locals => { :target => @product }
= form_for [:admin, @product], :method => :put, :html => { :multipart => true } do |f|

View File

@@ -450,6 +450,8 @@ en:
available_on: Available On
av_on: "Av. On"
upload_an_image: Upload an image
product_search_keywords: Product Search Keywords
SEO_keywords: SEO Keywords
properties:
property_name: Property Name
inherited_property: Inherited Property

View File

@@ -12,7 +12,7 @@ feature "As a consumer I want to shop with a distributor", js: true do
let(:supplier) { create(:supplier_enterprise) }
let(:oc1) { create(:simple_order_cycle, distributors: [distributor], coordinator: create(:distributor_enterprise), orders_close_at: 2.days.from_now) }
let(:oc2) { create(:simple_order_cycle, distributors: [distributor], coordinator: create(:distributor_enterprise), orders_close_at: 3.days.from_now) }
let(:product) { create(:simple_product, supplier: supplier) }
let(:product) { create(:simple_product, supplier: supplier, meta_keywords: "Domestic") }
let(:variant) { product.variants.first }
let(:order) { create(:order, distributor: distributor) }
@@ -169,7 +169,7 @@ feature "As a consumer I want to shop with a distributor", js: true do
describe "after selecting an order cycle with products visible" do
let(:variant1) { create(:variant, product: product, price: 20) }
let(:variant2) { create(:variant, product: product, price: 30, display_name: "Badgers") }
let(:product2) { create(:simple_product, supplier: supplier, name: "Meercats") }
let(:product2) { create(:simple_product, supplier: supplier, name: "Meercats", meta_keywords: "Wild") }
let(:variant3) { create(:variant, product: product2, price: 40, display_name: "Ferrets") }
let(:exchange) { Exchange.find(oc1.exchanges.to_enterprises(distributor).outgoing.first.id) }
@@ -212,6 +212,10 @@ feature "As a consumer I want to shop with a distributor", js: true do
fill_in "search", with: "Meer" # For product named "Meercats"
page.should have_content product2.name
page.should_not have_content product.name
fill_in "search", with: "Dome" # For product with meta_keywords "Domestic"
page.should have_content product.name
page.should_not have_content product2.name
end
it "returns search results for products where the search term matches one of the product's variant names" do