public function testSelect() { $data = array("status", array("Active" => array('A1' => 'A One', 'A2' => 'A Two'), "B" => "B One")); $html = <<<HTML <select id="status" name="status"> \t<optgroup label="Active"> \t<option value="A1">A One</option> \t<option value="A2">A Two</option> \t</optgroup> \t<option value="B">B One</option> </select> HTML; $di = new Phalcon\DI\FactoryDefault(); Tag::setDI($di); $ret = Tag::selectStatic($data); $this->assertEquals($ret, $html); $html = <<<HTML <select id="status" name="status"> \t<optgroup label="Active"> \t<option selected="selected" value="A1">A One</option> \t<option value="A2">A Two</option> \t</optgroup> \t<option value="B">B One</option> </select> HTML; Tag::setDefault("status", "A1"); $ret = Tag::selectStatic($data); $this->assertEquals($ret, $html); }
/** * Registers common function in Twig * * @param \Phalcon\Mvc\ViewInterface $view * @param \Phalcon\DiInterface $di * @param array $userFunctions */ protected function registryFunctions($view, DiInterface $di, $userFunctions = array()) { $options = array('is_safe' => array('html')); $functions = array(new \Twig_SimpleFunction('content', function () use($view) { return $view->getContent(); }, $options), new \Twig_SimpleFunction('partial', function ($partialPath) use($view) { return $view->partial($partialPath); }, $options), new \Twig_SimpleFunction('linkTo', function ($parameters, $text = null) { return \Phalcon\Tag::linkTo($parameters, $text); }, $options), new \Twig_SimpleFunction('textField', function ($parameters) { return \Phalcon\Tag::textField($parameters); }, $options), new \Twig_SimpleFunction('passwordField', function ($parameters) { return \Phalcon\Tag::passwordField($parameters); }, $options), new \Twig_SimpleFunction('hiddenField', function ($parameters) { return \Phalcon\Tag::hiddenField($parameters); }, $options), new \Twig_SimpleFunction('fileField', function ($parameters) { return \Phalcon\Tag::fileField($parameters); }, $options), new \Twig_SimpleFunction('checkField', function ($parameters) { return \Phalcon\Tag::checkField($parameters); }, $options), new \Twig_SimpleFunction('radioField', function ($parameters) { return \Phalcon\Tag::radioField($parameters); }, $options), new \Twig_SimpleFunction('submitButton', function ($parameters) { return \Phalcon\Tag::submitButton($parameters); }, $options), new \Twig_SimpleFunction('selectStatic', function ($parameters, $data = array()) { return \Phalcon\Tag::selectStatic($parameters, $data); }, $options), new \Twig_SimpleFunction('select', function ($parameters, $data = array()) { return \Phalcon\Tag::select($parameters, $data); }, $options), new \Twig_SimpleFunction('textArea', function ($parameters) { return \Phalcon\Tag::textArea($parameters); }, $options), new \Twig_SimpleFunction('form', function ($parameters = array()) { return \Phalcon\Tag::form($parameters); }, $options), new \Twig_SimpleFunction('endForm', function () { return \Phalcon\Tag::endForm(); }, $options), new \Twig_SimpleFunction('getTitle', function () { return \Phalcon\Tag::getTitle(); }, $options), new \Twig_SimpleFunction('stylesheetLink', function ($parameters = null, $local = true) { return \Phalcon\Tag::stylesheetLink($parameters, $local); }, $options), new \Twig_SimpleFunction('javascriptInclude', function ($parameters = null, $local = true) { return \Phalcon\Tag::javascriptInclude($parameters, $local); }, $options), new \Twig_SimpleFunction('image', function ($parameters) { return \Phalcon\Tag::image($parameters); }, $options), new \Twig_SimpleFunction('friendlyTitle', function ($text, $separator = null, $lowercase = true) { return \Phalcon\Tag::friendlyTitle($text, $separator, $lowercase); }, $options), new \Twig_SimpleFunction('getDocType', function () { return \Phalcon\Tag::getDocType(); }, $options), new \Twig_SimpleFunction('getSecurityToken', function () use($di) { return $di->get("security")->getToken(); }, $options), new \Twig_SimpleFunction('getSecurityTokenKey', function () use($di) { return $di->get("security")->getTokenKey(); }, $options), new \Twig_SimpleFunction('url', function ($route) use($di) { return $di->get("url")->get($route); }, $options)); if (!empty($userFunctions)) { $functions = array_merge($functions, $userFunctions); } foreach ($functions as $function) { $this->twig->addFunction($function); } }
/** * Registers common function in Twig * * @param \Phalcon\Mvc\ViewInterface $view */ private function registryFunctions($view) { $options = array('is_safe' => array('html')); $functions = array(new \Twig_SimpleFunction('content', function () use($view) { return $view->getContent(); }, $options), new \Twig_SimpleFunction('partial', function ($partialPath) use($view) { return $view->partial($partialPath); }, $options), new \Twig_SimpleFunction('linkTo', function ($parameters, $text = null) { return \Phalcon\Tag::linkTo($parameters, $text); }, $options), new \Twig_SimpleFunction('textField', function ($parameters) { return \Phalcon\Tag::textField($parameters); }, $options), new \Twig_SimpleFunction('passwordField', function ($parameters) { return \Phalcon\Tag::passwordField($parameters); }, $options), new \Twig_SimpleFunction('hiddenField', function ($parameters) { return \Phalcon\Tag::hiddenField($parameters); }, $options), new \Twig_SimpleFunction('fileField', function ($parameters) { return \Phalcon\Tag::fileField($parameters); }, $options), new \Twig_SimpleFunction('checkField', function ($parameters) { return \Phalcon\Tag::checkField($parameters); }, $options), new \Twig_SimpleFunction('radioField', function ($parameters) { return \Phalcon\Tag::radioField($parameters); }, $options), new \Twig_SimpleFunction('submitButton', function ($parameters) { return \Phalcon\Tag::submitButton($parameters); }, $options), new \Twig_SimpleFunction('selectStatic', function ($parameters, $data = []) { return \Phalcon\Tag::selectStatic($parameters, $data); }, $options), new \Twig_SimpleFunction('select', function ($parameters, $data = []) { return \Phalcon\Tag::select($parameters, $data); }, $options), new \Twig_SimpleFunction('textArea', function ($parameters) { return \Phalcon\Tag::textArea($parameters); }, $options), new \Twig_SimpleFunction('form', function ($parameters = []) { return \Phalcon\Tag::form($parameters); }, $options), new \Twig_SimpleFunction('endForm', function () { return \Phalcon\Tag::endForm(); }, $options), new \Twig_SimpleFunction('getTitle', function () { return \Phalcon\Tag::getTitle(); }, $options), new \Twig_SimpleFunction('getTitle', function () { return \Phalcon\Tag::getTitle(); }, $options), new \Twig_SimpleFunction('stylesheetLink', function ($parameters = null, $local = true) { return \Phalcon\Tag::stylesheetLink($parameters, $local); }, $options), new \Twig_SimpleFunction('javascriptInclude', function ($parameters = null, $local = true) { return \Phalcon\Tag::javascriptInclude($parameters, $local); }, $options), new \Twig_SimpleFunction('image', function ($parameters) { return \Phalcon\Tag::image($parameters); }, $options), new \Twig_SimpleFunction('friendlyTitle', function ($text, $separator = null, $lowercase = true) { return \Phalcon\Tag::friendlyTitle($text, $separator, $lowercase); }, $options), new \Twig_SimpleFunction('getDocType', function () { return \Phalcon\Tag::getDocType(); }, $options)); foreach ($functions as $function) { $this->_twig->addFunction($function); } }
/** * @TODO array merge with attr * Custom DateTime Selector * @param null $attr * @return string */ public function render($attr = null) { $years = [date('Y') => date('Y'), date('Y') + 1 => date('Y') + 1]; $months = [1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec"]; $days = array_combine(range(1, 31), range(1, 31)); $hours = array_combine(range(0, 23), range(0, 23)); $mins = ['00' => 0, '05' => 5, 10 => 10, 15 => 15, 20 => 20, 25 => 25, 30 => 30, 35 => 35, 40 => 40, 45 => 45, 50 => 50, 55 => 55]; $val = $this->getValue(); $html = \Phalcon\Tag::selectStatic([$this->getName() . '[year]', $years, 'value' => $val['year'], 'useEmpty' => true, 'emptyText' => 'Year', 'class' => $this->getName(), 'style' => 'min-width: auto']); $html .= '.' . \Phalcon\Tag::selectStatic([$this->getName() . '[month]', $months, 'value' => $val['month'], 'useEmpty' => true, 'emptyText' => 'Month', 'class' => $this->getName(), 'style' => 'min-width: auto']); $html .= '.' . \Phalcon\Tag::selectStatic([$this->getName() . '[day]', $days, 'value' => $val['day'], 'useEmpty' => true, 'emptyText' => 'Day', 'class' => $this->getName(), 'style' => 'min-width: auto']); $html .= ' ' . \Phalcon\Tag::selectStatic([$this->getName() . '[hour]', $hours, 'value' => $val['hour'], 'useEmpty' => true, 'emptyText' => 'Hour', 'class' => $this->getName(), 'style' => 'min-width: auto']); $html .= ':' . \Phalcon\Tag::selectStatic([$this->getName() . '[min]', $mins, 'value' => $val['min'], 'useEmpty' => true, 'emptyText' => 'Min.', 'class' => $this->getName(), 'style' => 'min-width: auto']); return $html; }
public static function selectStatic($parameters, $data = null) { return parent::selectStatic($parameters, $data); }
/** * Tests selectStatic with setDefault to an non existent element * * @author Nikos Dimopoulos <*****@*****.**> * @since 2012-10-26 */ public function testSelectStaticDisplayToElementNotPresentXHTML() { $params = array('some_field_name', 'class' => 'some_class', 'size' => '10'); \Phalcon\Tag::displayTo('some_field', 'I'); $options = array('A' => 'Active', 'I' => 'Inactive'); $expected = '<select id="some_field_name" name="some_field_name" class="some_class" size="10">' . PHP_EOL . chr(9) . '<option value="A">Active</option>' . PHP_EOL . chr(9) . '<option value="I">Inactive</option>' . PHP_EOL . '</select>'; $actual = \Phalcon\Tag::selectStatic($params, $options); \Phalcon\Tag::displayTo('some_field', ''); $this->assertEquals($expected, $actual, sprintf($this->message, 'XHTML selectStatic with setDefault')); }
<?php echo \Phalcon\Tag::selectStatic(array("color", array("Yellow" => "Yellow", "Blue" => "Blue", "Red" => "Red")));
/** * Create static select with bootstrap style * @param string|array $params The attribute or an array that contain the attribute * @param array $data The data of the select * @return string */ public function selectStatic($params, $data = []) { if (!is_array($params)) { $attribute = $params; $params = []; $params[] = $attribute; $params['class'] = 'form-control'; } else { $attribute = $params[0]; if (!isset($params['class'])) { $params['class'] = 'form-control'; } else { $params['class'] .= ' form-control'; } } if ($this->hasError($attribute)) { $div_class = 'form-group has-error'; $error = $this->createErorr($attribute); } else { $div_class = 'form-group'; $error = ''; } return $this->startDefault($div_class) . $this->label($attribute) . Tag::selectStatic($params, $data) . $error . $this->endDefault(); }