CurryHunter

 

How to develop a theme

Stage 1/5 : Setup

This guide assumes that you have basic knowledge of how web servers work, have familiarity with web language HTML, CSS, JS etc. and the scripting language php. To set up you will need to have a web server like Apache installed and running on your computer. We recommend a package called XAMPP to get all the necessary web development components installed at one go.

Step 1: Download our repository from the downloads page
Click on the `Download Repository` link on that page. Place the downloaded directory on your web server's public directory (htdocs in case of Apache)

Step 2: Setup your localhost to work with the downloaded directory.
If your downloaded directory is directly under htdocs `http://localhost/themes/` should work at this stage and show you the default theme with duff data from tr/api/data.php file.

Step 3: Create a directory inside the themes directory with your username
Choose a username - have no space, no special character or numbers, use a-z only. There is one by default named 'ch' - the directory for CurryHunter developers.

Step 4: Add a new array record in configs.php file
Our recommended approach is to open the config file and create a copy of `theme1` record at the end of the php array you will see there. Please change the `ref` value of the newly added array item to something unique. Usually, your username and than the theme number would do, ie. if `steve` is your username and this is your first theme, name your first theme as `steve-theme1` and put that as the value of the `ref` key on that record you just created.

Step 5: Copy the contents of `themes/ch/theme1` directory under your newly created directory.
If you have followed the naming we mentioned here your theme directory is this, `themes/steve/steve-theme1`. This will work as your first theme directory.
Your created directory should look similar to this now:

api/
default-albums/
img/
themes/
  ch/
steve/
   steve-theme1/
    screenshots/
    index.phtml
    menu.phtml
    reviews.phtml
    about.phtml
    photos.phtml
    videos.phtml
    offers.phtml
    global.css
    global.js
    view-helper.php
vendor/

Step 6: You should now be able to browse your theme on this link `http://localhost/themes?theme=steve-theme1` in case you have followed the naming on the previous steps.

 

 

Stage 2/5 : What is what

In this section you will familiar yourself with different sub directories of the downloaded directories.

layout.phtml

We require for every theme to use a layout file. In your layout file you have all the header and footer information. Usually the tag is in there, including any common navigation and footer links shared across all the pages.

screenshots/

This is a required directory, here we will put the screenshots of the themes - after the development is complete.

index.phtml
menu.phtml
reviews.phtml

about.phtml
photos.phtml
videos.phtml
offers.phtml

We require the first three files to be there in each and every theme. In case of a one page theme you can avoid developing the rest of the pages.

img/

You can put your theme related images here. Please notice that we have default image albums for every restaurant in `default-albums` directory & more images for your use in `img` directory at the root.

style.css OR global.css
global.js

You can have a CSS file (we prefer this to be one) and a JS file (if required at all) for your theme. You can obviously use JS and CSS libraries we already added in `vendors` directory. Obviously you will have to link these (JS/CSS/IMAGE) files to your themes pages as required.

 

 

Stage 3/5 : build the HTML version

Ok, enough preparation. Let's move on to create the pages necessary for the theme. First create these pages, or else there will be an error while you try to browse the theme.

about.phtml
index.phtml
menu.phtml
reviews.phtml
photos.phtml
videos.phtml

layout.phtml

Moreover, we suggest you to have only one global.css file and a global.js file if you need, in addition to that, you can link any number of js or css library files from the `vendors` directory. Unfortunately, we don't allow to add any new libraries in vendors- so for now you are restricted to use only those available inside `vendor` directory. You can obviously ask us to add a new library in `vendors` directory.

We will keep updating this documentation, but please follow one of our themes developed under `themes/ch/` directory, and ask us if you have any question here.

 

 

Stage 4/5 : Make it Dynamic

At this step you make the theme able to grab data from the CuryHunter server, using the php API classes provided in the `api` directory. Please follow the example theme in `themes/ch/theme1` directory to implement the dynamic aspect of the theme.

php API class library documentation

You can ask for our help at this stage. Please let us know :)
 

 

Stage 5/5 : How to Publish

If you aren't comfortable with GIT, please send us an email here OR send us a pull request at our git repository. We will contact you informing what will happen next and active developers price plan for you as soon as your theme is published.