I have a Drupal 7 site. Currently I am the only 'blogger' on the site. Core 'blog' module will only allow the logged on user to post to one blog. I have (so far) two blogs to post to. With core I can only post to one 'blog' as one user and then if I desire to post to any other blog...I have to create a separate account, separate username and all that, to post to another blog on the same site/install.
For my use I need the same 'brand' name/user to be able to post to any blog on the same site as only that one user. Core 'blog' will not work for me. Keep in mind that my situation on this one site is not typical so the fact that core 'blog' is set to have one blog per user makes perfect sense.
So, I emailed Andy Laken on this (apologies for not putting it out on our forum/group discussion pages first) and he replied (in-depth as usual) and following his suggestions (edited repost below) I got the function I was after. Now I can log on to the site, create a post, select which blog I want it to publish on and I can do it all as the one user!
The email has been edited to reflect the flow and what worked. Andy gave two suggested possible scenarios, the second one worked so that is all I am including.
Greetings Andy!
Drupal 7 question if I may?
1) Enabled ‘blog’ in core.
2) Created one blog.
3) Want to create another (separate) blog.
4) Want to have a select list so I can create new posts to ‘blog’ but,
5) Want to choose from a field set, which ‘blog’ the post goes to and still,
6) Do it from only one log in without having to create a new user and login and post
from that second user.I created a field set but I do not know if one can ‘code’ the
values so when the new blog content is ‘saved’ it will populate the blog of choice.Can one code the ‘Allowed Values’ in Field Settings to populate a specific blog?
If it isn’t possible here, I am not up to the task of creating a whole new view to do it (at present time)
and I will just create a new User ID. I wanted to avoid posting under another username but will if that
is the only choice other than a new View.P.S. I attempted multiple types of ways to get this done and ‘Googled’ but to no avail. Everything
kept posting to the original blog created through core and attached to my User ID.Muchas!
~ Christopher Cable
Andy's reply edited for the working solution
Hi Christopher!
The short version, I think, is that blog module that comes with core is not well suited to what you're trying to do. From http://drupal.org/documentation/modules/blog:
The core Blog module that comes with Drupal allows every authenticated and authorized user to maintain an individual online blog. … Note that the blog module is not necessary for a "single-user" blog, that is a site that only has one individual blogging (the most common situation). For that it's easy to create a custom content type that will accommodate. Blog module is usually used when there is a need for "multi-user" blogs, where many different blogs, written by different users are all running on one site.
Although I haven't used it for years, I think it's baked into the blog module that each blog is glued to a separate user login on the site. Since you want a single user to be able to post to separate blogs, you probably shouldn't use the blog module.
Is this a dead-end? Not at all! You already have all the knowledge needed to create a site with multiple blogs that a single user can post to. There are many ways you could do this in Drupal. Here's a quick outline off top of my head of one possible way to do it. (Note: these are rough, b/c I haven't done this on D7 I'm skipping the exact menu options and what to click on. You know Drupal well enough to follow this though.)
Set up views for each blog
- Create a new view. In view defaults:
- Add filters for node type=Blog post, Published=yes
- Sort criteria should be updated time/descending
- Set any # of posts you want per page, set up pagers as desired.
- Decide if you want teaser display or field display, and set up / configure appropriately.
- Add 2 page displays, one for each blog. On each page display:
- Set the path to what you want the blog URL to be e.g. 'blogs/crochet' or 'ramblings' or whatever
- Set the page title to be whatever you want the blog title to be
- Add the taxonomy term filter for that blog to the filters
That should take care of the basics - you'll want of course to tweak the full-page view of the blog entries to your liking, showing the 'submitted by' how you want, etc.
A little tricker way to do the view, rather than adding separate page views for each blog, is to add a contextual filter (used to be called 'argument' in D6) for the taxonomy term – that way you don't need to add an extra page display for every new blog you add, and if you want RSS feeds you can add a 'feed' display that will automatically switch to the right blog based on the taxonomy term.
Hope that helps,
– Andy
Andy Laken
Drupal Developer
h: 406-552-0740 | m: 202-230-4055
e: andy@laken.com | skype: mcantsin
twitter: alaken | linkedin.com/in/laken
As a followup note:
I finally did create a 'Simple' View with just a few 'advanced' view(s) pieces in that view (see Andy's solution above) and it originally did not work. When I went back over the entire process from the created content type all the way through the fields and the new view, I discovered my naming convention was actually naming conventions. Note the plural there. I had slightly off names throughout the entire 'flow'. Once I renamed all the names the same (each separate blog and each field and the corresponding parts in the view for THAT particular blog) then retested (by creating separate blogs, same user) it all worked flawlessly. Attention to detail is not always my middle name.
Well now, I hope that should you ever find yourself in the same position, you now have a solution!
Many thanks to Andy Laken, AGAIN! :-D
Cheers!
~ Christopher

Comments
OOppsss...I over edited, apologies folks.
Andy just pointed out I over edited the email reply.
Here is the first part and the second part together that may shed a lot more light on the subject above. If the incomplete previous misinformation caused any grief, my personal apologies.
Thank you very much for this,
Thank you very much for this, you've been very helful.
I still ahve one problem with this. I want the blog post to be displayed in both pages as a grid and not a list. I've already changed that in the views, but the still come out as a list. I've already cleared the caché, played around with the options in the views settings and nothing...
Any ideas?
More info or..
..possibly seeing your code/ back end might help.
Hard to tell (for me) where to look by the information you shared. Could be (I doubt it) the template code, something in the block...tough to tell.
Also the 'View' can have many 'displays' so it is possible one can make a change on one 'display' and it doesn't affect the display where desired.
All I can suggest at this point is go slowly through the View created and make sure the display you are attempting to 'grid' is the one the changes are saved on/for?
If you are in the Missoula area, perhaps one of us can meet with you in town and see the back end. No promises.
Thanks for sharing,
Thanks for sharing, Christopher. You can, however, greatly simplify the process you mentioned above. By using a Taxonomy Term to define to which "blog" a node belongs, you eliminated the need to create a View. (Note that you can create a View if you want for more display flexibility, but it's not necessary.)
The core Taxonomy module handles the creation of the multiple "blog" pages for you. Just view those term pages to view the corresponding blog posts.
You can view your automatically-created blog pages at
taxonomy/term/[term_id]. Customize those URLs to something likeblog/fooandblog/barusing the Pathauto module.Scott Rouse
http://about.me/scott.rouse