Source of file CycleCarouselPageExtension.php
Size: 1,547 Bytes - Last Modified: 2021-12-23T10:37:32+00:00
/var/www/docs.ssmods.com/process/src/code/CycleCarouselPageExtension.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php /** * Created by PhpStorm. * User: davis * Date: 14/03/14 * Time: 04:40 */ class CycleCarouselPageExtension extends DataExtension{ private static $db = array( ); private static $many_many = array( "CycleCarouselItems" => "CycleCarouselItem" ); private static $many_many_extraFields = array( "CycleCarouselItems" => array( "SortOrder" => 'Int' ) ); public function updateCMSFields(FieldList $fields) { $config = GridFieldConfig_RelationEditor::create(10); $config->addComponent(new GridFieldSortableRows('SortOrder')); $fields->addFieldToTab('Root.CycleCarouselItems', GridField::create('CycleCarouselItems', _t("CycleCarousel.CarouselItems", "Carousel items"), $this->owner->CycleCarouselItems(), $config ) ); } public function CycleCarouselItems(){ return $this->owner->getManyManyComponents("CycleCarouselItems")->sort("SortOrder"); } } class CycleCarouselPage_ControllerExtension extends Extension { public function onAfterInit(){ Requirements::css(CYCLCE_CAROUSEL_DIR.'/css/cycle-carousel.css'); Requirements::javascript(CYCLCE_CAROUSEL_DIR.'/javascript/jquery.cycle2.min.js'); Requirements::javascript(CYCLCE_CAROUSEL_DIR.'/javascript/jquery.cycle2.carousel.min.js'); } public function CycleCarouselObject(){ $slides = $this->owner->CycleCarouselItems(); if($slides->exists()){ $data = new ArrayData( array( "CarouselSlides" => $slides ) ); return $data->renderWith('CarouselTemplate'); } else { return false; } } } |