Jump to content

Self Teaching


Guest Lee Craven

Recommended Posts

For those of you who are skinning freaks, I'm wanting a helping hand, I have very little knowledge of skinning on IPB's - What I'm wanting to know is where the heck can I learn it 'fast' - by that I mean, is anyone willing to throw tutorials out there? Like an SDK with a write up? - I don't understand what WEB 2 is at all, and I see all over now 'Our site uses we 2 graphics' - or 'get your web 2 themes here' - What the heck is it? :lol:

Sorry, I'm just clueless, I've been cutting and pasting code since ipb 2.x.x - been a few years now, and I would love to make skins and give back to the community for all the crap I've taken for free. Also I would love to learn PHP & SQL in depth and make mods yet I cannot read books to save my life (not that I can't read and write, I lose interest quickly unless I'm seeing progress), I have to be 'hands on' - If I'm physically doing it I'm learning if that makes sense, whats a good time frame to learning these 2 key things?

Link to comment
Share on other sites

I'm pretty clueless about skinning too. I've changed some thigns around, but not made my own CSS changes.

And just a few minutes ago I got so FRUSTRATED it just really can't even be overstated how frustrated I was. i have spent countless hours programming to make some thigns and get them ready for IPB 3 and now that I have "most" of the coding done after an unbelievable number of hours working, I can't get it to "look" like something I can be satisfied with.

In my case I have so much information it's hard to fit it on the screen and yet then in other areas there are huge gaps in rows which don't have many columns necessary. I think things look "ok" on mst pages, but one of the main page types.... I just don't know what to do with it.

So yeah... I wouldn't mind learning some skinning also. Although in my case it's more that I'm unsure what to do even if I did know how to accomplish anything.

I think things look much better in 2.3 for my purposes. The forums look ok, but once I mess with updating programs they look worse in 3.

Link to comment
Share on other sites

One approach you could try is to plan something out that is quite simple. Then use Google & Php.net to look up the functions and make that simple idea come to life.

For example you might want a real simple visitor counter, you could use a database to store the counter information in.

So you'd want to look up
You could then advance that by changing your counter to log some information about the visitor, so then it won't increment for them again. By doing it this way you learn what you need at the time, and you can always go for a more advanced project each time you try something.

[*]How to connect to a database [*]How to update a row in a database (securely using mysql_real_escape_string()) [*]How to include your counter in every page on your website (include_once())






Link to comment
Share on other sites

I learned PHP (literally) simply from installing modifications. I'd install a modification (back in 1.2/1.3 days) and say "Gee, I wish this modification also had xyz feature". At the time it was an old download manager program a guy named Parmeet made and I think it was screenshots I wanted to support or something along those lines. So from the time I spent installing the modifications (reading instructions on what to edit and where, and then looking at that code and trying to decipher why I was editing the code at that spot and what it would do), and looking at the actual code for the download manager itself, and sifting through php.net looking up functions and so forth, I finally started modifying the modification until I got it to do what I wanted. Then I'd take it a step further, until I was able to write smaller modifications myself. Start small, and look at what others have done.

For skinning - this may be of some help

http://www.invisionpower.com/files/ipb22cssguide/

It tells you what CSS classes (from the CSS stylesheet) affect what areas of the page. CSS and HTML are pretty generic - so you can use any site to learn how the syntax works and what can be done.

Link to comment
Share on other sites

My start in PHP was to create a simple login script to protect a few pages from being viewed by other people. At first, I googled a rather crude, but effect login script using MySQL, but soon, I was looking into adding functionality, like adding new users and editing them, etc... From there, the need to know PHP ballooned out. I got irritated with having to copy and paste similar code and trying to get variables to be used everywhere.

Now I am where I am. But I still have a long way to go (i.e. RegEx kick my a-- still.)

The funny thing is... I can't tell you how much I am... disappointed. Not in myself in IPS, but the fact how I finally understood how IPB 2.3 executed and how the session was set up, sanitizing variables, cache, etc.... and they release IPB 3 Beta 1...

But oh well. C'est la vie. I'm just now waiting to see how the SQL drivers have changed since some calls no longer work and how else to use the new hooks and applications system. Thankfully, I have some very crude understanding since it's still IPB and a good chunk of the code is just tweaked for the new architecture, but now I have to learn... and improve upon what I know to master this new way of doing things. I'm still confused about many thins, but hopefully, I will have it all sorted out in time. (Hopefully before IPB 4.0 :D)

Link to comment
Share on other sites

I didn't notice he asked about PHP also. There are various ways to elarn that, but I did exactly what bfarber did. It was mainly a custom modification, though, that I wanted to keep adding features too and now it's got to the point where I have spent incredibly more time on it than the original author did. Then later on there was a modification from Invisionize which I wanted to add some things to.

Of course depending "only" on self-teaching/learning can make things difficult. I really should take some classes or at the very least read up on things online.

You could go to php.net, mysql.com, or w3schools.com to learn some things. w3schools is good at learning basics. I didn't even know how to properly use radio buttons and things like that and had to go there. lol

In the past year or two I have gone from "horrible" at skinning to "kind of bad". lol I sometimes actually skin something decently now. I am at least capable of it. Like I said, my main problem is more indecision and not knowing possiblities than actually doing them. I don't know what to do other than maybe I could go to sites and end up coming across some look I like and view the source.

