There are many levels of customization to a ccHost installation with each level requiring more and more technical skill. It is not obvious what kind of customization is possible at each level so here are some hints that might help you to decide what you need to do in order to achieve your goals.
In ccHost 5 there are dozens of customizations that do not require any coding knowledge. You can do all these simply by filling out forms:
With a little knowledge of URL building you gain control over what uploaded content is displayed in the settings of your choice. For example if you want to show the most popular uploads tagged 'remix' for the last two weeks you specify that using URL syntax in a navigation tab, including the title to display:
tags=remix&sinced=2 weeks ago&sort=rankings&title=Hot Remixes
The query engine also works with topic contents. Documentation for the Query API can be found at <your_installation_root>/query-api.
The way the system is set up, all of the customizations in the 'Admin' section above are actually fancy ways of manipulating configuration files already in your system, many of which can be superseded by simply making your own version.
Even if you don't exactly know what the configuration syntax is or how it works, you can easily customize your installation with some judicious cut and paste in configuration files that the system will look for in your <local_files> directory. These include:
If you are comfortable with a little HTML and CSS hacking and you still want more control over your installation then you will find quite a large world open up to you.
If you are generally happy with the overall look and layout of the site but want to change specific screen, you can create customized display layouts and then select them through the admin screens:
The ultimate control over look and feel of an installation can be accomplished by creating your own skin template by browsing to admin/skins/create which will not only copy a template framework, but also a skin profile.
Once this template is installed into your <local_files>/skins directory, you can customize the 'body' template which controls the contents of every page's header, footer, layout, etc. You can also start copying individual templates to your skin directory from ccskins/shared and the system will use your version.
Any file with a .php extension in <local_files>/lib will be picked up by ccHost, parsed and executed. So all your custom code can go into that directory in one .php file, in multiple, however you like.
There are many customizations that can be done with just a few lines of code. Some of those the more popular ones are:
ccHost triggers events at certain key moments and you can register to be notified at those times. The more popular ones of those are:
There are many other hooks in the system (over 100) many of which still fall in the category of "easy to hook" even if the hook itself may or may not require heavy lifting. These include: