增加通用开头功能

This commit is contained in:
2023-06-27 00:51:30 +08:00
parent a28a1c6a6a
commit 839a8e4734
9 changed files with 67 additions and 28 deletions

View File

@@ -27,10 +27,17 @@ class Post extends Common
{ {
// //
$list = ModelPost::with(['categorys.category', 'tags.tag']) $model_list = ModelPost::with(['categorys.category', 'tags.tag'])
->where('type', $this->request->param('type', 1)) ->where('type', $this->request->param('type', 1))
->order('id desc') ->order('id desc');
->paginate([
$category_id = $this->request->param('category_id', 0);
if(!empty($category_id)){
$model_list = $model_list->where('category_id', $category_id);
}
$list = $model_list->paginate([
'query' => $this->request->get() 'query' => $this->request->get()
]); ]);
@@ -90,7 +97,10 @@ class Post extends Common
]); ]);
} }
return $this->success('添加成功', url('index', ['type' => $this->request->param('type')])); return $this->success('添加成功', url('index', [
'type' => $this->request->param('type'),
'category_id'=>$this->request->param('category_id'),
]));
} }
public function convertHtml2Markdown() public function convertHtml2Markdown()

View File

@@ -7,13 +7,13 @@ class Site
{ {
public static function mapAllPost() public static function mapAllPost()
{ {
$list_post = \app\model\Post::cache(60)->where('status', 1)->select(); $list_post = \app\model\Post::cache(60)->where('type',3)->where('status', 1)->select();
return $list_post; return $list_post;
} }
public static function mapRecentlyPost() public static function mapRecentlyPost()
{ {
$list_post = \app\model\Post::cache(60)->where('status', 1)->order('publish_time', "desc")->limit(25)->select(); $list_post = \app\model\Post::cache(60)->where('type',3)->where('status', 1)->order('publish_time', "desc")->limit(25)->select();
return $list_post; return $list_post;
} }

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace app\index\controller; namespace app\index\controller;
use app\model\Post as ModelPost; use app\model\Post as ModelPost;
use app\model\PostCategory;
use think\facade\Cache; use think\facade\Cache;
use think\facade\View; use think\facade\View;
use think\model\Relation; use think\model\Relation;
@@ -47,8 +48,11 @@ class Post extends Common
$model_post->save(); $model_post->save();
View::assign('post', $model_post); View::assign('post', $model_post);
return View::fetch(); return View::fetch();
} }

View File

@@ -20,6 +20,7 @@ use think\Paginator;
*/ */
class Post extends Base class Post extends Base
{ {
use SoftDelete;
// //
public static $autoClearCache = [ public static $autoClearCache = [
@@ -37,8 +38,6 @@ class Post extends Base
1 => '发布' 1 => '发布'
]; ];
use SoftDelete;
protected $defaultSoftDelete = 0; protected $defaultSoftDelete = 0;
public function categorys() public function categorys()
@@ -208,4 +207,19 @@ class Post extends Base
return $share_text; return $share_text;
} }
public function getStartContentAttr()
{
$start_content = '';
$list_post_category_id = $this->getAttr('categorys')->column('category_id');
$list_start_post = Post::where('category_id', 'in', $list_post_category_id)->cache(600)->where('status', 1)->select();
foreach ($list_start_post as $k_start_post => $v_start_post) {
$start_content .= $v_start_post->content_html;
}
return $start_content;
}
} }

View File

@@ -53,7 +53,9 @@
<tr class="item" data-id="{$vo.id}"> <tr class="item" data-id="{$vo.id}">
<td>{$vo.id}</td> <td>{$vo.id}</td>
<td> {:str_repeat('|--',$vo.level)} {$vo.title}</td> <td> {:str_repeat('|--',$vo.level)} {$vo.title}</td>
<td>{$vo.desc}</td> <td>
<p style="max-width: 300px;">{$vo.desc}</p>
</td>
<td>{$vo.tpl_name}</td> <td>{$vo.tpl_name}</td>
<td>{$vo.sort}</td> <td>{$vo.sort}</td>
<td> <td>

View File

@@ -39,6 +39,7 @@
<div class="layui-row"> <div class="layui-row">
<form action="{:url('save')}" method="POST" class="layui-form" lay-filter="*"> <form action="{:url('save')}" method="POST" class="layui-form" lay-filter="*">
<input type="hidden" name="type" value="{$Request.param.type}"> <input type="hidden" name="type" value="{$Request.param.type}">
<input type="hidden" name="category_id" value="{$Request.param.category_id}">
<div class="layui-col-md9 layui-col-lg10"> <div class="layui-col-md9 layui-col-lg10">
<fieldset class="layui-elem-field"> <fieldset class="layui-elem-field">
<legend>添加</legend> <legend>添加</legend>
@@ -51,7 +52,7 @@
<input type="text" name="title" required lay-verify="required" class="layui-input"> <input type="text" name="title" required lay-verify="required" class="layui-input">
</div> </div>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">封面</div> <div class="layui-form-label">封面</div>
<div class="layui-input-block"> <div class="layui-input-block">
@@ -64,6 +65,7 @@
</div> </div>
</div> </div>
</div> </div>
{/notin}
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">描述</div> <div class="layui-form-label">描述</div>
<div class="layui-input-block"> <div class="layui-input-block">
@@ -77,13 +79,14 @@
<input type="radio" name="status" value="0" title="不发布" checked> <input type="radio" name="status" value="0" title="不发布" checked>
</div> </div>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">发表时间</div> <div class="layui-form-label">发表时间</div>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="publish_time" value="{:date('Y-m-d H:i:s')}" class="layui-input publish-time"> <input type="text" name="publish_time" value="{:date('Y-m-d H:i:s')}" class="layui-input publish-time">
</div> </div>
</div> </div>
{/notin}
<div class="layui-form-item"> <div class="layui-form-item">

