1

I have searched for quite a while but with no success. Using D7.41, Views 3.

I have a lot of nodes of the same content type (~50 nodes) and all of these nodes have images and some text, plus 4-6 blocks of views in each (different text, different images and in some cases different blocks).

Task: to let the content manager edit this master template (change text, images, change blocks for all these 50 nodes), but the changes would then be replicated 20 times - I have exactly same structure replicated for 20 different regions - the same content, different paths. So that would be some kind of "Master template".

I do understand, that all of this could be managed with blocks, when all the content of the page is done via blocks, but maybe there is some other more clever way to achieve this?

Updated: one of the ways to reduce the amount of blocks used, I guess (as per user comment below), would be solution to have fieldable blocks. But in that case there is another question - how to do that?

7
  • I mean - I could create a content type for this type of nodes, that is absolutely empty and holds only name and path and depending on path then I could add huge amount of blocks, that would be also shown in all the copies. Therefore content manager by changing content of each block would do that for all the copies. But isn't it a little bit weird to do like this? Commented Jan 20, 2016 at 13:48
  • 1
    I'd absolutely go that way: displaying the shared, common content via views (and blocks) additionally on the nodes and let the unique content as it is. You could create a content type for shared content to make life easier.
    – Volker
    Commented Jan 20, 2016 at 14:04
  • Well, that's what I thought, but today an idea of some mysterious "Master template for nodes" came to my mind - just didn't find anything similar to that. So that means, in general, that instead of nodes 'body' field I use 'body block' and then I have ~50 body blocks. But there are more sections, so even more blocks. Is it ok for all the caches? Commented Jan 20, 2016 at 14:24
  • You may describe a bit more detailed what the shared content is to get a better idea of what you want to achieve. Right now i can't fully imagine what you want to do. What is the unique content like? What the shared?
    – Volker
    Commented Jan 20, 2016 at 17:44
  • 1
    Would it help if your blocks would be FIELDABLE? If so please adapt / exend your question accordingly (by editing it). I'd be happy to then post an answer about how you could achieve that. Commented Feb 8, 2016 at 19:19

1 Answer 1

1

If you have so many blocks, then you should try to find ways/techniques to reduce the amount of them. Below are some possible modules to help you on that.

BEAN

You should have a look at the Bean module, which potentially can help you to answer this question. Here is a quote about its project page:

Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.

This module also works great in combination with the UUID and UUID Features Integration modules. And after you become familiar with the Bean module, you might find other cases in your site where you also want to use this module (which somehow compensates the fact that you need to add another module).

The video tutorial Drupal Bean module tutorial - using Bean Admin UI provides a great introduction to really understand the power of this module, and the kind of things you can do with it (by only using site building techniques, no custom coding involved). It also shows how the Bean module transforms Drupal blocks into fieldable entities.

Remark: this module (a raising star!) has been moved to core in D8 ...

Rules and Rules block visibility

Another module to have a look at (to help reduce the number of your blocks), is the Rules block visibility module. Here is a quote from its project page:

The Rules block visibility module allows Rules components to be used to control block visibility. This provides Drupal administrators and developers extreme flexibility in controlling when blocks should be displayed on their websites, in addition to the default visibility options provided by Drupal.

The general idea is that if you can do it with Rules, you can use it to control block visibility, so the possibilities are limitless:

  • Need to show a block only for users registered more than a month ago?

  • Perhaps you have a block that must be shown only between 8am-5pm on weekdays?

  • What about displaying or hiding a block based on current weather conditions?

All of this can be done by using Rules block visibility.

2
  • Thanks a lot - I've never tried any of those and will take a look. Anyway, it looks like one of the solutions is to use blocks everywhere and these modules hopefully will help me reducing the load! Commented Mar 18, 2016 at 15:39
  • Merci (oeps: thank you) for the feedback. You're not the only one who is not familiar with these "hidden gems". I'll be curious for your extra feedback when you had a closer look at them. Maybe you then also want to mark this answer as "accepted"? Also, if you have followup-questions related to these (new to you) modules, make sure to "notify" me about them (eg via ann extra comment here). And/or search within my profile for various answers that refer to either of these modules (to get more inspiration of how I typically use those modules). Commented Mar 18, 2016 at 15:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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