当前位置: 首页>>代码示例>>PHP>>正文


PHP rex_select::addOptgroup方法代码示例

本文整理汇总了PHP中rex_select::addOptgroup方法的典型用法代码示例。如果您正苦于以下问题:PHP rex_select::addOptgroup方法的具体用法?PHP rex_select::addOptgroup怎么用?PHP rex_select::addOptgroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rex_select的用法示例。


在下文中一共展示了rex_select::addOptgroup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getOutput

 protected function getOutput()
 {
     $id = $this->getArg('id', 0, true);
     if (!in_array($this->getContext(), ['module', 'action']) || !is_numeric($id) || $id < 1 || $id > 20) {
         return false;
     }
     $value = $this->getContextData()->getValue('value' . $id);
     if ($this->hasArg('isset') && $this->getArg('isset')) {
         return $value ? 'true' : 'false';
     }
     if ($this->hasArg('widget') && $this->getArg('widget')) {
         if (!$this->environmentIs(self::ENV_INPUT)) {
             return false;
         }
         $select = new rex_select();
         if ($this->hasArg('multiple') && $this->getArg('options')) {
             $select->setName('REX_INPUT_VALUE[' . $id . '][]');
             $select->setMultiple();
             $select->setSelected(rex_var::toArray($value));
         } else {
             $select->setName('REX_INPUT_VALUE[' . $id . ']');
             $select->setSelected($value);
         }
         if ($this->hasArg('options') && $this->getArg('options')) {
             $options = $this->getArg('options');
             if (rex_sql::getQueryType($options) == 'SELECT') {
                 $select->addSqlOptions($options);
             } else {
                 $groups = explode('|', $options);
                 if (count($groups)) {
                     foreach ($groups as $group) {
                         $parseGroup = explode(':', $group);
                         $groupOptions = $parseGroup[0];
                         if (count($parseGroup) == 2) {
                             $select->addOptgroup($parseGroup[0]);
                             $groupOptions = $parseGroup[1];
                         }
                         if (rex_sql::getQueryType($groupOptions) == 'SELECT') {
                             $select->addSqlOptions($groupOptions);
                         } else {
                             $groupOptions = explode(',', $groupOptions);
                             if (count($groupOptions)) {
                                 foreach ($groupOptions as $groupOption) {
                                     $optionPair = explode('=', $groupOption);
                                     if (count($optionPair) == 1) {
                                         $select->addOption($optionPair[0], $optionPair[0]);
                                     } elseif (count($optionPair) == 2) {
                                         $select->addOption($optionPair[0], $optionPair[1]);
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $widget = '<div class="rex-select-style">' . $select->get() . '</div>';
         if ($this->hasArg('output') && $this->getArg('output')) {
             $label = $this->hasArg('label') ? $this->getArg('label') : '';
             $widget = Dao::getForm($widget, $label, $this->getArg('output'));
         }
         return self::quote($widget);
     }
     return self::quote(htmlspecialchars($value));
 }
开发者ID:tbaddade,项目名称:redaxo_dao_var,代码行数:65,代码来源:var_dao_select.php


注:本文中的rex_select::addOptgroup方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。