123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace App\Services\Content;
- use App\Repositories\NavigationRepository;
- use App\Repositories\PageRepository;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\Route;
- class NavigationService
- {
- protected $navigationRepository;
- protected $pageRepository;
- /**
- * NavigationService constructor.
- * @param $navigationRepository
- * @param $pageRepository
- */
- public function __construct(NavigationRepository $navigationRepository, PageRepository $pageRepository)
- {
- $this->navigationRepository = $navigationRepository;
- $this->pageRepository = $pageRepository;
- }
- public function getTopNav($where)
- {
- //return $this->navigationRepository->where($where)->all();
- return $this->navigationRepository->getNav($where);
- }
- public function getTopNavs($where, $limit)
- {
- $navs = $this->navigationRepository->getNavs();
- if (array_key_exists($where['alias'], $navs)) {
- $list = $navs[$where['alias']];
- if ($list) {
- foreach ($list as $k => $v) {
- if ($v->is_personal !=$where['is_personal']) {
- unset($list[$k]);
- }
- }
- }
- $return_navs= array_slice($list, 0, $limit);
- } else {
- $return_navs = null;
- }
- foreach ($return_navs as $k => $v) {
- $arr = $v;
- $arr->fullurl = null;
- if ($v->url!='' && $v->urltype == 0) { //其它链接
- //$arr->url = $v->url;
- //判断是否是完整的url路由
- $arr->fullurl = url($v->url);
- } else if ($v->type_id!='') {
- $arr->url = url_rewrite($v['pagealias'], array('id'=>$v['type_id']));
- } else {
- $arr->url = url_rewrite($v->pagealias);
- }
- if ($v->color!='') {
- $arr['title'] = "<font color='".$v->color."'>".$v->title."</font>";
- }
- $return_navs[$k] = $arr;
- }
- return $return_navs;
- }
- //处理页面seo
- public function getSeo($url_info)
- {
- $page_seo = $this->pageRepository->getPage();
- $url_name = $url_info->getName();
- if (array_has($page_seo, $url_name) || array_has($page_seo, strtolower($url_name))) {
- $page = array_get($page_seo, $url_name)? array_get($page_seo, $url_name):array_get($page_seo, strtolower($url_name));
- } else {
- $page = array();
- }
- return $page;
- }
- }
|