The main menu is now translatable and configurable using Content configuration and translations. Added 7 menu entries to the translations file (each with text and url) and 7 content configuration points to enable/disable these. The mobile menu icons can also be configured.

This commit is contained in:
luisramos0
2018-08-08 22:28:51 +01:00
committed by Maikel Linke
parent b4bfa3ff2d
commit e573a3fc2b
6 changed files with 54 additions and 115 deletions

View File

@@ -6,6 +6,7 @@ module Admin
{name: I18n.t('admin.contents.edit.producer_signup_page'), preferences: [:producer_signup_pricing_table_html, :producer_signup_case_studies_html, :producer_signup_detail_html]},
{name: I18n.t('admin.contents.edit.hub_signup_page'), preferences: [:hub_signup_pricing_table_html, :hub_signup_case_studies_html, :hub_signup_detail_html]},
{name: I18n.t('admin.contents.edit.group_signup_page'), preferences: [:group_signup_pricing_table_html, :group_signup_case_studies_html, :group_signup_detail_html]},
{name: I18n.t('admin.contents.edit.main_links'), preferences: [:menu_1, :menu_1_icon_name, :menu_2, :menu_2_icon_name, :menu_3, :menu_3_icon_name, :menu_4, :menu_4_icon_name, :menu_5, :menu_5_icon_name, :menu_6, :menu_6_icon_name, :menu_7, :menu_7_icon_name]},
{name: I18n.t('admin.contents.edit.footer_and_external_links'), preferences: [:footer_logo,
:footer_facebook_url, :footer_twitter_url, :footer_instagram_url, :footer_linkedin_url, :footer_googleplus_url, :footer_pinterest_url,
:footer_email, :community_forum_url, :footer_links_md, :footer_about_url]}]

View File

@@ -31,6 +31,22 @@ class ContentConfiguration < Spree::Preferences::FileConfiguration
preference :group_signup_case_studies_html, :text, default: I18n.t(:content_configuration_case_studies)
preference :group_signup_detail_html, :text, default: I18n.t(:content_configuration_detail)
# Main URLs
preference :menu_1, :boolean, default: true
preference :menu_1_icon_name, :string, default: ""
preference :menu_2, :boolean, default: true
preference :menu_2_icon_name, :string, default: ""
preference :menu_3, :boolean, default: true
preference :menu_3_icon_name, :string, default: ""
preference :menu_4, :boolean, default: true
preference :menu_4_icon_name, :string, default: ""
preference :menu_5, :boolean, default: true
preference :menu_5_icon_name, :string, default: ""
preference :menu_6, :boolean, default: true
preference :menu_6_icon_name, :string, default: ""
preference :menu_7, :boolean, default: true
preference :menu_7_icon_name, :string, default: ""
# Footer
preference :footer_logo, :file
has_attached_file :footer_logo, default_url: "/assets/ofn-logo-footer.png"

View File

@@ -2,7 +2,11 @@
%legend{align: "center"}= name
- preferences.each do |key|
- type = ContentConfig.preference_type(key)
- if name == t('admin.contents.edit.main_links') && type == :boolean
- text = t("#{key}_title") + " - " + t("#{key}_url")
- else
- text = t(key)
.field
= label_tag(key, t(key) + ': ') + tag(:br) if type != :boolean
= label_tag(key, text + ': ') + tag(:br) if type != :boolean
= preference_field_tag(key, ContentConfig[key], :type => type)
= label_tag(key, t(key)) + tag(:br) if type == :boolean
= label_tag(key, text) + tag(:br) if type == :boolean

View File

@@ -11,54 +11,13 @@
%a{href: '/'}
= t 'title'
%ul.center
%li
%a{href: main_app.shops_path}
%span.nav-primary
= t 'label_shops'
%li
%a{href: main_app.map_path}
%span.nav-primary
= t 'label_map'
%li
%a{href: main_app.producers_path}
%span.nav-primary
= t 'label_producers'
- if feature? :connect_learn_homepage
%li
%a{href: "https://openfoodnetwork.org/au/connect/"}
%span.nav-primary
= t 'label_connect'
%li
%a{href: "https://openfoodnetwork.org/au/learn/"}
%span.nav-primary
= t 'label_learn'
- elsif feature? :about_blog_homepage
%li
%a{href: main_app.groups_path}
%span.nav-primary
= t 'label_groups'
%li
%a{href: "http://about.openfoodnetwork.org.uk/"}
%span.nav-primary
= t 'label_about'
%li
%a{href: "http://about.openfoodnetwork.org.uk/blog/"}
%span.nav-primary
= t 'label_blog'
%li
%a{href: "http://about.openfoodnetwork.org.uk/support/"}
%span.nav-primary
= t 'label_support'
- else
%li
%a{href: main_app.groups_path}
%span.nav-primary
= t 'label_groups'
%li
%a{href: ContentConfig.footer_about_url}
%span.nav-primary
= t 'label_about'
- [*1..7].each do |menu_number|
- menu_name = "menu_#{menu_number}"
- if ContentConfig[menu_name].present?
%li
%a{href: t("#{menu_name}_url") }
%span.nav-primary
= t "#{menu_name}_title"
%ul.right
- if OpenFoodNetwork::I18nConfig.selectable_locales.count > 1
%li.language-switcher.has-dropdown

View File

@@ -19,27 +19,14 @@
%li.ofn-logo
%a{href: root_path}
%img{src: ContentConfig.logo_mobile.url, srcset: ContentConfig.logo_mobile_svg.url, width: "75", height: "26"}
%li.li-menu
- if current_page? main_app.shops_path
%a{"ofn-scroll-to" => "hubs"}
%span.nav-primary
%i.ofn-i_019-map-pin
= t 'label_shops'
- else
%a{href: main_app.shops_path}
%span.nav-primary
%i.ofn-i_019-map-pin
= t 'label_shops'
%li.li-menu
%a{href: main_app.map_path}
%span.nav-primary
%i.ofn-i_037-map
= t 'label_map'
%li.li-menu
%a{href: main_app.producers_path}
%span.nav-primary
%i.ofn-i_036-producers
= t 'label_producers'
- [*1..7].each do |menu_number|
- menu_name = "menu_#{menu_number}"
- if ContentConfig[menu_name].present?
%li.li-menu
%a{href: t("#{menu_name}_url") }
%span.nav-primary
%i{class: ContentConfig["#{menu_name}_icon_name"]}
= t "#{menu_name}_title"
- if OpenFoodNetwork::I18nConfig.selectable_locales.count > 1
%li.language-switcher.li-menu
%a
@@ -50,50 +37,6 @@
- if I18n.locale != l
%li
%a{href: "?locale=#{l.to_s}" }= t('language_name', locale: l)
- if feature? :connect_learn_homepage
%li.li-menu
%a{href: "https://openfoodnetwork.org/au/connect/"}
%span.nav-primary
%i.ofn-i_035-groups
= t 'label_connect'
%li.li-menu
%a{href: "https://openfoodnetwork.org/au/learn/"}
%span.nav-primary
%i.ofn-i_013-help
= t 'label_learn'
- elsif feature? :about_blog_homepage
%li.li-menu
%a{href: "http://about.openfoodnetwork.org.uk/"}
%span.nav-primary
%i.ofn-i_019-map-pin
= t 'label_about'
%li.li-menu
%a{href: "http://about.openfoodnetwork.org.uk/blog"}
%span.nav-primary
%i.ofn-i_037-map
= t 'label_blog'
%li.li-menu
%a{href: "http://about.openfoodnetwork.org.uk/support"}
%span.nav-primary
%i.ofn-i_013-help
= t 'label_support'
%li.li-menu
%a{href: main_app.groups_path}
%span.nav-primary
%i.ofn-i_035-groups
= t 'label_groups'
- else
%li.li-menu
%a{href: main_app.groups_path}
%span.nav-primary
%i.ofn-i_035-groups
= t 'label_groups'
%li.li-menu
%a{href: ContentConfig.footer_about_url}
%span.nav-primary
%i.ofn-i_013-help
= t 'label_about'
%li
- if spree_current_user.nil?
= render 'shared/signed_out'

View File

@@ -428,6 +428,7 @@ en:
producer_signup_page: Producer signup page
hub_signup_page: Hub signup page
group_signup_page: Group signup page
main_links: Main Menu Links
footer_and_external_links: Footer and External Links
your_content: Your content
@@ -1168,6 +1169,21 @@ en:
ticket_column_unit_price: "Unit Price"
ticket_column_total_price: "Total Price"
menu_1_title: "Shops"
menu_1_url: "/shops"
menu_2_title: "Map"
menu_2_url: "/map"
menu_3_title: "Producers"
menu_3_url: "/producers"
menu_4_title: "Connect"
menu_4_url: "https://openfoodnetwork.org/au/connect/"
menu_5_title: "Learn"
menu_5_url: "https://openfoodnetwork.org/au/learn/"
menu_6_title: "Blog"
menu_6_url: ""
menu_7_title: "Groups"
menu_7_url: ""
logo: "Logo (640x130)" #FIXME
logo_mobile: "Mobile logo (75x26)" #FIXME
logo_mobile_svg: "Mobile logo (SVG)" #FIXME