mirror of
https://github.com/a2nt/silverstripe-elemental-basics.git
synced 2024-10-22 17:05:54 +02:00
IMPR: Multi-slider
This commit is contained in:
parent
d955523d45
commit
0fb2342887
@ -62,3 +62,7 @@ Dynamic\Elements\Image\Elements\ElementImage:
|
||||
|
||||
DNADesign\ElementalVirtual\Model\ElementVirtual:
|
||||
controller_template: VirtualElementHolder
|
||||
|
||||
Dynamic\FlexSlider\Model\SlideImage:
|
||||
extensions:
|
||||
- A2nt\ElementalBasics\Extensions\SlideImageEx
|
@ -8,9 +8,11 @@
|
||||
|
||||
namespace A2nt\ElementalBasics\Elements;
|
||||
|
||||
use Colymba\BulkUpload\BulkUploader;
|
||||
use Dynamic\Elements\Flexslider\Elements\ElementSlideshow;
|
||||
use Dynamic\FlexSlider\Model\SlideImage;
|
||||
use Dynamic\FlexSlider\ORM\FlexSlider;
|
||||
use SilverStripe\Assets\Image;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\Forms\CheckboxField;
|
||||
use SilverStripe\Forms\LiteralField;
|
||||
@ -33,6 +35,7 @@ class SliderElement extends ElementSlideshow
|
||||
|
||||
private static $db = [
|
||||
'Interval' => 'Int',
|
||||
'SlidesInRow' => 'Int',
|
||||
];
|
||||
|
||||
private static $extensions = [
|
||||
@ -79,13 +82,20 @@ class SliderElement extends ElementSlideshow
|
||||
]);
|
||||
|
||||
$fields->addFieldsToTab('Root.Settings', [
|
||||
NumericField::create('Interval', 'Auto-play Interval'),
|
||||
NumericField::create('Interval', 'Auto-play Interval (sec)'),
|
||||
NumericField::create('SlidesInRow'),
|
||||
]);
|
||||
|
||||
$grid = $fields->dataFieldByName('Slides');
|
||||
if ($grid) {
|
||||
$config = $grid->getConfig();
|
||||
|
||||
/*$bulk = new BulkUploader('Image', Image::class, true);
|
||||
$bulk
|
||||
->setUfSetup('setFolderName', 'Uploads/SlideImages');
|
||||
$config->addComponent($bulk);*/
|
||||
|
||||
|
||||
$columns = new GridFieldEditableColumns();
|
||||
$columns->setDisplayFields([
|
||||
'Hide' => [
|
||||
|
32
src/Extensions/SlideImageEx.php
Executable file
32
src/Extensions/SlideImageEx.php
Executable file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: tony
|
||||
* Date: 6/23/18
|
||||
* Time: 1:23 PM
|
||||
*/
|
||||
|
||||
namespace A2nt\ElementalBasics\Extensions;
|
||||
|
||||
use DNADesign\Elemental\Models\BaseElement;
|
||||
use SilverStripe\CMS\Model\SiteTree;
|
||||
use SilverStripe\Forms\TreeDropdownField;
|
||||
use SilverStripe\ORM\DataExtension;
|
||||
use SilverStripe\Forms\FieldList;
|
||||
use SilverStripe\Forms\LiteralField;
|
||||
use SilverStripe\ORM\ValidationResult;
|
||||
|
||||
class SlideImageEx extends DataExtension
|
||||
{
|
||||
/*public function onBulkUpload()
|
||||
{
|
||||
die('saadsadssdsda2222');
|
||||
}
|
||||
|
||||
public function validate(ValidationResult $validationResult)
|
||||
{
|
||||
if (!$this->owner->Name) {
|
||||
$this->owner->Name = rand();
|
||||
}
|
||||
}*/
|
||||
}
|
@ -9,7 +9,20 @@
|
||||
|
||||
<% if $SlideShow %>
|
||||
<div class="element__content">
|
||||
<div id="Carousel{$ID}" class="element__carousel carousel slide js-carousel"<% if $SlideShow.count > 1 %><% if $Interval %> data-bs-interval="$Interval"<% end_if %> data-bs-indicators="true" data-bs-arrows="true"<% end_if %>>
|
||||
<div
|
||||
id="Carousel{$ID}"
|
||||
class="element__carousel carousel slide js-carousel
|
||||
<% if $SlidesInRow > 1 %>
|
||||
carousel-multislide
|
||||
<% end_if %>"
|
||||
<% if $SlidesInRow > 1 %>
|
||||
data-length="{$SlidesInRow}"
|
||||
<% end_if %>
|
||||
<% if $SlideShow.count > 1 %>
|
||||
<% if $Interval %> data-bs-interval="$Interval"<% end_if %>
|
||||
data-bs-indicators="true" data-bs-arrows="true"
|
||||
<% end_if %>
|
||||
>
|
||||
<div class="carousel-inner">
|
||||
<% loop $SlideShow %>
|
||||
<div class="carousel-item carousel-item-{$SlideType}<% if no $Controls %> carousel-item-nocontrols<% end_if %><% if $First %> active<% end_if %>">
|
||||
|
Loading…
Reference in New Issue
Block a user