* @since 2.0 */ class Html extends \yii\helpers\BaseHtml { /** * --------------------------------------- * 生成 图片路径 * @param string $url 图片相对路径,一般为“201605/1235654.jpg” * @param string $params 生成链接时的附加测试,例如长宽等 * @param bool $isUrl 是否生成php文档形式的url * @return string * --------------------------------------- */ public static function src($url,$params = '',$isUrl = false){ if ($isUrl === false) { return Yii::$app->params['upload']['url'].$url; } $query = 'path='.$url; if ($params) { $query .= '&'.$params; } if (Yii::$app->params['storage_encrypt']) { $query = 'path='.base64_encode($query); } return Yii::getAlias('@storageUrl').'/large.php?'.$query; } /** * --------------------------------------- * 重写生成html input radio标签,为了适应metronic_v4.5.6主题,加了个 * @param string $name * @param bool $checked * @param array $options * @return string * --------------------------------------- */ public static function radio($name, $checked = false, $options = []) { $options['checked'] = (bool) $checked; $value = array_key_exists('value', $options) ? $options['value'] : '1'; if (isset($options['uncheck'])) { // add a hidden field so that if the radio button is not selected, it still submits a value $hidden = static::hiddenInput($name, $options['uncheck']); unset($options['uncheck']); } else { $hidden = ''; } if (isset($options['label'])) { $label = $options['label']; $labelOptions = isset($options['labelOptions']) ? $options['labelOptions'] : []; unset($options['label'], $options['labelOptions']); $content = static::label(static::input('radio', $name, $value, $options) . ' ' . $label, null, $labelOptions); return $hidden . $content; } else { return $hidden . static::input('radio', $name, $value, $options); } } /** * --------------------------------------- * 重写生成html input checkbox标签,为了适应metronic_v4.5.6主题,加了个 * @param string $name * @param bool $checked * @param array $options * @return string * --------------------------------------- */ public static function checkbox($name, $checked = false, $options = []) { $options['checked'] = (bool) $checked; $value = array_key_exists('value', $options) ? $options['value'] : '1'; if (isset($options['uncheck'])) { // add a hidden field so that if the checkbox is not selected, it still submits a value $hidden = static::hiddenInput($name, $options['uncheck']); unset($options['uncheck']); } else { $hidden = ''; } if (isset($options['label'])) { $label = $options['label']; $labelOptions = isset($options['labelOptions']) ? $options['labelOptions'] : []; unset($options['label'], $options['labelOptions']); $content = static::label(static::input('checkbox', $name, $value, $options) . ' ' . $label, null, $labelOptions); return $hidden . $content; } else { return $hidden . static::input('checkbox', $name, $value, $options); } } }