Thank you for purchasing my application. If you have any questions that are beyond the scope of this help file, please feel free to check rich knowledge base with many tips & tricks or submit support ticket on website: http://iwinter.com.hr/support/. Thanks so much!
Applications supports 2 modes:
After first configuration, you can change mode in "application/config/cms_config.php", variable $config['app_type'].
PHP version 5.2 or newer
MySQL (4.1+)
If you want to change database, you can found configuration in "/application/config/production/database.php".
// Examples: default, mysql $active_group = 'mysql'; $db['mysql']['hostname'] = 'localhost'; $db['mysql']['username'] = ''; $db['mysql']['password'] = ''; $db['mysql']['database'] = ''; $db['mysql']['dbdriver'] = 'mysql'; $db['mysql']['dbprefix'] = ''; $db['mysql']['pconnect'] = FALSE; $db['mysql']['db_debug'] = FALSE; $db['mysql']['cache_on'] = FALSE; $db['mysql']['cachedir'] = ''; $db['mysql']['char_set'] = 'utf8'; $db['mysql']['dbcollat'] = 'utf8_general_ci'; $db['mysql']['swap_pre'] = ''; $db['mysql']['autoinit'] = TRUE; $db['mysql']['stricton'] = FALSE;
MySQL Example is available, but you can change to PostgreSQL or other supported.
Codeigniter supports: MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, and ODBC.
More details about database configuration you can find at: http://ellislab.com/codeigniter/user-guide/database/configuration.html
Script contains file translation and content translation (saved in database). With each version script supports more translations, in version 1.5.4 12 translations are cooming with script, sometimes few words are not translated (because of version different so should be translated by you).
Many guides and instructions can be found also in knowledge base: http://iwinter.com.hr/support/?s=translate
Login to admin->Settings->languages->Add language->enter for example ‘russian’ and code to for example ‘ru’.
Admin->Settings->Languages->Translate files for wanted language->frontend_template_lang.php->translate missing fields
Also can be translated manually via file:
templates\bootstrap2-responsive\language\{wanted_language}\frontend_template_lang.php
For backend you can translate files via administration for your langauge:
Admin->Settings->Languages->Translate files->Translate min. all fields in backend_base_lang.php
Also can be translated manually via file:
application\language\{wanted_language}\backend_base_lang.php
If you want to add a new language for backend, it is necessary to copy one of languages folder inside
"/application/language" (just cca. 270 lines to translate) and "/system/language" (* might be already translated)
change folder name and translate the files within the directory.
If you want to add a new language for frontend, it is necessary to copy one of languages folder inside
"/application/language" (can stay in english if you don't need it in backend), "/system/language" (* might be already translated) and "/templates/{theme}/language" (just cca. 40 lines to translate).
change folder name and translate the files within the directory.
And in all "backend_base_lang.php" language files add new language if not exists at line after 27. for example:
$lang['canadian'] = "Canadian";
In Admin interface add language:
You can find more about codeigniter translations at: http://ellislab.com/codeigniter/user-guide/libraries/language.html
There is example theme available in the directory "/templates/{theme}".
If you want to customize template will be best to copy and modify one of example templates.
Template language files can be found in "/languages/{language_name}" folder.
Template configuration file can be found in "/config/template_config.php" folder.
How to use?
Application use Standard simple Codeigniter Template Parser Class and alternative PHP syntax, slowly we replacing all pseudo variables with alternative PHP syntax because it's more easier to customize and bit fester:
http://ellislab.com/codeigniter/user-guide/libraries/parser.html
Variable pairs example:
{slideshow_images} <img src="{url}" /> {/slideshow_images}
And alternative PHP syntax also can be used:
<?foreach(slideshow_images as $img):?> <img src="<?=$img['url']?>" /> <?endforeach;?>
All about parameters, you will find in next sections. Of course probably there is few hidden parameters or some "tricks" how to fetch something special so take a look into example template files for it.
You can switch theme in Administration interface, Page template can be switched on page editing:
Parameters usable in page_* files.
Standard page parameters:
{page_id} {page_slug} {page_navigation_title} {page_title} {page_keywords} {page_description} {page_body} {page_template} {lang_code} {page_current_url} {homepage_url} {ajax_load_url}
Component parameters:
Parameters that represents sub-templates in "/components" folder, for example:
{template_head}
Language parameters:
Language fields can be entered in "/language/{language}/frontend_template_lang.php" file and used as language parameter, for example:
{lang_#} // # represents key in PHP array // Examples {lang_DateASC} {lang_DateDESC} {lang_Noestates}
Slideshow parameters:
{slideshow_images} {num} //returns image num 0,1,2...n {first_active} //returns "active" if this is first image {url} {/slideshow_images}
Settings parameters:
There is standard settings parameter that just return string, {settings_#} and {has_settings_#} that can be used to check if parameter is not empty string.
{settings_address} {settings_gps} {settings_email} {settings_template} {settings_tracking} {settings_address_footer} {settings_phone} {settings_fax} {settings_email} {has_settings_address} ... {/has_settings_address} {has_settings_gps} ... {/has_settings_gps} {has_settings_email} ... {/has_settings_email} {has_settings_template} ... {/has_settings_template} {has_settings_tracking} ... {/has_settings_tracking}
Other widgets and helpers parameters:
{print_menu} // print main menu {print_lang_menu} // print lang menu {year} // return year {lang_code} // return lang code
First real estates results to show on homepage or other pages:
{has_no_results} Message that no results found {/has_no_results} {results} {thumbnail_url} {url} // url to property page {address} {data} {gps} {repository_id} {is_featured} {option_#} // # represents key of option, can be found in Admin->Estates->Options {options_name_#} // where each option have #num before name {/results} {pagination_links} // return pagination links
Real estates for map on top:
{all_estates_center} // Calculated map center coordinates {all_estates} {gps} // Coordinates {thumbnail_url} {address} {option_#} // # represents key of option {url} {/all_estates}
Search form parameters:
{purpose_rent_active} // return "active" if template filename contains rent {purpose_sale_active} // return "active" if template filename contains sale {options_name_#} // Option names {options_values_#} // Option values for <select><option> // # represents key of option, can be found in Admin->Estates->Options // where each option have #num before name
//Usable lang parameters {lang_Sale} {lang_Rent} {lang_CityorCounty} {lang_Search}
Agents:
{all_agents} {image_url} {name_surname} {phone} {mail} {address} {/all_agents}
Page images and documents:
{has_page_images} {page_images} {url} {filename} {thumbnail_url} {/page_images} {/has_page_images} {has_page_documents} {page_documents} {url} {filename} {/page_documents} {/has_page_documents}
Contact form based on Administration settings:
{validation_errors} {form_sent_message} {form_error_firstname} // return "error", usable for error class on input {form_value_firstname} // return value for specific input, on validation error {form_error_email} {form_value_email} {form_error_phone} {form_value_phone} {form_error_message} {form_value_message} //Other usable {has_settings_email} ... {/has_settings_email} {page_current_url}
If you want to add more, currently not available data to template you can edit "application/controllers/frontend.php", index method. Just add data to $this->data array and it will be available with {array_key}.
More about tamplates and about codeigniter you can found at CodeIgniter user guide http://ellislab.com/codeigniter/user-guide/libraries/parser.html
Parameters usable in property file.
Standard page parameters, based on property data:
{page_id} {page_slug} {page_navigation_title} {page_title} {page_keywords} {page_description} // Property description {page_body} // Property content {page_template} {lang_code} {page_current_url} {homepage_url} {ajax_load_url} {estate_image_url} // first property image {estate_data_gps} {estate_data_address} {estate_data_id}
Component parameters:
Parameters that represents sub-templates in "/components" folder, for example:
{template_head}
Language parameters:
Language fields can be entered in "/language/{language}/frontend_template_lang.php" file and used as language parameter, for example:
{lang_#} // # represents key in PHP array // Examples {lang_DateASC} {lang_DateDESC} {lang_Noestates}
Slideshow parameters (for property):
{slideshow_images} {num} //returns image num 0,1,2...n {first_active} //returns "active" if this is first image {url} {/slideshow_images}
Settings parameters:
There is standard settings parameter that just return string, {settings_#} and {has_settings_#} that can be used to check if parameter is not empty string.
{settings_address} {settings_gps} {settings_email} {settings_template} {settings_tracking} {settings_address_footer} {settings_phone} {settings_fax} {settings_email} {has_settings_address} ... {/has_settings_address} {has_settings_gps} ... {/has_settings_gps} {has_settings_email} ... {/has_settings_email} {has_settings_template} ... {/has_settings_template} {has_settings_tracking} ... {/has_settings_tracking}
Other widgets and helpers parameters:
{print_menu} // print main menu {print_lang_menu} // print lang menu {year} // return year {lang_code} // return lang code
Real estates for map on top:
{all_estates_center} // Calculated map center coordinates {all_estates} {gps} // Coordinates {thumbnail_url} {address} {option_#} // # represents key of option {url} {/all_estates}
Search form parameters:
{options_name_#} // Option names {options_values_#} // Option values for <select><option> // # represents key of option, can be found in Admin->Estates->Options // where each option have #num before name
//Usable lang parameters {lang_Sale} {lang_Rent} {lang_CityorCounty} {lang_Search}
Property images:
{has_page_images} {page_images} {url} {filename} {thumbnail_url} {/page_images} {/has_page_images}
Enquire form based on agent Administration settings:
{validation_errors} {form_sent_message} {form_error_firstname} // return "error", usable for error class on input {form_value_firstname} // return value for specific input, on validation error {form_error_email} {form_value_email} {form_error_phone} {form_value_phone} {form_error_address} {form_value_message} {form_error_message} {form_value_message} //Other usable {has_settings_email} ... {/has_settings_email} {page_current_url}
Property options/amenities:
{category_options_#} // # represents key of category option {is_checkbox} // if type is checkbox {option_value} {option_name} {/is_checkbox} {is_dropdown} // if type is dropdown {option_value} {option_name} {/is_dropdown} {is_text} // if type is text {option_value} {option_name} {/is_text} {/category_options_#} // You can also access directly to option: {estate_data_option_#} // # represents key of option
Property agent data:
{has_agent} {agent_name_surname} {agent_phone} {agent_mail} {agent_address} {agent_image_url} {/has_agent}
If you want to add more, currently not available data to template you can edit "application/controllers/frontend.php", property method. Just add data to $this->data array and it will be available with {array_key}.
More about tamplates and about codeigniter you can found at CodeIgniter user guide http://ellislab.com/codeigniter/user-guide/libraries/parser.html
Parameters usable in results file.
Language parameters:
Language fields can be entered in "/language/{language}/frontend_template_lang.php" file and used as language parameter, for example:
{lang_#} // # represents key in PHP array // Examples {lang_DateASC} {lang_DateDESC} {lang_Noestates}
Real estates results to show:
{has_no_results} Message that no results found {/has_no_results} {results} {has_view_grid} // for grid view {thumbnail_url} {url} // url to property page {address} {data} {gps} {repository_id} {is_featured} {option_#} // # represents key of option, can be found in Admin->Estates->Options {option_chlimit_#} // character limit for description to show in results {options_name_#} // where each option have #num before name {/has_view_grid} {has_view_list} // for list view {thumbnail_url} {url} // url to property page {address} {data} {gps} {repository_id} {is_featured} {option_#} // # represents key of option, can be found in Admin->Estates->Options {options_name_#} // where each option have #num before name {/has_view_list} {/results} {pagination_links} // return pagination links
View options
{view_grid_selected} // returns selected if view is grid type, usable for css class {view_list_selected} // returns selected if view is list type {order_dateASC_selected} // returns selected if dateASC order type is selected, usable for css class {order_dateDESC_selected} // returns selected if dateDESC order type is selected, usable for css class
If you want to add more, currently not available data to template you can edit "application/controllers/frontend.php", ajax method. Just add data to $this->data array and it will be available with {array_key}.
More about tamplates and about codeigniter you can found at CodeIgniter user guide http://ellislab.com/codeigniter/user-guide/libraries/parser.html
If you want best seo principles like just content title in URL, without "index.php" in URI, you need to:
Rename "seo.htaccess" file to ".htaccess".
In "application/config/config.php" change:
$config['index_page'] = 'index.php';
to
$config['index_page'] = '';
Application also support XML sitemap, URL for sitemap: your-domain.com/sitemap.xml
Also don't forget to check in knowledge base for some tricks etc.: http://iwinter.com.hr/support/?s=seo
URL: your-domain.com/index.php/api/rss/{lang_code}/{limit_properties}/{offset_properties}
Example call: your-domain.com/index.php/api/json/en?
Supported uri parameters, for pagination:
$limit_properties=20
$offset_properties=0
Supported query parameters:
options_hide
v_rectangle_ne=46.3905, 16.8329
v_rectangle_sw=45.9905, 15.999
search={"search_option_smart":"yellow","v_search_option_2":"Apartment"}
Complete example:
index.php/api/json/en/20/0?options_hide&search={"search_option_smart":"cestica"}&v_rectangle_ne=46.3905, 16.8329&v_rectangle_sw=45.9905, 15.999
Example for "from":
{"v_search_option_36_from":"60000"}
Example for indeed value:
{"v_search_option_4":"Sale and Rent"}
URL: your-domain.com/index.php/frontend/ajax/{lang_code}/{page_id}/{pagination_offset}
JSON main results:
{ print: "HTML for print" order: "Order info" lang_id: "Language id" results: [array of real estates objects] }
Real estates object
{ id gps is_featured address repository_id date option_# }
Before you start with custom coding you should know that I always building something additional and currently have many modules like:
News/Blog pro
Packages
Booking & availability calender
Ads module
And many more...
Also take a look in my codecanyon portfolio:
http://codecanyon.net/user/sanljiljan/portfolio
Or my services list:
http://iwinter.com.hr/support/?page_id=1870
Knowledge of the CodeIgniter PHP Framework is required.
CodeIgniter is a very simple framework with the best documentation ever seen, so you can easy learn it.
Look at http://ellislab.com/codeigniter/user-guide
You can also change local path in index.php, line 24 to select ENVIRONMENT configuration.
Don't forget to check our rich knowledge base: http://iwinter.com.hr/support/
Now we have special website made for support, frequency questions for customizations, guides for basic CSS/HTML, tips & tricks etc.: http://iwinter.com.hr/support
If you have any question that are beyond the scope of this help file, please feel free to check our support instructions:
http://codecanyon.net/item/real-estate-agency-portal/6539169/support
Regarding hosting providers, my scripts are tested on:
And my suggestion if you decide to purchase by other hosting provider, please save your money/time and don’t buy from godaddy, goddady is good for domains but not for hosting because of many configuration limitations!
I've used the following files and services as listed:
Thank you so much for purchasing this application. I'd be glad to help you if you have any questions relating to this app. No guarantees, but I will do my best to help.