* @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);
}
}
}