Source of file ListingHolder.php
Size: 3,110 Bytes - Last Modified: 2021-12-24T05:18:05+00:00
/var/www/docs.ssmods.com/process/src/src/pages/ListingHolder.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | <?php /* use SilverStripe\View\Requirements; use SilverStripe\ORM\PaginatedList; use SilverStripe\Forms\GridField\GridField; use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor; use SilverStripe\GridFieldExtensions\GridFieldAddNewMultiClass; */ class ListingHolder extends Page { //private static $allowed_children = array("ListingPage"); private static $default_child = 'ListingPage'; private static $db = array(); private static $has_one = array(); private static $has_many = array( //"Areas" => "ListingArea", //"Collections" => "ListingCollection", //"Locations" => "ListingLocation", //"Types" => "ListingType", //"FilterComponents" => "ListingSidebarComponent", ); private static $many_many = array(); private static $defaults = array(); public function getCMSFields() { $f = parent::getCMSFields(); /* $gridFieldConfig = GridFieldConfig_RecordEditor::create(); $gridFieldConfig->addComponent(new GridFieldAddNewMultiClass()); $gridFieldConfig->removeComponentsByType('GridFieldAddNewButton'); // $gridFieldConfig->addComponent(new GridFieldSortableRows('SortOrder')); $f->addFieldsToTab('Root.Manager', [ //new GridField('FilterComponents', 'FilterComponents', $this->FilterComponents(), $gridFieldConfig), //GridField::create('Areas', 'Areas', $this->Areas(), GridFieldConfig_RecordEditor::create()), //GridField::create('Locations', 'Locations', $this->Locations(), GridFieldConfig_RecordEditor::create()), //new GridField('Types', 'Types', $this->Types(), GridFieldConfig_RecordEditor::create()), //new GridField('Collections', 'Collections', $this->Collections(), GridFieldConfig_RecordEditor::create()), ]); */ return $f; } public function requireDefaultRecords() { parent::requireDefaultRecords(); } public function ActiveListings( $limit = 50 ) { $oPages = $this->Children(); $oListings = new PaginatedList( $oPages ); $oListings->setPageLength( $limit ); return $oListings; } public function MakeSameHeight() { if ( $this->owner->LayoutView() === 'grid' && $this->owner->SameHeightBoxes ) { return 'SameHeightBoxes'; } return false; } } class ListingHolder_Controller extends Page_Controller { public function init() { Requirements::css( INSITE_COMMON_DIR . '/css/ListItemsContainer.css' ); parent:: init(); Requirements::javascript( ISOTOPE_DIR . '/dist/isotope.pkgd.min.js' ); Requirements::javascript( INSITE_COMMON_DIR . '/js/ListingManager.js' ); Requirements::javascript( INSITE_COMMON_DIR . '/js/imagesloaded.pkgd.min.js' ); Requirements::javascript( INSITE_COMMON_DIR . '/js/PluginManager.js' ); } } |