1 crzyhrse Aug 23, 2006 15:54
3 crzyhrse 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.
4 topanga 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...
5 crzyhrse 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.
6 edb 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.
7 topanga 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...
8 crzyhrse 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.
9 topanga 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...
10 crzyhrse 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...
is there an example we can see ?
what skin are you using ?