<?php
/**
 * ------------------------ 
 *  版权所有  www.tecmz.com
 *  商业版本请购买正版授权使用
 * ------------------------
*/ namespace Module\Article\Admin\Controller; use Illuminate\Routing\Controller; use ModStart\Admin\Concern\HasAdminQuickCRUD; use ModStart\Admin\Layout\AdminCRUDBuilder; use ModStart\Field\AbstractField; use ModStart\Field\Type\FieldRenderMode; use ModStart\Form\Form; use ModStart\Grid\GridFilter; use ModStart\Support\Concern\HasFields; use ModStart\Widget\TextLink; use Module\Article\Type\ArticlePosition; use Module\Article\Util\ArticleUtil; class ArticleController extends Controller { use HasAdminQuickCRUD; protected function crud(AdminCRUDBuilder $kC4To) { $kC4To->init('article')->field(function ($kC4To) { $kC4To->id('id', 'ID'); $kC4To->select('position', '位置')->optionType(ArticlePosition::class); $kC4To->text('title', '名称')->hookRendering(function (AbstractField $TMEcx, $kHxHl, $hwsPf) { switch ($TMEcx->renderMode()) { case FieldRenderMode::GRID: case FieldRenderMode::DETAIL: return TextLink::primary(htmlspecialchars($kHxHl->title), ArticleUtil::url($kHxHl->toArray()), 'target="_blank"'); } }); $kC4To->text('alias', '别名')->help('默认留空，可通过链接 /article/别名 访问'); $kC4To->richHtml('content', '内容')->listable(false); $kC4To->display('created_at', L('Created At'))->listable(false); $kC4To->display('updated_at', L('Updated At'))->listable(false); })->gridFilter(function (GridFilter $bWyIm) { $bWyIm->eq('position', '位置')->select(ArticlePosition::class); $bWyIm->like('title', L('Title')); })->title('通用文章')->hookSaved(function (Form $l3dqy) { ArticleUtil::clearCache(); }); } }