Recent Topics

Can not get blogs to show in sidebar... 1.8...

Started by on Aug 23, 2006 – Contents updated: Aug 23, 2006

Aug 23, 2006 15:54    

I am new to B2 and to setting up blogs, and don't know php, etc... It may be that folks don't like engaging with the uninitiated in such things, but here's hoping... I have been moderating a local email list for over four years, with 1200 addresses presently on it, and want to set up a discussion/forum for folks to engage each other directly, using several blog sections and sub-catagories....

I've been exploring B2, a bit at a time, for a couple weeks, slowly learning, and it really seems the very best of all possible choices, including that it is free and I'm not getting paid to do the list or any of this... I do it as a community service.

I just updated to 1.8.1... Same problem was in 1.8... The fellow who is giving me free server space has shown me some things, including how to up load and update, using an ftp client, etc... but he doesn't know B2 and not a lot of php, at least not like folks here seem to know it...

No matter how I check the choices in Blog Settings the catagories are only appearing in the sidebar in the "all messages" blog. The other blogs don't show catagories there, with "display public blog list" and "include in public blog list" checked in all of them... Four standard blogs and the link blog refuse to include catagories, but the all messages blog does... I've been back and forth until I'm crosseyed trying to see a difference, and have checked and unchecked in every combination, collectively and individually, that I can think of in the Settings, but the problem remains, with every skin having the same problem. I have also noticed in the process that the bluesky and the guadelupe skins don't turn off skin choices even when I turn skin choices off in the settings...

I'd really like to set it up with navigation choices for all blogs and blog catagories in the side bar, along with some links, via the link blog, there as well, for all of the blogs, even though some (not all) of the skins do seem to keep basic blog choices (not catagories) available across the top of the window... I also don't want to enable skin choices for folks, so that the different blogs can have a different skin and appearance for each one, in a familiar sort of way for folks so they can quickly see what blog they are in, simply by the appearance...

I'm getting nervious about going to far with this without understanding at leat a little bit what is happening, and doing something that will have be totally undone later, and I also don't want to draw people from the list in and then leave them hanging if something happens... I am also of course still learning B2, with a whole heck of a lot left to learn before I'll have something good enough to go out to the list and local community... I am in SW New Mexico, USA, and Silver City, for the curious...

Also, in case someone wonders, I have not done anything to any of the files in the 1.8.1 Blogs folder on the server. The uploaded files are as theycame from the B2 site just yesterday... I deleted the 1.8 folder and replaced it with the full 1.8.1 folder, and the database kept all the text, names and settings I'd done up till then... I imagine it is obvious that I couldn't hack my way out of a paper sack at this point...

Any help or guidance will be greatly appreciated...

John.

Aug 23, 2006 16:26

is there an example we can see ?
what skin are you using ?

Aug 25, 2006 00:54

Topanga wrote:

is there an example we can see ?
what skin are you using ?

Sorry for not responding sooner, I was out of town since yesterday AM and just got back to my computer... Right now I have all of them in Nifty_corners but I've used every skin that comes with 1.8 and the same situation occures, six different skins or the same skin on all... The skins that are set up to show blogs across the top do actually do that, but not in the sidebar...

Here is a link to the All Mesages Blog- this one does link to the others... The only one that does...

http://www.gilacommunity.net/blogs/index.php?blog=1

All the blogs have the settings checked to display in and include other blogs, all the settings in that lineup are checked except allow switching which is unchecked- when it is checked it makes no difference in this situation, though blue sky and guadelupe still aloow switching even when switching is unchecked...

I don't know if it makes a difference but the browser I use is Camino, part of the FireFox group specifically for the Mac...

John.

Aug 25, 2006 08:35

First things first : what I see is completely normal behaviour...

On blog 1 (the agregatorblog) we see all the posts from all the blogs, that makes that we also see all the categories from all the blogs.
On blog 2 and up you only see the posts for that blog, that makes that you also only see the categories for that blog.

That things said, now we'll go have a look at what you want.

What I think that you want is : see all categories for all blogs ON all blogs. Right ?

To accomplish that, you will have to alter the code (tweak in php)

Open the file plugins/_categories_plugin.php

