Source of file BlockController.php
Size: 1,583 Bytes - Last Modified: 2021-12-23T10:20:13+00:00
/var/www/docs.ssmods.com/process/src/src/controllers/BlockController.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php namespace SheaDawson\Blocks\Controllers; use SilverStripe\Control\Controller; use SilverStripe\Control\Director; /** * Block_Controller. * * @author Shea Dawson <shea@silverstripe.com.au> */ class BlockController extends Controller { /** * @var Block */ protected $block; /** * @param Block $block */ public function __construct($block = null) { if ($block) { $this->block = $block; $this->failover = $block; } parent::__construct(); } public function index() { return; } /** * @param string $action * * @return string */ public function Link($action = null) { $id = ($this->block) ? $this->block->ID : null; $segment = Controller::join_links('block', $id, $action); if ($page = Director::get_current_page()) { return $page->Link($segment); } return Controller::curr()->Link($segment); } /** * @return string - link to page this block is on */ public function pageLink() { $parts = explode('/block/', $this->Link()); return isset($parts[0]) ? $parts[0] : null; } /** * @return Block */ public function getBlock() { return $this->block; } /** * CSS Classes to apply to block element in template. * * @return string $classes */ public function CSSClasses($stopAtClass = 'DataObject') { return $this->getBlock()->CSSClasses($stopAtClass); } } |