This commit is contained in:
ThemeLexus 2019-09-30 11:11:35 +07:00
parent 65d06225d5
commit 2ccc8611b6
4 changed files with 93 additions and 45 deletions

View File

@ -23,6 +23,17 @@ if ( ! defined( 'ABSPATH' ) ) {
*/
class OpalEstate_Shortcodes {
/**
* Get instance of this object
*/
public static function get_instance(){
static $_instance;
if( !$_instance ){
$_instance = new OpalEstate_Shortcodes();
}
return $_instance;
}
/**
* Static $shortcodes
*/
@ -39,7 +50,7 @@ class OpalEstate_Shortcodes {
'properties' => [ 'code' => 'properties', 'label' => esc_html__( 'Properties', 'opalestate-pro' ) ],
'search_properties_result' => [ 'code' => 'search_properties_result', 'label' => esc_html__( 'Search Properties Result', 'opalestate-pro' ) ],
'search_properties' => [ 'code' => 'search_properties', 'label' => esc_html__( 'Search Properties', 'opalestate-pro' ) ],
'search_properties_v' => [ 'code' => 'search_properties_v', 'label' => esc_html__( 'Search Properties Vertical', 'opalestate-pro' ) ],
'search_split_maps' => [ 'code' => 'search_split_maps', 'label' => esc_html__( 'Search Split Maps', 'opalestate-pro' ) ],
'search_map_properties' => [ 'code' => 'search_map_properties', 'label' => esc_html__( 'Search Map Properties', 'opalestate-pro' ) ],
'ajax_map_search' => [ 'code' => 'ajax_map_search', 'label' => esc_html__( 'Ajax Search Map Properties', 'opalestate-pro' ) ],
@ -58,6 +69,9 @@ class OpalEstate_Shortcodes {
}
/**
* Display all properties follow user when logined
*/
public function shortcode_button() {
}
@ -114,8 +128,20 @@ class OpalEstate_Shortcodes {
public function search_properties_result( $atts=[] ) {
$atts = is_array( $atts ) ? $atts : [];
$default = array(
'style' => null,
'style_list' => null,
'column' => null,
);
return opalestate_load_template_path( 'shortcodes/search-properties-result', $atts );
$atts = array_merge( $default, $atts );
$html = '<div class="opalesate-properties-ajax opalesate-properties-results" data-mode="html">';
$html .= opalestate_load_template_path( 'shortcodes/ajax-map-search-result', $atts );
$html .= '</div>';
return $html;
}
/**
@ -135,25 +161,46 @@ class OpalEstate_Shortcodes {
/**
* Render search property page with vertical form and map
*/
public function search_properties_v() {
return opalestate_load_template_path( 'shortcodes/search-properties-v', [ 'loop' => '' ] );
public function search_split_maps( $atts=[] ) {
$atts = is_array( $atts ) ? $atts : [];
$default = array(
'search_form' => 'simple-city',
'paged' => 1
);
$atts = array_merge( $default, $atts );
return opalestate_load_template_path( 'shortcodes/search-split-maps', $atts );
}
/**
* Render search property page with vertical form and map
*/
public function search_map_properties() {
return opalestate_load_template_path( 'shortcodes/search-map-properties', [ 'loop' => '' ] );
}
/**
* Render search property page with vertical form and map
*/
public function ajax_map_search() {
wp_enqueue_script( 'sticky-kit', OPALESTATE_PLUGIN_URL . 'assets/js/jquery.sticky-kit.min.js' );
return opalestate_load_template_path( 'shortcodes/ajax-map-search', [ 'loop' => '' ] );
}
/**
* Render search property page with vertical form and map
*/
public function ajax_map_quick_search() {
return opalestate_load_template_path( 'shortcodes/ajax-map-quick-search', [ 'loop' => '' ] );
}
/* register form show up */
/*
* Register form show up
*/
public function register_form( $atts = [] ) {
$atts = shortcode_atts( [
'message' => '',
@ -164,7 +211,9 @@ class OpalEstate_Shortcodes {
return opalestate_load_template_path( 'user/register-form', $atts );
}
/* sign in show up */
/*
* sign in show up
*/
public function login_form( $atts = [] ) {
$atts = shortcode_atts( [
'message' => '',
@ -177,4 +226,4 @@ class OpalEstate_Shortcodes {
}
new OpalEstate_Shortcodes();
OpalEstate_Shortcodes::get_instance();

View File

@ -1,37 +1,10 @@
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$rowcls = apply_filters( 'opalestate_row_container_class', 'opal-row' );
$atts = array(
'paged' => 1,
'search_form' => $settings['search_form']
);
?>
<div class="ajax-map-search-split full-width">
<div class="inner">
<div class="<?php echo esc_attr( $rowcls ); ?>">
<div class="col-lg-6 col-md-12 col-sm-12 split-maps-container">
<div id="opalestate-map-preview" style="height:800px;" data-page="<?php echo esc_attr( $paged ); ?>">
<div id="mapView">
<div class="mapPlaceholder"><span class="fa fa-spin fa-spinner"></span> <?php esc_html_e( 'Loading map...', 'opalestate-pro' ); ?>
<div class="sk-folding-cube">
<div class="sk-cube1 sk-cube"></div>
<div class="sk-cube2 sk-cube"></div>
<div class="sk-cube4 sk-cube"></div>
<div class="sk-cube3 sk-cube"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 pull-right">
<div class="split-search-container">
<div class="ajax-search-form">
<?php echo opalestate_load_template_path( 'search-box/' . $settings['search_form'], [ 'nobutton' => true ] ); ?>
</div>
<div class="opalesate-properties-ajax opalesate-properties-results" data-mode="html">
<?php echo opalestate_load_template_path( 'shortcodes/ajax-map-search-result', [ 'column' => 2 ] ); ?>
</div>
</div>
</div>
</div>
</div>
</div>
<?php echo opalestate_load_template_path( 'shortcodes/search-split-maps', $atts ); ?>

View File

@ -1,5 +0,0 @@
<div class="opalestate-search-properties-v">
<div class="search-properies-form">
<?php echo opalestate_load_template_path( 'parts/search-form-v' ); ?>
</div>
</div>

View File

@ -0,0 +1,31 @@
<div class="ajax-map-search-split full-width">
<div class="inner">
<div class="opal-row">
<div class="col-lg-6 col-md-12 col-sm-12 split-maps-container">
<div id="opalestate-map-preview" style="height:800px;" data-page="<?php echo esc_attr( $paged ); ?>">
<div id="mapView">
<div class="mapPlaceholder"><span class="fa fa-spin fa-spinner"></span> <?php esc_html_e( 'Loading map...', 'opalestate-pro' ); ?>
<div class="sk-folding-cube">
<div class="sk-cube1 sk-cube"></div>
<div class="sk-cube2 sk-cube"></div>
<div class="sk-cube4 sk-cube"></div>
<div class="sk-cube3 sk-cube"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-12 col-sm-12 pull-right">
<div class="split-search-container">
<div class="ajax-search-form">
<?php echo opalestate_load_template_path( 'search-box/'.$search_form, [ 'nobutton' => true ] ); ?>
</div>
<div class="opalesate-properties-ajax opalesate-properties-results" data-mode="html">
<?php echo opalestate_load_template_path( 'shortcodes/ajax-map-search-result', [ 'column' => 2 ] ); ?>
</div>
</div>
</div>
</div>
</div>
</div>