Zoekopdracht addon
De Zoekopdracht addon voegt extra functionaliteit toe aan de "WordPress Makelaars plugin geschikt voor Realworks", met deze add-on kunnen gebruikers zoekopdrachten invullen via een formulier die vervolgens automatisch verstuurd worden naar het Realworks CRM pakket. De add-on is van zichzelf "Plug & Play", ook is het mogelijk om je eigen formulier vorm te geven en te bouwen.
Introductie
Welkom bij de documentatie voor onze Zoekopdracht add-on. De Zoekopdracht Add-on voegt extra functionaliteit toe aan de "WordPress Makelaars plugin geschikt voor Realworks", met deze add-on kunnen gebruikers zoekopdrachten invullen via een formulier die vervolgens automatisch verstuurd worden naar het Realworks CRM pakket. De add-on is van zichzelf Plug & Play
, ook is het mogelijk om je eigen formulier vorm te geven en te bouwen.
Features
- Zoekopdrachten versturen naar het Realworks CRM pakket
- Mogelijkheid om meerdere vestigingen te configureren
- Eenvoudige integratie middels shortcode
- Eventueel formulier zelf op maat te (laten) maken/stylen
- Uitgebreide controle over weergave van velden
- Technische online documentatie
Installatie
Installeer de plugin door de ontvangen plugin naar /wp-content/plugins/
te uploaden. Activeer de plugin vervolgens vanuit de WordPress admin.
Plugin updates worden beschikbaar gesteld via de WordPress plugin pagina.
Vereisten
- Makelaar Plugin (geschikt voor Realworks) 4.0 of hoger
- PHP 8.1 of hoger
Licentie
Bij de aanschaf van de plugin heb je een licentiecode gekregen. Het is van belang dat deze wordt ingevoerd om de plugin zonder restricties te laten werken en om plugin updates te kunnen ontvangen.
Instellingen
Alle instellingen van de plugin worden opgeslagen in de WordPress opties tabel.
Tussendoor B.V.
Lange Marktstraat 1
8911 AD Leeuwarden
e. info@tussendoor.nl
w. http://www.tussendoor.nl
Admin
Deze sectie van de documentatie is bedoeld voor het gebruik van de plugin vanuit de WordPress omgeving.
Dashboard
Het dashboard dient als centrale beginpunt van de plugin. Zo biedt het beknopt inzicht over de installatie. Na de activatie kan de plugin vanaf het dashboard geactiveerd worden door de meegeleverde licentiecode in te vullen.
Cache legen
Tevens slaat de plugin cache op in de WordPress opties, voor het oplossen van specifieke problemen kan het soms voorkomen dat de cache verwijderd moet worden. Via de knop "Cache legen" kan ook de cache verwijderd worden.
Instellingen
Binnen de instellingen kun je meerdere koppelingen toevoegen. Met deze instellingen haalt de plugin locatiegegevens op vanuit het Realworks CRM pakket waarin de gebruiker kan kiezen om aanbod binnen te zoeken. Ook verstuurd de plugin met deze gegevens zijn zoekopdrachten richting het Realworks CRM systeem.
Het is (optioneel) mogelijk om per koppeling een pagina uit te kiezen waar het formulier naartoe moet doorverwijzen na het succesvol versturen van een zoekopdracht.
Deze koppeling gegevens kun je allemaal terug vinden binnen je Developer Portal van Realworks.
Shortcodes ophalen
Nadat een koppeling is toegevoegd kun je de pagina verversen en zul je zien dat de koppeling is toegevoegd, ook zul je zien dat er een shortcode is gegenereerd, deze shortcode kun je vervolgens kopiëren en plakken op een pagina of bericht.
Ontwikkeling
De Zoekopdrachten add-on komt geleverd met een "default" formulier, mocht dit formulier niet voldoen aan jouw wensen dan is het mogelijk eentje custom op maat te (laten) maken.
In de voorbeelden gebruiken we voorbeeld velden, je kunt alle beschikbare velden vinden onder de velden documentatie.
Template
Het standaard template van de add-on kun je vinden in onderstaand pad binnen de plugin en kun je eventueel gebruiken als voorbeeld./wp-content/plugins/tussendoor-zoekopdracht-addon/templates/public/form.php
Om bovenstaand pad te wijzigen en te verwijzen naar je eigen kan d.m.v. een filter.
add_filter('zoekopdracht_form_path', function($path) {
return get_stylesheet_directory().'/custom_form.php';
});
In deze template file heb je vervolgens de variabele $zoekopdracht
tot je beschiking.
Conditionele weergave van velden
Het kan voorkomen dat er specifieke eisen zijn om velden op een bepaalde manier weer te geven, bijvoorbeeld omdat ze afhankelijk zijn van andere velden. Om te voorkomen dat deze logica overal door het thema opnieuw geschreven wordt biedt de plugin een manier om dit voor elkaar te krijgen.
Een veld uit onze plugin is een object en kan naast het terug geven van zijn waarde nog veel meer informatie terug geven. Zo kunnen de volgende methods worden gebruikt:
<div>
<?= $zoekopdracht->parent_field; ?>
</div>
<div data-show-when="parent_field:SAMPLE_VALUE_A,SAMPLE_VALUE_B,SAMPLE_VALUE_C">
<!--
Dit veld komt pas tevoorschijn wanneer parent_field
"SAMPLE_VALUE_A", "SAMPLE_VALUE_B" of "SAMPLE_VALUE_C" is
-->
<?= $zoekopdracht->CHILD_FIELD; ?>
</div>
Attributen toevoegen/wijzigen
Het is mogelijk extra attributen zoals bijv placeholder, title, aria-* toe te voegen of overschrijven.
echo $zoekopdracht->field->placeholder('My awesome placeholder');
echo $zoekopdracht->field->title('My awesome title');
echo $zoekopdracht->field->aria_hidden('true');
echo $zoekopdracht->field->min(0)->step(10000)->value(200000);
Dit werkt d.mv. magic methods, er is dus geen controle op valide HTML attributen.
Een methode die gebruik maakt van een _ (laag streepje) zal worden vertaald naar een - (koppelstreepje) waardoor bijvoorbeeld aria attributen mogelijk zijn.
Tonen van labels
Je kunt het <label>
van een veld tonen d.m.v. de label()
method, ook is het mogelijk om e.v.t. je eigen label titel op te geven.
echo $zoekopdracht->field->label();
echo $zoekopdracht->field->label('Custom title');
Velden wijzigen
Het is mogelijk om velden te wijzigen naar bijvoorbeeld andere elementen, ook is het bijvoorbeeld mogelijk om de waardes van velden te overschrijven.
add_filter('tussendoor_zoekopdracht_alter_fields', function($fields) {
// Mogelijke velden (die eventueel te extenden zijn voor custom rendering)
// Tussendoor\Zoekopdracht\Elements\Element::checkbox('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::email('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::hidden('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::number('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::radio('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::select('veldnaam');
// Tussendoor\Zoekopdracht\Elements\Element::text('veldnaam');
$email = Tussendoor\Zoekopdracht\Elements\Element::text('email')->placeholder('E-mailadres');
$fields['relatie']->persoon->email = $email;
$zoekgebieden = Tussendoor\Zoekopdracht\Elements\Element::checkbox('zoekgebieden');
$fields['locaties']->zoekgebieden = $zoekgebieden;
$fields['woonwens']->koopprijsVanaf->values([
'' => 'Geen minimum',
'100000' => '€ 100.000',
'150000' => '€ 150.000',
'200000' => '€ 200.000',
'250000' => '€ 250.000',
'300000' => '€ 300.000',
'350000' => '€ 350.000',
'400000' => '€ 400.000',
'500000' => '€ 500.000',
]);
return $fields;
});
Velden dynamisch vullen
Het is mogelijk om velden dynamisch te vullen of selecteren via bijvoorbeeld een formulier/url van een andere pagina. De plugin leest de globale $_POST
en $_GET
variabelen uit bij het renderen van het veld. Wanneer de naam van het veld overeenkomt met de key vanuit $_POST
of $_GET
dan zal het veld automatisch gevuld of geselecteerd worden i.c.m. de value vanuit $_POST
of $_GET
. Op deze manier kun je een zoekopdracht vanuit bijvoorbeeld een overzichtpagina doorsturen naar de zoekopdracht add-on. De add-on controleert op beide de values en labels en daarbij vrij "losjes" om wanneer mogelijk resultaat te geven.
<!-- Via een url -->
<a href="https://mijnwebsite.nl/zoekopdracht-aanmaken/?zoekgebieden[]=Leeuwarden&zoekgebieden[]=777">
Wees direct op de hoogte van ons aanbod in Leeuwarden en Amsterdam!
</a>
<a href="https://mijnwebsite.nl/zoekopdracht-aanmaken/?objectsoort=BOUWGROND">
Wees direct op de hoogte van ons nieuwe bouwgrond aanbod!
</a>
<!-- Of via een formulier -->
<form action="https://mijnwebsite.nl/zoekopdracht-aanmaken/" method="post">
<select name="zoekgebieden[]" multiple>
<option value="666">Leeuwarden</option>
<option value="777">Amsterdam</option>
</select>
<select name="objectsoort">
<option value="WOONHUIS_OF_APPARTEMENT">Woonhuis of appartement</option>
<option value="WOONHUIS">Woonhuis</option>
<option value="APPARTEMENT">Appartement</option>
<option value="BOUWGROND">Bouwgrond</option>
<option value="OVERIGOG">Overig onroerend goed</option>
</select>
<button type="submit">Zoekopdracht aanmaken</button>
</form>
Velden
Hier staat gedocumenteerd welke velden er allemaal beschikbaar zijn. Je kunt de veld attributen ook nog aanpassen mocht je dat nodig achten, lees hierover meer op de Ontwikkeling pagina.
Let op: Bij een aantal velden is conditionele logica van toepassing vanuit Realworks, we raden je aan hiervoor de Developers Portal van Realworks te raadplegen.
// Relatie velden
$zoekopdracht->relatie->persoon->geslacht;
$zoekopdracht->relatie->persoon->titel;
$zoekopdracht->relatie->persoon->initialen;
$zoekopdracht->relatie->persoon->roepnaam;
$zoekopdracht->relatie->persoon->tussenvoegsel;
$zoekopdracht->relatie->persoon->achternaam;
$zoekopdracht->relatie->persoon->email;
$zoekopdracht->relatie->persoon->mobielTelefoonnummer;
$zoekopdracht->relatie->persoon->telefoonnummer;
$zoekopdracht->relatie->persoon->postcode;
$zoekopdracht->relatie->persoon->huisnummer;
$zoekopdracht->relatie->persoon->huisnummertoevoeging;
$zoekopdracht->relatie->persoon->straat;
$zoekopdracht->relatie->persoon->woonplaats;
$zoekopdracht->relatie->persoon->land;
// Locatie velden
$zoekopdracht->locaties->plaatsen;
$zoekopdracht->locaties->zoekgebieden;
// Woonwens velden
$zoekopdracht->woonwens->aantalSlaapkamersVanaf;
$zoekopdracht->woonwens->appartementsoorten;
$zoekopdracht->woonwens->badkamerOpBeganeGrond;
$zoekopdracht->woonwens->balkonPatioDakterras;
$zoekopdracht->woonwens->bestaandeBouw;
$zoekopdracht->woonwens->bouwjaarVanaf;
$zoekopdracht->woonwens->bouwjaarTotEnMet;
$zoekopdracht->woonwens->garage;
$zoekopdracht->woonwens->gedeeltelijkGestoffeerd;
$zoekopdracht->woonwens->gemeubileerd;
$zoekopdracht->woonwens->gestoffeerd;
$zoekopdracht->woonwens->huurprijsVanaf;
$zoekopdracht->woonwens->huurprijsTotEnMet;
$zoekopdracht->woonwens->koopprijsVanaf;
$zoekopdracht->woonwens->koopprijsTotEnMet;
$zoekopdracht->woonwens->lift;
$zoekopdracht->woonwens->liggingen;
$zoekopdracht->woonwens->nieuwbouw;
$zoekopdracht->woonwens->objectsoort;
$zoekopdracht->woonwens->perceelOppervlakteVanaf;
$zoekopdracht->woonwens->permanenteBewoning;
$zoekopdracht->woonwens->recreatiewoning;
$zoekopdracht->woonwens->slaapkamerOpBeganeGrond;
$zoekopdracht->woonwens->tuinliggingen;
$zoekopdracht->woonwens->woningsoorten;
$zoekopdracht->woonwens->woningtypes;
$zoekopdracht->woonwens->woonInhoudVanaf;
$zoekopdracht->woonwens->woonOppervlakteVanaf;
$zoekopdracht->woonwens->woonkamerOppervlakteVanaf;