acf
This commit is contained in:
66
plugins/fields/acfmap/fields/acfmap.php
Normal file
66
plugins/fields/acfmap/fields/acfmap.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2018 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
// No direct access to this file
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Form\Field\HiddenField;
|
||||
|
||||
class JFormFieldACFMap extends HiddenField
|
||||
{
|
||||
/**
|
||||
* Method to get the field input markup.
|
||||
*
|
||||
* @return string The field input markup.
|
||||
*/
|
||||
public function getInput()
|
||||
{
|
||||
$this->class = 'tf-map-editor--value';
|
||||
|
||||
$value = is_string($this->value) && !empty($this->value) ? (json_decode($this->value) ? json_decode($this->value, true) : []) : [];
|
||||
|
||||
$show_sidebar = isset($this->element['show_sidebar']) ? (string) $this->element['show_sidebar'] === '1' : true;
|
||||
|
||||
$payload = [
|
||||
'readonly' => $this->readonly,
|
||||
'disabled' => $this->disabled,
|
||||
'name' => $this->name,
|
||||
'width' => 700,
|
||||
'required' => $this->required,
|
||||
'id' => $this->id,
|
||||
'showSidebar' => $show_sidebar,
|
||||
|
||||
|
||||
'scale' => (string) $this->element['scale'] !== '0' ? (string) $this->element['scale'] : false,
|
||||
'pro' => true,
|
||||
'maxMarkers' => isset($this->element['maximum_markers']) ? (int) $this->element['maximum_markers'] : 0,
|
||||
'markerImage' => (string) $this->element['markerImage'],
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
$default_coords = (string) $this->element['default_coords'];
|
||||
if ($default_coords)
|
||||
{
|
||||
$default_coords = array_map('trim', explode(',', $default_coords));
|
||||
if (count($default_coords) === 2)
|
||||
{
|
||||
$payload['lat'] = $default_coords[0];
|
||||
$payload['long'] = $default_coords[1];
|
||||
}
|
||||
}
|
||||
|
||||
if ($value)
|
||||
{
|
||||
$payload['value'] = $value;
|
||||
}
|
||||
|
||||
return \NRFramework\Widgets\Helper::render('MapEditor', $payload) . parent::getInput();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user