View File

@@ -52,7 +52,7 @@
<input type="text" name="title" required lay-verify="required" value="{$post->title}" class="layui-input"> <input type="text" name="title" required lay-verify="required" value="{$post->title}" class="layui-input">
</div> </div>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">封面</div> <div class="layui-form-label">封面</div>
<div class="layui-input-block"> <div class="layui-input-block">
@@ -65,13 +65,14 @@
</div> </div>
</div> </div>
</div> </div>
{/notin}
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">描述</div> <div class="layui-form-label">描述</div>
<div class="layui-input-block"> <div class="layui-input-block">
<textarea name="desc" class="layui-textarea">{$post->getData('desc')}</textarea> <textarea name="desc" class="layui-textarea">{$post->getData('desc')}</textarea>
</div> </div>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label"> <div class="layui-form-label">
作者名称 作者名称
@@ -88,7 +89,7 @@
<input type="radio" name="is_top" value="0" title="不置顶"> <input type="radio" name="is_top" value="0" title="不置顶">
</div> </div>
</div> </div>
{/notin}
<div class="layui-form-item"> <div class="layui-form-item">
<button class="layui-btn layui-btn-fluid" type="submit" lay-submit lay-filter="save">保存</button> <button class="layui-btn layui-btn-fluid" type="submit" lay-submit lay-filter="save">保存</button>
@@ -110,6 +111,7 @@
<input type="radio" name="status" value="0" title="不发布"> <input type="radio" name="status" value="0" title="不发布">
</div> </div>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">发表时间</div> <div class="layui-form-label">发表时间</div>
<div class="layui-input-block"> <div class="layui-input-block">
@@ -137,14 +139,6 @@
<input type="radio" name="jump_to_url_status" value="2" title="自动跳转"> <input type="radio" name="jump_to_url_status" value="2" title="自动跳转">
</div> </div>
</div> </div>
<div class="layui-form-item">
<div class="layui-form-label">排序</div>
<div class="layui-input-block">
<input type="number" name="sort" value="{$post->getData('sort')}" class="layui-input">
<div class="layui-form-mid layui-word-aux">越大越靠前</div>
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-form-label">模板</div> <div class="layui-form-label">模板</div>
<div class="layui-input-block"> <div class="layui-input-block">
@@ -155,9 +149,19 @@
</select> </select>
</div> </div>
</div> </div>
{/notin}
<div class="layui-form-item">
<div class="layui-form-label">排序</div>
<div class="layui-input-block">
<input type="number" name="sort" value="{$post->getData('sort')}" class="layui-input">
<div class="layui-form-mid layui-word-aux">越大越靠前</div>
</div>
</div>
</div> </div>
</fieldset> </fieldset>
</div> </div>
{notin name='$Request.param.type' value='category-start,category-end' }
<div class="layui-col-md3 layui-col-lg2"> <div class="layui-col-md3 layui-col-lg2">
<fieldset class="layui-elem-field sm-form"> <fieldset class="layui-elem-field sm-form">
<legend>分类和标签</legend> <legend>分类和标签</legend>
@@ -204,6 +208,7 @@
</div> </div>
</fieldset> </fieldset>
</div> </div>
{/notin}
</form> </form>
</div> </div>
</div> </div>

View File

@@ -32,7 +32,7 @@
</div> </div>
<div class="main-container"> <div class="main-container">
<div> <div>
<a href="{:url('create',['type'=>$Request.param.type])}" class="layui-btn">添加</a> <a href="{:url('create',['type'=>$Request.param.type,'category_id'=>$Request.param.category_id])}" class="layui-btn">添加</a>
</div> </div>
</div> </div>
<div> <div>

View File

@@ -125,6 +125,7 @@
{/if} {/if}
<div class=""> <div class="">
<article class="ul-content entry heti heti--classic"> <article class="ul-content entry heti heti--classic">
{$post->start_content|raw}
{$post->content_html_show|raw} {$post->content_html_show|raw}
{:\\app\\common\\tools\\PostBlock::copyright($post)} {:\\app\\common\\tools\\PostBlock::copyright($post)}