Source of file PricelistSiteTreeExtension.php
Size: 1,638 Bytes - Last Modified: 2021-12-23T10:50:54+00:00
/var/www/docs.ssmods.com/process/src/code/PricelistSiteTreeExtension.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?php /** * Class PricelistSiteTreeExtension * * @method DataList Pricelists() * * @property SiteTree|PricelistSiteTreeExtension $owner */ class PricelistSiteTreeExtension extends DataExtension { private static $many_many = array( 'Pricelists' => 'Pricelist', ); private static $many_many_extraFields = array( 'Pricelists' => array( 'SortOrder' => 'Int', ), ); public function updateCMSFields(FieldList $fields) { $grid_field_config = new GridFieldConfig_RelationEditor(); $grid_field = new GridField('Pricelists', _t('Pricelist.PLURALNAME'), $this->owner->Pricelists(),$grid_field_config); if (ClassInfo::exists('GridFieldSortableRows')) { //Make pricelists sortable if 'undefinedoffset/sortablegridfield' module is installed $grid_field_config->addComponent(new GridFieldSortableRows('SortOrder')); } $fields->addFieldToTab('Root', new Tab('Pricelists',_t('Pricelist.PLURALNAME'))); $fields->addFieldToTab('Root.Pricelists', $grid_field); } /** * Returns this page's pricelists rendered into a string. This is a fast way to include pricelists in page templates * by calling just $AllTemplates in Page.ss or other template. * * If you want to customise stuff and iterate the lists yourself, use Pricelists instead: * * <% loop $Pricelists %> <%-- Note that we are using $Pricelists here instead of $AllPricelists! --%> * <%-- Do your stuff here --%> * $me <%-- Renders a pricelist --%> * <%-- Do your stuff here --%> * <% end_loop %> * * @return HTMLText */ public function AllPricelists() { return $this->owner->renderWith('Pricelists'); } } |