完善文章搜索
parent
0168489311
commit
c5249c2a3f
|
|
@ -22,7 +22,31 @@ class ArticleController extends AdminController
|
|||
$this->createButton(),
|
||||
...$this->baseHeaderToolBar(),
|
||||
])
|
||||
->filter($this->baseFilter()->body())
|
||||
->filter($this->baseFilter()->labelWidth('80px')->body([
|
||||
amis()->TextControl('id', __('admin.articles.id'))
|
||||
->size('md')
|
||||
->placeholder(__('admin.id')),
|
||||
amis()->TextControl('title', __('admin.articles.title'))
|
||||
->size('md')
|
||||
->placeholder(__('admin.articles.title')),
|
||||
Components::make()->parentControl(admin_url('api/keywords/tree-list?parent_name=article_category&has_owner=0'), 'category', __('admin.articles.category'), 'name', 'key')
|
||||
->size('md'),
|
||||
amis()->InputDatetimeRange()->label(__('admin.articles.published_at'))->name('published_at'),
|
||||
|
||||
Components::make()->keywordsTagControl('t_ids', __('admin.articles.tags'), 'article_tag')
|
||||
->size('md'),
|
||||
amis()->SelectControl('enable', __('admin.articles.is_enable'))
|
||||
->options([
|
||||
1=>'开启',0=>'关闭'
|
||||
])
|
||||
->size('md'),
|
||||
amis()->SelectControl('recommend', __('admin.articles.is_recommend'))
|
||||
->options([
|
||||
1=>'开启',0=>'关闭'
|
||||
])
|
||||
->size('md'),
|
||||
amis()->InputDatetimeRange()->label(__('admin.created_at'))->name('created_at'),
|
||||
]))
|
||||
->itemBadge([//行角标
|
||||
'text' => __('admin.articles.is_recommend'),
|
||||
'mode' => 'ribbon',
|
||||
|
|
|
|||
|
|
@ -3,9 +3,17 @@
|
|||
namespace App\Models\Filters;
|
||||
|
||||
use EloquentFilter\ModelFilter;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
class ArticleFilter extends ModelFilter
|
||||
{
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
public function id($id)
|
||||
{
|
||||
return $this->where('id', $id);
|
||||
}
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
|
|
@ -13,4 +21,60 @@ class ArticleFilter extends ModelFilter
|
|||
{
|
||||
return $this->where('title','like', '%'.$title.'%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分类下的文章
|
||||
*/
|
||||
public function category($category)
|
||||
{
|
||||
return $this->where('category', $category);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询带有标签的文章
|
||||
*/
|
||||
public function tIds($tIds){
|
||||
$tIds = explode(',',$tIds);
|
||||
return $this->where(function($q) use ($tIds) {
|
||||
foreach ($tIds as $tId) {
|
||||
$q->whereRaw("FIND_IN_SET('".$tId."',t_ids)");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function publishedAt($publishedAt){
|
||||
$publishedAt = explode(',',$publishedAt);
|
||||
return $this->where(function($q) use ($publishedAt) {
|
||||
$startAt = Arr::get($publishedAt, 0) ?? null;
|
||||
$endAt = Arr::get($publishedAt, 1) ?? null;
|
||||
if(!empty($startAt)){
|
||||
$q->where('published_at', '>=', $startAt);
|
||||
}
|
||||
if(!empty($endAt)){
|
||||
$q->where('published_at', '<=', $endAt);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function createdAt($createdAt){
|
||||
$createdAt = explode(',',$createdAt);
|
||||
return $this->where(function($q) use ($createdAt) {
|
||||
$startAt = Arr::get($createdAt, 0) ?? null;
|
||||
$endAt = Arr::get($createdAt, 1) ?? null;
|
||||
if(!empty($startAt)){
|
||||
$q->where('created_at', '>=', $startAt);
|
||||
}
|
||||
if(!empty($endAt)){
|
||||
$q->where('created_at', '<=', $endAt);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function enable($enable){
|
||||
return $this->where('is_enable', $enable);
|
||||
}
|
||||
|
||||
public function recommend($recommend){
|
||||
return $this->where('is_recommend', $recommend);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class Keyword extends Model
|
|||
{
|
||||
parent::boot();
|
||||
// 监听 Keyword 的创建事件,用于初始化 path 和 lv 字段值
|
||||
static::creating(function ($keyword) {
|
||||
static::saving(function ($keyword) {
|
||||
// 如果创建的是一个根类目
|
||||
if (! $keyword->parent_id) {
|
||||
// 将层级设为 1
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class KeywordSeeder extends Seeder
|
|||
['key' => 'article_category', 'name' => '文章分类', 'list' => [
|
||||
|
||||
]],
|
||||
['key' => 'article_tag', 'name' => '文章标签', 'list' => [
|
||||
['key' => 'article_tag', 'name' => '文章标签', 'list' => [//标签value填写色号,指定标签颜色
|
||||
|
||||
]],
|
||||
['key' => 'banner_address', 'name' => '广告位置', 'list' => [
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ return [
|
|||
'parent_keyword' => '父级关键字',
|
||||
],
|
||||
'articles' => [
|
||||
'id' => 'ID',
|
||||
'id' => '主键ID',
|
||||
'title' => '标题',
|
||||
'content' => '内容',
|
||||
'cover' =>'封面',
|
||||
|
|
@ -287,7 +287,7 @@ return [
|
|||
'is_recommend' => '推荐',
|
||||
'sort' => '排序',
|
||||
'appendixes' => '附件',
|
||||
'published_at_remark' => '*若未设置发布时间且操作设置为显示,则默认生成发布时间'
|
||||
'published_at_remark' => '*若未设置发布时间且操作设置为显示,则默认生成发布时间',
|
||||
],
|
||||
'ads' => [
|
||||
'id' => 'ID',
|
||||
|
|
|
|||
Loading…
Reference in New Issue