-
Notifications
You must be signed in to change notification settings - Fork 8
Recupero collezioni di risorse da DatoCMS
Marco Zampetti edited this page Feb 10, 2021
·
1 revision
Le collezioni di risorse presenti sul CMS sono disponibili con il nome plurale del model id relativo, ad esempio:
dato.articles
PresentationHelper Comprendono la logica di selezione e ordinamento delle collezioni.
# config.rb
module PresentationHelper
def self.published_announcements(announcements)
announcements.sort_by(&:date_shown).reverse
end
[...]
end
Questi helper sono basati sulla logica dei PresentationHelper, e sono utilizzabili nel frontend:
# config.rb
helpers do
[...]
def visible_announcements
PresentationHelper.published_announcements(dato.announcements)
end
[...]
end
- visible.visible_announcements.each do |announcement|
= announcement.title
Vengono utilizzati per la generazione delle pagine basandosi sulle risorse create nel CMS:
# config.rb
dato.tap do |dato|
[...]
I18n.with_locale(:it) do
locale = :it
visible_announcements = PresentationHelper.published_announcements(dato.announcements)
paginate_with_fallback(visible_announcements,
dato.announcements_index,
dato.news_page,
locale)
visible_announcements.each do |announcement|
proxy "/#{dato.news_page.slug}/#{dato.announcements_index.slug}/#{announcement.slug}/index.html",
"/templates/announcement.html",
locals: {page: announcement},
locale: locale
end
end
end