上一篇 中提到后台增加了自定义的筛选条件,选择的是author字段,在前台同样需要依据author内容筛选,默认的pboot:select field=* 仅支持ext_抬头且是选择类型的字段,在前台如果用pboot:select field=author 是无显示的。
apps-home-controller-parsercontroller.php
#995 add li selectall
if (get($field, 'vars')) { $out_html = '<li><a href="' . $path . '" class="' . $class . '">' . $text . '</a> </li>'; } else { $out_html = '<li><a href="' . $path . '" class="' . $active . '">' . $text . '</a></li>'; }
#1100 #selectauthor
if (! ! $data = $this->model->getauthorSelect(escape_string($field))) { $data = explode(',', $data); //注意数据源 } else { $data = array(); }
#1359 parserListLabel()
// 扩展字段数据筛选 foreach ($_GET as $key => $value) { if (preg_match('/^alljill|ext_[\w\-]+$/', $key)) { // 其他字段不加入 $where3[$key] = get($key, 'vars'); } } }
现在需要解决的就是筛选项的数据来源,从ay_extfield改为自定义
apps-home-model-parsermodel.php
#265
public function getauthorSelect($field) { for($i=2;$i<7;$i++){ $author .= parent::table(alljill')->where("id=$i")->value('authorname').',';} return $author; }
在模板中正确调用select标签后,实现了如下效果: