Source of file MapBoxSlice.php
Size: 1,367 Bytes - Last Modified: 2021-12-24T06:34:00+00:00
/var/www/docs.ssmods.com/process/src/src/MapBoxSlice.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php namespace Broarm\PageSlices; use SilverStripe\Forms\GridField\GridField; use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor; use SilverStripe\ORM\HasManyList; use XD\MapBox\UseMapBox; /** * Class MapBoxSlice * @package Broarm\PageSlices * @author Bram de Leeuw * * @method HasManyList Addresses */ class MapBoxSlice extends PageSlice implements UseMapBox { private static $table_name = 'MapBoxSlice'; private static $has_many = [ 'Addresses' => MapBoxSliceAddress::class ]; private static $slice_image = 'bramdeleeuw/silverstripe-pageslices-mapbox:client/images/MapBoxSlice.png'; public function getCMSFields() { $fields = parent::getCMSFields(); $gridFieldConfig = new GridFieldConfig_RecordEditor(); $fields->addFieldsToTab('Root.Main', [ GridField::create('Addresses', 'Addresses', $this->Addresses(), $gridFieldConfig) ]); $this->extend('updateCMSFields', $fields); return $fields; } /** * Return a array of markers * * @return array */ public function mapBoxMarkers() { $markers = $this->Addresses(); $this->extend('updateMarkers', $markers); if ($markers->count() > 0) { return $markers->toNestedArray(); } else { return null; } } } |