How to have a three column home page in Drupal - drupal

The home page of this site will have basically a 3 column layout.
I can create these as either content or blocks. I like using content because its easy for the user to understand, they login to the site, they browse to the page they want to edit, they click edit, but with blocks they have to go into Administer > Blocks etc
Any suggestions on this?

I would be managing the actual content as nodes(content) and then looking at blocks(or something like it) to arrange them how you like in your template regions.
If you are looking at creating custom home and/or landing pages, you might also want to look at http://drupal.org/project/panels - it can be a little heavy, but quite powerful for arranging content into columns and whatnot.

Not really sure what you're asking...
Administer > Blocks is for moving the blocks around into regions / disabling them, not really for creating content.
You can use the Node as Block module to easily turn your nodes into blocks, and they would still edit it from the content administration section.
Or, you could create a blank block, and in its associated template file (block-whatever.tpl.php) embed the node (node_embed, pretty much what the Node as Block module does) or query for it with a view and embed that (views_embed_view)
Or, if you're using views, you could create a view that queries for the node(s) you want and create a block display for that.
When you're actually building the Drupal site, you should consider what paradigm you're most comfortable with since there are so many ways to get your content together.

i would say boxes will help you. http://drupal.org/project/boxes

Many themes have block edit links/images as a part of them. Fusion is one such example.

I would suggest looking into Panels for layout and block editing, and also to download a version of open atrium. The layout management is uses is much easier than the administer blocks pattern.

Related

Example on how to reuses areas in magnolia?

I am a little bit confused. How do we reuse areas from another page? Lets say I created an article in an articles area on my index page. How do I display that same content in another page?
Ive read the following https://documentation.magnolia-cms.com/display/DOCS53/Reusing+area+content
Seems kind of complex. I dont understand the pom file.
Cant we acccomplish this purely in light modules? If not, could someone show me an example of a simple content reuse scenario?
Yes you can do it purely w/ light modules. Look at this article. Example there is custom "quotation" app and the quotes you create you can render and reuse in as many different pages/page-types you want.
However it is slightly different than what you ask. In your question you want to reuse content from the page, which is also possible (you just need to address that content and feed it to appropriate cms tag in your page template (you can forget all about maven and so on, just focus on your templates). In the example I point you to, you create custom app for stories, articles or any kind of content and then just refer it from all pages where you want to render it. This allows you not only to share the content, but also separate it's editing from the page structure which makes life of editors easier in long run.

How to make multiple editable parts on homepage/other pages in Silverstripe CMS?

I am new to Silverstripe so am still learning the best way to achieve certain results.
I have the following website: http://i.imgur.com/HHHIlwA.jpg - that I have converted into a silverstripe theme etc. I have setup the front page as a HomePage.ss.
Now I want to be able to edit most parts of the page from the CMS. I have followed this tutorial on this website: http://www.silverstripe.org/learn/lessons/working-with-data-relationships-has-many - and have created a region under the "Articles" heading in the pic which comes up as a tab on the CMS in the admin panel. http://i.imgur.com/Gi7kZmq.png
My question is, is the best way to make parts editable to make them regions like what the video has shown etc? E.g if I wanted to edit the section in the pic that has the picture of the big ring and the text next to it, am I best to make this another region? What about for things like headings etc?
Thanks in advance :)
There are several possibilities to solve this problem:
either use several $has_many for each group if you have a fixed structure
if you need flexibile structure you can use one of the several 'block' modules like https://github.com/bummzack/page-blocks or https://github.com/NobrainerWeb/Silverstripe-Content-Blocks.
There are some more modules like this around, each have pros and cons, depending if you need reusable blocks, translatable blocks, want to save the relations with Versioned etc... #lerni made an overview about those modules.

Create page of blocks only / Create a node of blocks

Sometimes I use a basic page as a place holder for the purpose of creating a node to hold blocks.
So I create a basic page and link it to a menu, then I use the blocks interface to configure certain blocks to display on that page only.
The problem with this approach is twofold. Firstly I don't need the page, but secondly when a user tries to edit the page they're understandably surprised to find nothing.
Is there a better way of creating a node of blocks? Ideally, the more lightweight the better..
Thanks,
Hmm, this solution requires installing another module, but also provides other great functionality such as revisions.
http://drupal.org/project/nodeblock
You would also have to convert all of your old blocks into these new "Node Blocks"
Another option would be
http://drupal.org/project/empty_page

Drupal - Show content on specific page

Am I able to add the following field to a content type, so that each piece of content I create can be conditioned to a page?
Or is there a module to extend Publishing Options, where by it adds all the pages I have created (just like 'Promote to Front Page')?
If not, why is no one doing this? As a new user to Drupal this seems like it would be a handy operation. (I have already tried this module but it doesn't achieve the results I'm after).
If none of these solutions are available, what would be the best alternative way of doing this?
I've posted this question on Stack Exchange for Drupal but I need a quick answer and there seems to be a bigger community here :D
You should use Context. With Context, you'll be able to manage contextual conditions and reactions for your drupal like Regions.
Have you used Views? it is one of the most common used drupal modules. It doesn't extend publishing options directly but it does replace it in a way. You can say by example put a list of al content-types: your_own_Content_type that have the publishing options of promoted to front-page. then sort them by title, date, what ever you like.
you could also create only one view and create multiple blocks out of it. you have to understand the logic of drupal: if you want different blocks on different pages, you have to create the different pages AND different blocks
create the view for one type of content-type and make one block out of it. put this block on the desired page. All your other blocks are made with the same view, just adjust a condition in your view and create a new block out of it. You should also put all your blocks in the same region, and set the to the right pages
here you can find a lot of documentation if you run into any problems... drupal.org/project/views
Views is the best at creating a slideshow of images or any type of data on your site.
Used in combination with nodequeue it might offer near or the full functionality you are trying to achieve (check this out ... and this too) - but I don't understand your question entirely.
By my opinion Views is too complicated task for much simple request.
There is a few ideas for solution:
Easy way - You can create a specific template file or add some if statments to the node.tpl.php(specific tpl better)
For minor changes - Create a new context with "path" filter and "theme html" reaction, than hide the field by the css
Best but complicated(large usages) - create a new "view mode" and implement the display by new "hook_menu".
~ Almog

Drupal—Content Repetition & Consistency

I'm currently working on a Drupal site (I'm fairly new to Drupal) and need to be able to create some blocks of content that appear on multiple pages and remain consistent between those pages. I'll need it so that if I change the content in one place, the change will be reflected in all places it appears.
I've looked around in CCK a bit but can't seem to find a way to accomplish this there. Is there a way to accomplish this?
Thank you!
You can define your own blocks at /admin/build/block/add, just put your content inside a block and then go to "page specific visibility settings" and put the pages, on which the block should appear there.
There are other ways to achieve something like you describe, if the blocks don't do what you need you should provide some more details on what exactly you want to do. Depending on the structure of your site, you could also use a node (set to appear at the top of lists) that is set to appear on those pages.
It would depend of what kind of data you need to display in this block if its static use
/admin/build/block/add
if you intend to fetch some content from your content types use views to create such block and then use "page specific visibility settings".

Resources