Somewhere (I don't have the code, nor the files at hand) you will see a line that says : if blog > 1
You'll see that there is a different behaviour for blog 1 and for the rest of the blogs....
It is there that you will have to change the if-condition...

Aug 25, 2006 17:56

Just so I can understand the logic, in Blog-Admin under Blog Settings there is "default display options" with five check boxes... the last two say "Check this if you want to display the list of all blogs on your blog page (if your skin supports this)." and "Check this if you want this blog to be displayed in the list of all public blogs." I've assumed that in both cases this means in the sidebar...?

And, this must be where my mistaken understanding is...? All of the skins show all of the blogs in the side bar in blog 1 (the agregatorblog), but not in any of the others, as you've seen... Some of the blog skins, such as natural_pink do show other blogs across the top, but some, such as wpc_aubmach, don't show across the top neither in the side bar, unless they are set as the skin for the agregatorblog... (I've set two of the blogs with these additional skins now...) To go to another blog from a blog with the aub_mach skin (and I think a couple others) it basically requires going back to the agregatorblog, though I can see a partial workaround perhaps by using only skins that show other blogs across the top... Otherwise one is required to use the all messages blog, though I will in any case...

I could eventually have as many as 10 blogs going, most with sub-catagories, and interacting hopefully, so I am trying to think through the logic of the system and possibilities before I get to far into it... Partly so I don't suddenly radically change the whole thing in the middle of everyone trying to use it, not to mention building some understandins of B2ev in my so-called mind. It seems a really very well thought out system, I "just" have to begin to learn to think in some of the ways the system works...

If those checked boxes mean something different (such as showing across the top in the skins that have that feature?) and not what I was assuming, I will think it through differently, and adjust my logic to fit the situation and possibilities...

I don't think I am quite ready to start altering code yet, though I suspect I'll get to it in some minor ways, one of these days... I think I can see how all this could begin to sort of pull a person in...?

And just to say it, I really like the "pay forward" principal of all of this...

John.

Aug 25, 2006 19:06

Blogs and categories are two different things. In the 'custom' skin the blogs are linked across the top of the blog. Categories are shown in the sidebar.

So let's pretend a happy couple use b2evolution. He blogs in #2 and she blogs in #3 and they share #4 as a linkblog. Maybe linkblog has 2 categories: 'his links' and 'her links'. All blogs have the "include in blog list" selected, so on the top of every page (using the custom skin) we can see links to all 4 blogs. The sidebar of each blog will be different though. In hisblog we see cats about the things he is interested in. In herblog we see cats about the things she is interested in. That's because each blogger set up their own cats, and each blog shows the cats that belong to it. In both blogs (again - assuming the custom skin) we see the same set of links in the linkblog section. On blog #1 we see the same top bit but a different sidebar. Because all blogs are part of blog #1 we see - as categories - all hisblog cats and all herblog cats and all all the linkblog cats. So blog #1 is a special blog. It, and only it, shows the names of the blog each cat is associated with when it lists categories.

Some skins have the bloglist in the sidebar, and some skins don't bother with showing categories. They used to be called evoskins because they're a bit more than your average 'skin' thing. In b2evolution a skin can change the look of a blog AND decide which content to show or not show.

When you say to yourself "aha!" let us know and someone will (probably) show you exactly what line in what file you need to change to get the blog #1 categories thing (sidebar!) to show up in each of your other blogs, though there is no promise that it will work the first time.

SHORT TERM GOOD MOVE: Don't use blog #1 for actual blogging. It is unique in that it is an aggregator blog. I use it, as do many of us hard-core types, but if the light bulb hasn't lit for you yet then it's best to avoid posting in it for a while.

Aug 25, 2006 19:14

Hi John

Indeed, you where mislead with those 'display public blog list'..
That only means that it will be in the bloglist.. or not..
The bloglist is a list of the names of all the blogs.

But the categories are not the bloglist...
The categories belong to 1 blog..

And since the aggragator blog (blog 1) is a special one - it just collects all blogs and all categories - you see all categories on blog all..

I think that what you want is very simple though..
(i did not had the code at hand this afternoon, that's why I could not give you an example)
make a copie of the original file first and store it somewhere in case you don't like the result
open the file plugins/_categories_plugin.php
Look for this code starting on line 151

		if( $blog > 1 )
		{ // We want to display cats for one blog
			$tmp_disp = '';

			if( $params['option_all'] )
			{	// We want to display a link to all cats:
				$tmp_disp .= $this->params['line_start'].'<a href="';
				if( $this->params['link_type'] == 'context' )
				{	// We want to preserve current browsing context:
					$tmp_disp .= regenerate_url( 'cats,catsel' );
				}
				else
				{
					$tmp_disp .= get_bloginfo('blogurl');
				}
				$tmp_disp .= '">'.$params['option_all'].'</a>';
				$tmp_disp .= $this->params['line_end'];
			}
			$tmp_disp .= cat_children( $cache_categories, $blog, NULL,
			                           array( $this, 'callback_before_first' ), array( $this, 'callback_before_each' ),
			                           array( $this, 'callback_after_each' ), array( $this, 'callback_after_last' ), 0 );
			if( ! empty($tmp_disp) )
			{
				echo $params['list_start'];
				echo $tmp_disp;
				echo $params['list_end'];
			}
		}
		else
		{ // We want to display cats for all blogs
			echo $params['collist_start'];

			for( $curr_blog_ID=blog_list_start();
						$curr_blog_ID!=false;
						 $curr_blog_ID=blog_list_next() )
			{
			
				if( ! blog_list_iteminfo('disp_bloglist', false) )
				{ // Skip Blogs that should not get displayed in public blog list				
					continue;
				}
				//	if( $curr_blog_ID == 1 ) continue; // Hide blog 1...
				// run recursively through the cats
				$cat_list = cat_children( $cache_categories, $curr_blog_ID, NULL,
							array( $this, 'callback_before_first' ), array( $this, 'callback_before_each' ),
							array( $this, 'callback_after_each' ), array( $this, 'callback_after_last' ), 0 );

/* Make this a param with default to OFF (NO Skip) because even if there are no cats, the blog name is a clickable root category itself
				if( empty( $cat_list ) )
				{ // Skip Blogs that have no categories!
					continue;
				}
*/

				echo $params['coll_start'];
				echo '<a href="';
				if( $this->params['link_type'] == 'context' )
				{	// We want to preserve current browsing context:
					echo regenerate_url( 'blog,cats,catsel', 'blog='.$curr_blog_ID );
				}
				else
				{
					blog_list_iteminfo('blogurl');
				}
				echo '">';
				blog_list_iteminfo('name');
				echo '</a>';
				echo $params['coll_end'];

				if( ! empty($cat_list) )
				{
					echo $params['list_start'];
					echo $cat_list;
					echo $params['list_end'];
				}
			}

			echo $params['collist_end'];
		}


change it by this piece

 // We want to display cats for all blogs
			echo $params['collist_start'];

			for( $curr_blog_ID=blog_list_start();
						$curr_blog_ID!=false;
						 $curr_blog_ID=blog_list_next() )
			{
			
				if( ! blog_list_iteminfo('disp_bloglist', false) )
				{ // Skip Blogs that should not get displayed in public blog list				
					continue;
				}
				//	if( $curr_blog_ID == 1 ) continue; // Hide blog 1...
				// run recursively through the cats
				$cat_list = cat_children( $cache_categories, $curr_blog_ID, NULL,
							array( $this, 'callback_before_first' ), array( $this, 'callback_before_each' ),
							array( $this, 'callback_after_each' ), array( $this, 'callback_after_last' ), 0 );

/* Make this a param with default to OFF (NO Skip) because even if there are no cats, the blog name is a clickable root category itself
				if( empty( $cat_list ) )
				{ // Skip Blogs that have no categories!
					continue;
				}
*/

				echo $params['coll_start'];
				echo '<a href="';
				if( $this->params['link_type'] == 'context' )
				{	// We want to preserve current browsing context:
					echo regenerate_url( 'blog,cats,catsel', 'blog='.$curr_blog_ID );
				}
				else
				{
					blog_list_iteminfo('blogurl');
				}
				echo '">';
				blog_list_iteminfo('name');
				echo '</a>';
				echo $params['coll_end'];

				if( ! empty($cat_list) )
				{
					echo $params['list_start'];
					echo $cat_list;
					echo $params['list_end'];
				}
			}

			echo $params['collist_end'];


You will see that although you asked for some blogs to not get displayed in the public blog list, they do sho up in this list.
That's when this line comes in handy

if( $curr_blog_ID == 1 ) continue; // Hide blog 1...

duplicate it is many times you need...

Aug 25, 2006 19:36

My very sincere thanks to both Topanga and EdB, I am going to get back to experimenting and putting it together and seeing what is possible, and looking through the forum sections for hints, and I may actually try using the code Topanga sent... EdB says don't use the blog #1 for actual blogging, which makes sense... I am hoping it is possible that Blog #1 can be accessable for folks to quickly see what has come in recently on all blogs, even though set (?) so it can't be posted to, so people can go quickly from there to a blog that may have a message they want to respond to, without having to look through each blog individually...?

And, again, thanks...

John.

Aug 25, 2006 20:38

crzyhrse wrote:

I am hoping it is possible that Blog #1 can be accessable for folks to quickly see what has come in recently on all blogs, even though set (?) so it can't be posted to, so people can go quickly from there to a blog that may have a message they want to respond to, without having to look through each blog individually...?

That is exactly the way I use it on my sites...
People only need to look at 1 blog to see recent changes...

Aug 26, 2006 03:37

Topanga wrote:

crzyhrse wrote:

I am hoping it is possible that Blog #1 can be accessable for folks to quickly see what has come in recently on all blogs, even though set (?) so it can't be posted to, so people can go quickly from there to a blog that may have a message they want to respond to, without having to look through each blog individually...?

That is exactly the way I use it on my sites...

People oly need to look at 1 blog to see recent changes...

Well, I thought I'd be able to figure it out, but have not been able to yet, and so now I'll ask, how do I do this, set up a blog so it can be viewed but not have posts entered into it except by me... ? I figure that I want to do that with both the Links Blog and the All Messages Blog...?

If I ever learn B2 well enough (in some imagined future time?) I might offer to help a bit with the manual, just for other basic php illiterates like myself...


Form is loading...

Build your own site! – This forum is powered by b2evolution CMS, a complete engine for your website.