aboutsummaryrefslogtreecommitdiffstats
path: root/app/views/sidebar_modules
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2013-12-25 14:04:38 +0100
committerHarald Eilertsen <haraldei@anduin.net>2013-12-25 14:04:38 +0100
commitb72598485ace03615a1c39f6a8720c6fe6cfa458 (patch)
tree7838c2292eb05ea690331383908e3a36729af56f /app/views/sidebar_modules
parentde85692eb4cb19112e5b3a6d68c8867c65ff0da0 (diff)
downloadhmnoweb-b72598485ace03615a1c39f6a8720c6fe6cfa458.tar.gz
hmnoweb-b72598485ace03615a1c39f6a8720c6fe6cfa458.tar.bz2
hmnoweb-b72598485ace03615a1c39f6a8720c6fe6cfa458.zip
More sidebar module fixes.
There was some problems with the approach in the previous commits. - render_collection (render @sidebar_modules in our case) requires that all objects return the same partial path. Ours may not do that, so we wrote our own `render_sidebar_modules`-helper. - The way render_partial finds the correct path to the partial is to append what's returned by to_partial_path with whatever root the parent view is in. That would require duplication of the partials under all the different engines namespaces. Our `render_sidebar_modules` does it differently, and just looks up the partial according to the root namespace. This means the sidebar_module code can move back under the root application so we don't mess up the refinery namespaces. - Finally found the proper way to link to a blog_post so that it works from all namespaces. The correct way is: refinery.blog_post_path(post) This works in views (and presumably helpers,) but not in controllers which is why we struggled with it before.
Diffstat (limited to 'app/views/sidebar_modules')
-rw-r--r--app/views/sidebar_modules/_sidebar_blog_category.html.erb8
-rw-r--r--app/views/sidebar_modules/_sidebar_module.html.erb5
2 files changed, 13 insertions, 0 deletions
diff --git a/app/views/sidebar_modules/_sidebar_blog_category.html.erb b/app/views/sidebar_modules/_sidebar_blog_category.html.erb
new file mode 100644
index 0000000..53556e7
--- /dev/null
+++ b/app/views/sidebar_modules/_sidebar_blog_category.html.erb
@@ -0,0 +1,8 @@
+<% content_for "sidebar_module_#{sidebar_module.title}_body" do %>
+ <% sidebar_module.body.each do |post| %>
+ <%= content_tag :div, :class => :sidebar_blog_headline do %>
+ <%= link_to post.title, refinery.blog_post_path(post) %>
+ <% end %>
+ <% end %>
+<% end %>
+<%= render 'sidebar_modules/sidebar_module', :sidebar_module => sidebar_module %>
diff --git a/app/views/sidebar_modules/_sidebar_module.html.erb b/app/views/sidebar_modules/_sidebar_module.html.erb
new file mode 100644
index 0000000..c7a24e9
--- /dev/null
+++ b/app/views/sidebar_modules/_sidebar_module.html.erb
@@ -0,0 +1,5 @@
+<div id="sidebar_module_<%= sidebar_module.title %>" class="sidebar_module">
+ <h1><%= sidebar_module.title %></h1>
+ <div><%= content_for "sidebar_module_#{sidebar_module.title}_body" %></div>
+</div>
+