完善文章搜索
parent
0168489311
commit
c5249c2a3f
|
|
@ -22,7 +22,31 @@ class ArticleController extends AdminController
|
||||||
$this->createButton(),
|
$this->createButton(),
|
||||||
...$this->baseHeaderToolBar(),
|
...$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([//行角标
|
->itemBadge([//行角标
|
||||||
'text' => __('admin.articles.is_recommend'),
|
'text' => __('admin.articles.is_recommend'),
|
||||||
'mode' => 'ribbon',
|
'mode' => 'ribbon',
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,17 @@
|
||||||
namespace App\Models\Filters;
|
namespace App\Models\Filters;
|
||||||
|
|
||||||
use EloquentFilter\ModelFilter;
|
use EloquentFilter\ModelFilter;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
class ArticleFilter extends ModelFilter
|
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.'%');
|
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();
|
parent::boot();
|
||||||
// 监听 Keyword 的创建事件,用于初始化 path 和 lv 字段值
|
// 监听 Keyword 的创建事件,用于初始化 path 和 lv 字段值
|
||||||
static::creating(function ($keyword) {
|
static::saving(function ($keyword) {
|
||||||
// 如果创建的是一个根类目
|
// 如果创建的是一个根类目
|
||||||
if (! $keyword->parent_id) {
|
if (! $keyword->parent_id) {
|
||||||
// 将层级设为 1
|
// 将层级设为 1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class KeywordSeeder extends Seeder
|
||||||
['key' => 'article_category', 'name' => '文章分类', 'list' => [
|
['key' => 'article_category', 'name' => '文章分类', 'list' => [
|
||||||
|
|
||||||
]],
|
]],
|
||||||
['key' => 'article_tag', 'name' => '文章标签', 'list' => [
|
['key' => 'article_tag', 'name' => '文章标签', 'list' => [//标签value填写色号,指定标签颜色
|
||||||
|
|
||||||
]],
|
]],
|
||||||
['key' => 'banner_address', 'name' => '广告位置', 'list' => [
|
['key' => 'banner_address', 'name' => '广告位置', 'list' => [
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@ return [
|
||||||
'parent_keyword' => '父级关键字',
|
'parent_keyword' => '父级关键字',
|
||||||
],
|
],
|
||||||
'articles' => [
|
'articles' => [
|
||||||
'id' => 'ID',
|
'id' => '主键ID',
|
||||||
'title' => '标题',
|
'title' => '标题',
|
||||||
'content' => '内容',
|
'content' => '内容',
|
||||||
'cover' =>'封面',
|
'cover' =>'封面',
|
||||||
|
|
@ -287,7 +287,7 @@ return [
|
||||||
'is_recommend' => '推荐',
|
'is_recommend' => '推荐',
|
||||||
'sort' => '排序',
|
'sort' => '排序',
|
||||||
'appendixes' => '附件',
|
'appendixes' => '附件',
|
||||||
'published_at_remark' => '*若未设置发布时间且操作设置为显示,则默认生成发布时间'
|
'published_at_remark' => '*若未设置发布时间且操作设置为显示,则默认生成发布时间',
|
||||||
],
|
],
|
||||||
'ads' => [
|
'ads' => [
|
||||||
'id' => 'ID',
|
'id' => 'ID',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue