0

如何在 Alchemy CMS 中显示具有相同标签的元素?

我用标签“逻辑”标记了一些元素。现在,我想在另一个页面上显示带有这个标签的最新元素。有这方面的代码行吗?例如这样的:

 <%= render_elements :from_tag => 'logic' %> 
4

1 回答 1

1

你不能在render_elements这里使用助手。

但是你可以使用普通的 ol' Rails 和render_element助手:

<% @page.elements.available.tagged_with('logic').each do |element| %>
  <%= render_element element %>
<% end %>

或者,如果没有render_element帮助器,您可以只使用以下方式渲染视图部分:

<% @page.elements.available.tagged_with('logic').each do |element| %>
  <%= render element %>
<% end %>

但请注意,您需要在元素视图中使用元素的部分名称作为本地对象,因为 Rails 使用部分名称作为默认本地对象。因此,例如,一个以article视图局部命名的元素具有一个名为_article_view的本地对象article_view

如果您想保留 Alchemy 元素生成器的默认本地element对象,您仍然可以将其传递到您的视图中:

<% @page.elements.available.tagged_with('logic').each do |element| %>
  <%= render element, element: element %>
<% end %>

但这读起来有点奇怪,我更喜欢使用render_element帮助程序,或者在我的元素视图中重命名本地对象。

于 2015-12-01T08:51:44.040 回答