- <?php
- class VideoPage extends Page {
- public static $db = array(
- 'VideoURL' => 'Text'
- );
- public static $has_one = array(
- );
- }
- class VideoPage_Controller extends Page_Controller {
- /**
- * An array of actions that can be accessed via a request. Each array element should be an action name, and the
- * permissions or conditions required to allow the user to access it.
- *
- * <code>
- * array (
- * 'action', // anyone can access this action
- * 'action' => true, // same as above
- * 'action' => 'ADMIN', // you must have ADMIN permissions to access this action
- * 'action' => '->checkAction' // you can only access this action if $this->checkAction() returns true
- * );
- * </code>
- *
- * @var array
- */
- public static $allowed_actions = array (
- 'SearchForm'
- );
- public function init() {
- parent::init();
- // Note: you should use SS template require tags inside your templates
- // instead of putting Requirements calls here. However these are
- // included so that our older themes still work
- Requirements::themedCSS('layout');
- Requirements::themedCSS('typography');
- Requirements::themedCSS('form');
- Requirements::themedCSS('menu');
- }
- /**
- * Site search form
- */
- function SearchForm() {
- $searchText = isset($_REQUEST['Search']) ? $_REQUEST['Search'] : 'Search';
- $fields = new FieldSet(
- new TextField('Search', '', $searchText)
- );
- $actions = new FieldSet(
- new FormAction('results', 'Search')
- );
- return new SearchForm($this, 'SearchForm', $fields, $actions);
- }
- /**
- * Process and render search results.
- *
- * @param array $data The raw request data submitted by user
- * @param SearchForm $form The form instance that was submitted
- * @param SS_HTTPRequest $request Request generated for this action
- */
- function results($data, $form, $request) {
- $data = array(
- 'Results' => $form->getResults(),
- 'Query' => $form->getSearchQuery(),
- 'Title' => 'Search Results'
- );
- return $this->customise($data)->renderWith(array('Page_results', 'Page'));
- }
- ///////////////////////////////////////////////////////
- public function getCMSFields() {
- $fields = parent::getCMSFields();
- $fields->addFieldToTab('Root.Content.Main', new TextField('VideoURL'), 'Content');
- return $fields;
- }
- }
- ?>