#46

Product support

Get help in the plugin support forum.

Categories

  • Marketing

Demo

Check it out at at http://propertymanagement.toughdeveloper.co.uk

Backend Login

User login (or register yourself)

Please do not enter real information here - the admin login details above will display the data.

Features

  • Client friendly - Simple admin interface to add new properties, categories and areas
  • SEO friendly - Sets meta tags and is compatible with Rainlab Sitemap plugin
  • Developer friendly - provides easy to use Events to extend default/overwrite default behaviour
  • User friendly - Optional integration with the Rainlab User plugin to save properties
  • Over 12 different search options by default
  • Provides enquiry form to help make conversions
  • Dashboard widget to view latest unread enquiries
  • Map pinpoint feature to place exactly where the property is
  • Translate and Currency support
  • Bootstrap default css styles / javascript

Optional Plugin Integrations

Required Plugin Integrations*

*May be removed by overriding partials if required

These plugin(s) are required for the plugin:

Property search results

Settings

Google Maps API Key (required)

API Key can be generated via the Google Developer Console

1) Enable the following API's:

  • Google Maps JavaScript API 2
  • Google Maps Geocoding API

2) Create a Browser Key on the Credentials tab with "HTTP referrers (websites)" key restriction in place.

3) Copy the newly generated key into the Property Management Settings

Property Search Form

Component Implementation

[propertySearchForm]
==
{% component "propertySearchForm" %}

If you choose to overwrite the default partial, ensure the input names are as follows:

  • is_for_sale
  • is_for_rental
  • areas[]
  • categories[]
  • min_price
  • max_price
  • min_bedrooms
  • max_bedrooms
  • min_bathrooms
  • max_bathrooms
  • search_term
  • order_by

Usage from pages other than result page

By default the search form updates the [properties] component via AJAX, if you need to implement the form on a page other than property results page simply overwrite the partial and set the <form> attributes as follows:

<form action="{{ properties | page }}">
    ...
</form>

Property results

Component Implementation

[properties]
==
{% component "properties" %}

Component Properties

  • Category Filter - To limit results to a specific category, e.g. if the page name was /categories/:category, enter {{ :category }}. This can also be passed as a string e.g. commercial
  • Area Filter - To limit results to a specific area, e.g. if the page name was /areas enter {{ :area }}. This can also be passed as a string e.g. london
  • Results Per Page - Integer of number of results per page
  • Detail Page - The page to link to, this should have the :slug parameter within the URI, e.g. properties/:slug
  • Show Featured - Limit the results to only featured properties, useful for page like homepage
  • Show Saved - Limits the results to properties saved by the logged in user saved properties (only works if user is logged in) - usually used to display an account save property list.

Extending and amending the search

The property search fires 3 events:

Before search

This is where you can set defaults, prevent certain filters from executing and amend posted data. For example you may have a page that just dispalys luxury products for sale, which you could default as follows:

Event::listen('toughdeveloper.properties.beforesearch', function($component) {
    $component->isForSale = true;
    $component->isForRental = false;
    $component->minBedrooms = 3;
    $component->minPrice = 250000;
});

The full list of variables that can be amending are as follows:

  • isForSale
  • isForRental
  • isFeatured
  • isSaved
  • searchTerm
  • categorySlug
  • categories
  • areaSlug
  • areas
  • minPrice
  • maxPrice
  • minBedrooms
  • maxBedrooms
  • minBathrooms
  • maxBathrooms
  • orderBy

Extend search

Here you can amend the Elequount builder query to add your own condition. For example if you have extended the plugin to have a is_new_build column, you can use this in the search:

Event::listen('toughdeveloper.properties.extendSearch', function($component) {
    if (input('is_new_build')) {
        $component->searchQuery->where('is_new_build', true);
    }
});

After Search

This event is usually used to amend the results before they are displayed to the page. For example if results on a certain page need to go to a different URL, you could do something like:

Event::listen('toughdeveloper.properties.aftersearch', function($component) {
    $component->results->each(function($item) {
        $item->setUrl('my-new-page', $component->controller);
    });
});
1.1.4

Improves meta description formatting

Jan 21, 2018

1.1.3

Fixes admin ordering and search.

Dec 04, 2017

1.1.2

Fixes property validation and ensures size column is nullable

Oct 15, 2017

1.1.1

Areas/Categories auto search children, also ensures works without translate plugin.

Sep 04, 2017

1.1.0

Moves property type & status to database, adds currency support and size

Sep 02, 2017

1.0.1

First version of Property Management

Aug 23, 2017