Recent Topics

1 Aug 24, 2007 15:19    

My b2evolution Version: 1.10.x

Hello, I am trying to customize different skins for different blogs but I'm very confused about how to call them so they aren't available for all the other blogs on my system.

If all the skins live in the /skins dir, then every other blog user can pick any of them for his own blog. Is there a way to put a skin in a custom directory and have a file (stub file?) define the path to that directory?

Right now, I've basically just copied a skin I wanted to modify, into a new dir with a different name, but in the same /skins dir so I can access it. This is a problem because it shows up in the list of skins to select for your blog, and it has custom pix and graphics, etc. on it. It shouldnt be available for other blogs. Furthermore....I don't want it showing up in the list of skins to choose under the Skin Switcher. Nobody should see it unless they go to that single blog.

Please direct me how to do this???

Christian

2 Aug 24, 2007 15:43

Making the skin only work for a blog is rather easy.

if ( $blog !== 2 ) die('i like ... chocolate');

when getting it not to show in the skin list is a bit more advanced and a plugin would need to be made.

I'm still flat out with work, so can't help out anymore.

3 Aug 24, 2007 16:16

So that means there is no way to define a custom path to a skin? All skins MUST ALWAYS be in the same directory shared by all blog accounts? That doesn't make any sense. We can't define a path in a stub file or in main.php or anywhere to take care of this? I'd like to put the skin in the user directory and call it from there, then it wouldnt be called on in the same directory. Nothing to edit?

4 Aug 24, 2007 17:08

put a _ before your skins name and it won't be shown in the skinlist. Obviously you'll have to set the blogs skin manually using PhpMyAdmin ;)

¥

5 Aug 24, 2007 18:49

Whatever works is fine by me. But what should I look for to edit in the database with PhpMyAdmin?

6 Aug 24, 2007 20:38

Assuming your custom skin is /skins/custom/ you rename the copy to skins/_custom/ then you'd need to change the blog_default_skin in evo_blogs to _custom

¥

7 Aug 24, 2007 21:17

Ok but I dont see how thats going to help me. I found that string, but if I change that in the db, then it just makes the new skin show up as the default skin everywhere instead of the old one. I want a certain skin to show up only for one blog, and not visible as a selection to be used on any other blog. There must be a way. Users are going to modify skins, or at least I want to for different blogs, and then when a user selects what skin he wants to use...theres going to be all my modified skins with my own stuff on them. I want to prevent that.

Am I missing something? Im not so familiar with b2, but it seems all I would be doing in PHPMyAdmin is just changing the name of the default blog, but then the modified version is still the site-wide default blog.

8 Aug 24, 2007 22:17

¥åßßå wrote:

put a _ before your skins name and it won't be shown in the skinlist.

¥

Look at it the other way around. If ¥åßßå is right, and I presume he is although I didn't test this myself, the _custom skin is *not* in the skin list, so the users *cannot* choose the _custom skin.
You can, if you add it in the stub file or try manually with h*tp://yourblog.com/index.php?blog=2&skin=_custom.

So ¥åßßå did answer your question, but thought you wanted to force the not so custom '_custom' skin.

Good luck

9 Aug 25, 2007 05:50

Well hold on, if I'm missing something I want to know, cause I'm looking for a solution. But I'm still not sure about this. I can place an underscore _ on the custom skin and change the reference to that in the db, and then call the custom skin for my modified version, yes.

But the db does not reference ALL the skins, only the custom skin. So this means if I go this route, the custom skin is the only one I can use and hide from the selection list, and then I also lose the existing custom skin as an option to other users.

So unless I am still missing something, that's not a complete solution. I really thought the whole point of stub files was to offer more options like this. Every other php app i know will let me define a path to resources. Can we not do this in B2? Is there a way to use a stub file and reference a different path to a skin, sitting in its own directory? We can keep all the users images and media separate, why not custom skins as well?

I'm still new to B2, please fill in the missing pieces, if indeed I'm not seeing an answer thats right in front of me. Is there one?

Christian

10 Aug 25, 2007 11:38

Looks like I managed to pick a confusing name :P

Ok, lets go through this step by step :-

We'll assume that you want to customize skin foo for blog bar

First make a copy of skin foo and name the copy _foo

Next hit PhpMyAdmin and go to the blogs table ( usually evo_blogs )

In the column blog_default_skin change the skin name for blog bar to _foo and update the record

Now blog bar will be using your customised skin ( _foo ) and the customised skin will not be in the drop down list in admin and won't be available in the skin switching list either

If you wanted to do a different customised version of foo for another blog then you'd just need to make another copy of foo and call it something unique ( complete with _ ) like _foo2 and then change that blogs skin ( in the same column, in the same table ) to _foo2 etc etc etc

¥

11 Aug 26, 2007 12:27

Now I've got it! Thanks a bunch.

Now you don't happen to know about why autoblog doesnt create the blogs for me when I use it manually do you? I can't help asking because I don't get any replies on this in the forums.

Anyway thanks a lot for the help with the db!

12 Aug 26, 2007 12:33

No worries ;)

I don't use the autoblog plugin so I've no idea why it doesn't work.

¥


Form is loading...