Note: If you're just starting with Joomla!, I highly recommend you first have a look here: http://docs.joomla.org/Beginners
As you may know already, Joomla! 1.5+ is an MVC content management system and provides you with the means to "override" default HTML layouts within your template's folder. All you have to do is usually copy the "tmpl" folder of a component's view within your Joomla! template's /html/com_componentName/ folder. In K2 version 1.0.x we did the same thing, but it was limiting for the potential of this component, if you wanted to use K2 for different things, like blog, magazine, catalog etc.
So we had to implement a different way to utilize sub-templates, within the templating capabilities of Joomla!. What we did is even simpler compared to current Joomla! templating: all you have to do to override K2's views is COPY THE CONTENTS of the folder /components/com_k2/templates/ and PASTE it into /templates/YOURJOOMLATEMPLATE/html/com_k2/. Judging from the first folder path, it's clear that we do not use Joomla!'s logic, but it's for the better.
After you have copied this folder over to your /templates/YOURJOOMLATEMPLATE/html/com_k2/ folder, you will notice that some "views" are right at the root of that folder (e.g. generic.php or user.php) and some other views are located within a subfolder, called "default". These are located in: /templates/YOURJOOMLATEMPLATE/html/com_k2/
The "views" that are located at the root of that folder are the ones that cannot be themed into variations and this is normal, as you won't need to have different layouts for the registration page or the user page or the page that shows search results from K2 content! If you want to override K2, just go ahead and edit these "views".
Now, the "views" that are located within the folder "default" are the ones that can be themed into variations and these "variations" can be selected from K2's backend, when editing categories or "menu items" to K2 categories. Let's try this example: We're still inside /templates/YOURJOOMLATEMPLATE/html/com_k2/. If you copy (duplicate) the folder "default" and change its name to "blog" (for example), this new folder containing views to the item and categories will then be picked up by K2, without having to exist inside /components/com_k2/. How cool is that, right? Repeat the process and you can create groups of "views" (sub-templates in K2 lingo) which can then be used for different parts of your K2 based site. To edit each sub-template just edit the files contained in each folder. If you edit the item.php view in the folder "blog", for example, then only the categories or menu items using this sub-template will pick up your changes.
So if your website had 3 major areas, say a news section, a knowledge base and a catalog of products, you create 3 copies of the "default" folder, rename them to something relative to these areas (e.g. news, kb, catalog) and then you create your create each parent category, assigning the respective sub-template each time. Then you edit each sub-template and get the desired layout for your site.
As you can imagine this opens a whole new way of skinning K2 based Joomla! websites as you only have one component yet different views per functionality. So your K2 blog is different to your K2 catalog or your K2 news/magazine section and so on.
Template developers have already grasped the potential of K2 sub-templating and many new and exciting templates are on the way from major template vendors.
FILE & FOLDER PATH EXAMPLES IN K2 MVC TEMPLATING
|Within the component||Within our template|
|(does not have to exist)||/templates/YOURTEMPLATE/html/com_k2/differentSubTemplateNotExistingInComponent/category.php|