0

I would love some help to think here, I need to create one or several views (I'm hoping one)

I have a site that will present different groups and they will each have their own page/view with: - a slideshow - some nodes - a contact form - a block with Facebook posts from their Facebook pages - some social links (like google+, Facebook like etc.)

I will start with a few but I want it to be easy to add more in the future, hopefully without creating a new view for each group. Note that this is not a social site, the content will be added by one person and the page will simply be a presentation of these groups in a standardized way.

I'm thinking views with EVA and maybe I could use taxonomy to "group" them? I don't want to put a specific term if I don't have to as that would exclude any new groups and also would force me to make a separate view for each group. How would I go about to set it up in such a way that it recognizes what to show in one view?

Thankful for any insight and suggestion!

Drupal 7 (Multilingual site)


I will try to explain better.

  • Let's say I have several products that I want to present in a standardized way: a slideshow, text with images, a contact form, content from a specific Facebook page, content from a specific twitter feed etc.
  • This will be presented in a view.
  • I have several products and I want to easily be able to add more, preferably without having to create a new view each time.

How do I go about it? If I use taxonomy to mark what belongs together I will still have to create a new view every time I add a new product. If I use content types I have to create a new content type for each product (which would be even more work).

  • I'm not quite familiar with the group, but I think you can create a view with the contextual filter "group id" or some taxonomy. You will create just one view and the result will change in relation to the group. Put this on your tpl.php print views_embed_view('name_of_the_view', 'name_of_display', your_contextual_filter); – Tyler Durden Mar 30 '12 at 9:04
1

What I see here is a typical Panels situation, with Taxonomy.

  1. Create a vocabulary "groups",
  2. Create two content types : slideshow item , nodes (with term relationship field to the vocabulary "groups", of course)
  3. Three fields to the terms themselves (taxonomy terms have "cck-like fields" in core since Drupal7) : email adress, Facebook widget, etc.
  4. Create views for each use: the slideshow, the nodes...
  5. Enable the "taxonomy term page" panel, and insert in it your views showing your content associated to that term, and the fields of your term (Panels has the out-of-the-box interface for that) : contact form, FB block, and so on.

That's the simpliest I see :)

0

One idea could be to use Taxonomy Access Control. In my scenario I am using it to show from the same view different content to the users based on their role. What you need to do is to add to your content types an extra checkbox term reference field so when you go creating a new node you would also select which terms can have access to this node.

Don't know if this logic could also be implemented with Panels.

  • Ah, ok, I see that my poorly asked question confused everything! I should not have used the word "group". So instead of group, think "presentation" or something. Again, this is not a social site, there will be no log in to help select what information to show. I want to access the different views though a menu. – squirrel Apr 4 '12 at 4:37
  • Then could you be talking for simple taxonomy pages? You add the taxonomy to your contents and then you access the page with an argument www.site.com/my_page/% Panels could work with arguments also. I am guessing you are not talinkg about this scenario either, so it would be better if you add more detail to what exactly you need to achieve. – Perisdr Apr 5 '12 at 7:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.