Link to comment
Share on other sites

W3Schools is really helpful to learn the basics, but I find the explanations on php.net to be too confusing.

If I need more info than W3Schools has provided, Google has helped. At least until I know enough to be able to decipher some of what is on php.net.

Link to comment
Share on other sites

What I personally have trouble with is knowing how to find the php functions I need. For example I was thinking of showing only the first x characters of content and I can't just go to php.net and know what tos earch for to find the function. I may just go right through their list of functions and see what each one does and then it would help me in other areas once knowing all of them. But if they had an easy way to search and find the function you want, it would be cool. And on the mysql site it's even harder to find what I want usually. At least on php.net if you DO know the function name you can type it right in and get a relevant result right off.

Link to comment
Share on other sites


What I personally have trouble with is knowing how to find the php functions I need. For example I was thinking of showing only the first x characters of content and I can't just go to php.net and know what tos earch for to find the function. I may just go right through their list of functions and see what each one does and then it would help me in other areas once knowing all of them. But if they had an easy way to search and find the function you want, it would be cool. And on the mysql site it's even harder to find what I want usually. At least on php.net if you DO know the function name you can type it right in and get a relevant result right off.




If you learn the language basics first then finding functions becomes a lot easier. For example you said you wanted to display the first x characters of content, if you understand the basics then you will realise that this would be working with string variables so you can look through the PHP manual's string manipulation functions. If however you haven't read the beginners books and learned basic language structure then you are trying to find a needle in a haystack.

Whilst you might find reading books difficult they definately do help at least until you get off the ground.

I'd recommend something like a sams teach yourself... book as they are very good for the beginner and easy to read. Probably a combined technology one as well so you see how different technologies fit together. HTML/CSS, PHP/MySQL/Apache etc.
Link to comment
Share on other sites

Yeah I am thinking of even taking classes, but not sure. I know how to do "most" things I want already, but a few things I still am unsure about. Also I've gone through my programs and redone a lot several times as I learn more and feel I can improve them.

Link to comment
Share on other sites

You're going to be hard-pressed to find any real PHP courses. You could take Java or C++ courses at a local college, and apply most of the actual high-level stuff to PHP as well (design theory, objected-oriented programming theory, class structure, and so forth) but of course the actual syntax and function lists/definitions will not be the same.

I used W3Schools at first to learn HTML several several years ago. Used the "HTML Tutorial" to teach myself, and then went through the differences with XHTML.
I read all of the basic information on php.net. Start here, and then read all of it until you get to the function reference. Some of it won't make sense - don't worry about it for now. You can always come back. Also, you don't need to memorize every single function when you're just getting started. But it is very important that you learn the basics first - e.g. "types" (objects, arrays, strings, etc.), "comparison operators" (the difference between =, ==, and === for instance), and stuff like that before you really get going. Otherwise you're going to find basic things quite difficult to accomplish.

Link to comment
Share on other sites

I'll tell you now, for the PHP stuff with coding modifications, I take an example that I see, and figure out how to make it work for what I want to use it for. If I want to do something and can not find an example of it, I google it and try to figure it out.

By doing this (still not done with it though), I've managed to start a component for IPB (will be an Application for IPB 3, won't be released for 2.x) that helps a guild manage their raids in World of Warcraft. The part that I've done allows a member to enter only their character name and what server they play on, and the script gets everything else about their character, and displays it. Once the member confirms that truly is their character, it adds it into the database. Members can view a list of the characters that they have added into the database, and every character has an ID tied to it that matches the member's member_id so that it knows who it belongs to. Also from that character list, they can update the character info (maybe they leveled from 34 to 60 and want to update their list on the forums) or delete the character in full from the database. Oh, and it pulls all this information from the XML ouput of the information available at http://www.wowarmory.com

I managed to go from not knowing PHP (still don't really) to create all of that with a skinned output in IPB in less than a week. It all depends on how actively you want to learn, and how much time you are willing to put into it.

Link to comment
Share on other sites

Yeah sounds the same as what I do andwhat bfarber mentioned. I just try my best to be cautious not to flat copy something, but it's usually just more of a "method" I look at and should be common knowledge.

For javasctipt I can't even understand it no matter how many examples I look at though so I have these two extremely big apps which have little to know javascript. I guess down the road when I learn some (and particularly figure out how to do things via ajax) it will improve my apps.

Also I, like you, am probably not releasing mine for 2.x.x. I used them myself for 2.1-2.3, but now when I really coded them to try to get them ok for other sites, in case I release them, I have been working mainly on 3.0.

But anyway.... back on topic: there are several ways people learn. Some would do better to learn php itself before making a mod, some would do better by looking at other mods, some need to ask a lot of questions (me.... and nowhere to ask), etc.

Link to comment
Share on other sites

Hey I wanna thank you all for your responses, I too am a hands on and then bug people with questions type of person, I never really had the need for a mod or more so a 'custom' mod before now, IPB3 is NEW Showroom condition, I think now is the time for me to try and learn this in and out as best I can.

You all give great ideas on how you learn & apply your code etc, I'll give it a go, I've wanted to learn web coding for years, but all I've achieved so far is copy and paste :P

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...