提交 1b54dac9 编写于 作者: ModStart's avatar ModStart

develop

上级 efff2c40
......@@ -7,9 +7,12 @@ namespace Module\Cms\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 Module\Cms\Type\CatUrlMode;
use Module\Cms\Type\CmsMode;
use Module\Cms\Util\CmsCatUtil;
use Module\Cms\Util\CmsModelUtil;
......@@ -28,8 +31,20 @@ class CatController extends Controller
$builder->id('id', 'ID');
$builder->text('title', '名称')->required()->width(200);
$builder->text('url', 'URL')->required()
->hookRendering(function (AbstractField $field, $item, $index) {
if ($field->renderMode() == FieldRenderMode::GRID) {
return CatUrlMode::url($item->toArray());
}
return null;
})
->help('字母数字下划线,如,demo 可以通过URL访问 /demo 访问')
->ruleUnique('cms_cat')->ruleRegex('/^[a-zA-Z0-9_\\/]+$/');
if (modstart_config('CmsUrlMix_Enable', false)) {
$builder->text('fullUrl', '[增强]全路径')->listable(false)
->help('如 product/list');
$builder->text('pageFullUrl', '[增强]全路径分页')->listable(false)
->help('分页请使用 {page} 占位,如 product/list/{page},product/list?page={page}');
}
$modelField = $builder->select('modelId', '模型')->optionModel('cms_model', 'id', 'title')->required();
$modelModeMap = CmsModelUtil::listModeMap();
$modelField->when('in', $modelModeMap[CmsMode::LIST_DETAIL], function ($builder) {
......
......@@ -190,6 +190,10 @@ class ContentController extends Controller
->ruleRegex('/^[a-z0-9_]*[a-z][a-z0-9_]*$/')
->help('数字字母下划线组成,不能是纯数字,可以通过 <code>a/别名</code> 别名访问内容');
}
if (modstart_config('CmsUrlMix_Enable', false)) {
$form->text('fullUrl', '[增强]全路径')->listable(false)
->help('如 product/view/1.html');
}
$form->richHtml('content', '内容');
if (in_array($this->model['mode'], [CmsMode::LIST_DETAIL, CmsMode::PAGE])) {
$form->textarea('summary', '摘要');
......@@ -215,6 +219,9 @@ class ContentController extends Controller
'catId', 'title', 'alias', 'title', 'summary', 'cover', 'postTime',
'status', 'isRecommend', 'isTop', 'tags', 'author', 'source',
]);
if (modstart_config('CmsUrlMix_Enable', false)) {
$recordValue['fullUrl'] = (empty($data['fullUrl']) ? null : $data['fullUrl']);
}
if (empty($recordValue['alias'])) {
$recordValue['alias'] = null;
}
......
<?php
namespace Module\Cms\Type;
class CatUrlMode
{
public static function url($cat)
{
if (!empty($cat['fullUrl'])) {
return modstart_web_url($cat['fullUrl']);
}
return modstart_web_url($cat['url']);
}
}
\ No newline at end of file
......@@ -22,6 +22,9 @@ class ContentUrlMode implements BaseType
public static function url($content)
{
if (!empty($content['fullUrl'])) {
return modstart_web_url($content['fullUrl']);
}
if (empty($content['alias'])) {
$content['alias'] = $content['id'];
}
......
......@@ -7,6 +7,7 @@ namespace Module\Cms\Util;
use Illuminate\Support\Facades\Cache;
use ModStart\Core\Dao\ModelUtil;
use ModStart\Core\Util\TreeUtil;
use Module\Cms\Type\CatUrlMode;
/**
* Class CmsCatUtil
......@@ -36,7 +37,7 @@ class CmsCatUtil
ModelUtil::decodeRecordsJson($records, ['visitMemberGroups', 'visitMemberVips']);
foreach ($records as $k => $v) {
$records[$k]['_model'] = CmsModelUtil::get($v['modelId']);
$records[$k]['_url'] = modstart_web_url($v['url']);
$records[$k]['_url'] = CatUrlMode::url($v);
}
return $records;
});
......
<?php
namespace Module\Cms\Util;
class CmsRouteUtil
{
public static function rewrite($url, $param = [], $method = 'GET')
{
$request = \Illuminate\Http\Request::create($url, $method, $param);
return app()->handle($request);
}
}
\ No newline at end of file
<?php
namespace Module\Cms\Util;
class UrlModeUtil
{
}
\ No newline at end of file
......@@ -24,7 +24,7 @@
<a href="{{modstart_web_url('')}}">首页</a>
@foreach($catChain as $i=>$c)
<a class="@if(count($catChain)==$i+1) active @endif"
href="{{modstart_web_url($c['url'])}}">{{$c['title']}}</a>
href="{{$c['_url']}}">{{$c['title']}}</a>
@endforeach
</div>
</div>
......@@ -36,10 +36,10 @@
<div class="ub-menu simple margin-bottom">
<a class="title @if($catRoot['url']==\ModStart\Core\Input\Request::path()) active @endif"
href="{{modstart_web_url($catRoot['url'])}}">全部</a>
href="{{$catRoot['_url']}}">全部</a>
@foreach($catRootChildren as $c)
<a class="title @if(\ModStart\Core\Input\Request::path()==$c['url']) active @endif"
href="{{modstart_web_url($c['url'])}}">{{$c['title']}}</a>
href="{{$c['_url']}}">{{$c['title']}}</a>
@endforeach
</div>
</div>
......
......@@ -20,13 +20,22 @@ class ListController extends BaseCatController
$input = InputPackage::buildFromInput();
$page = $input->getPage();
$pageSize = $input->getPageSize('pageSize');
$pageSize = 2;
$paginateData = CmsContentUtil::paginateCat($cat['id'], $page, $pageSize);
$viewData = $data;
$viewData['page'] = $page;
$viewData['pageSize'] = $pageSize;
$viewData['records'] = $paginateData['records'];
$viewData['pageHtml'] = PageHtmlUtil::render($paginateData['total'], $pageSize, $page, '?page={page}');
$pageTemplate = '?page={page}';
if (!empty($cat['pageFullUrl'])) {
$pageTemplate = modstart_web_url($cat['pageFullUrl']);
}
$viewData['pageHtml'] = PageHtmlUtil::render($paginateData['total'], $pageSize, $page, $pageTemplate);
// return $viewData;
return $this->view('cms.list.' . CmsTemplateUtil::toBladeView($view), $viewData);
}
}
......@@ -14,7 +14,7 @@ $router->group([
$router->match(['get', 'post'], 'a/{alias_url}', 'DetailController@index');
$router->match(['get', 'post'], 'c/{id}', 'ListController@index');
$router->match(['get', 'post'], 'search', 'SearchController@index');
$router->match(['get', 'post'], 'search', 'SearchController@index')->name('aaaaa');
$cats = CmsCatUtil::allSafelyHavingUrl();
foreach ($cats as $item) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册