themeFields 弄的自定义字段怎么删不掉?

讨论程序使用中的问题
回复
you6116
帖子: 9
注册时间: 2017年 10月 4日 22:21

themeFields 弄的自定义字段怎么删不掉?

帖子 you6116 »

在function.php里写了下面这段代码,添加缩略图的。

function themeFields($layout) {
$thumb = new Typecho_Widget_Helper_Form_Element_Text('thumb', NULL, NULL, _t('缩略图'), _t('在这里填入一个图片URL地址, 以在列表页显示缩略图'));
$layout->addItem($thumb);
}

在模板里是这样写的
判断一下是否有thumb存在,没有就不显示。

<?php
if(isset($this->fields->thumb)){
echo '<div class="col-md-7 mb20"><img src="'.$this->fields->thumb;
echo '" class="thumb"></div><div class="col-md-5">';
}else{
echo '<div class="col-md-12">';
}
?>

然后问题出现了,在输入文章的时候,添加了缩略图的URL还一切正常,如果不添加留空的话,他还是会判断存在thumb。
所以前端显示就变成这样了:
<img src="" class="thumb"></div><div class="col-md-5">
我希望留空,没有thumb的时候,应该是显示<div class="col-md-12">才对。

用了themeFields之后,怎么彻底删除自定义字段?
头像
jrotty
帖子: 428
注册时间: 2015年 11月 2日 19:30

Re: themeFields 弄的自定义字段怎么删不掉?

帖子 jrotty »

改成这样试试呢
<?php
if($this->fields->thumb){
echo '<div class="col-md-7 mb20"><img src="'.$this->fields->thumb;
echo '" class="thumb"></div><div class="col-md-5">';
}else{
echo '<div class="col-md-12">';
}
?>
回复