neon/site

Neon CMS 网站处理器。

3.0.0-alpha-10 2024-09-12 14:57 UTC

README

处理可在其上运行的网站。

要求

  • "neon/model-uuid": "^1.0"

安装

轻松安装 composer 包

composer require neon/site

然后有两种使用网站的方式:您可以将设置存储在配置文件或数据库中。这取决于您的意愿,您可以选择两种方式之一安装包。

安装配置文件

安装数据库迁移

然后您应该通过以下方式安装数据库迁移

php artisan vendor:publish --provider=\"Neon\\Site\\NeonSiteServiceProvider\"

用法

从 2.0 版本开始,Site 中间件不会自动添加到中间件数组中,因此,如果您想使用它,您应该为路由设置它

use Neon\Site\Facades\Site;


Site::patterns();

此命令将为 Laravel 的路由器定义网站规则。定义之后,您可以根据不同的情况使用它

use Neon\Site\Facades\Site;
use Neon\Site\Http\Middleware\SiteMiddleware;

Route::group([
    'domain'      => Site::domain('domain_slug'),
    'middleware'  => SiteMiddleware::class
  ], function () {

  Route::group([
    'middleware'  => [SiteMiddleware::class]
  ], function () {

    Route::get('/', function() {
      echo 'Hello '.app('site')->current()->locale.' /// DOMAIN';
    });
  });
});

如果您想按区域分离路由,可以使用如下方式

    'prefix'      => 'en',

您也可以使用网站作为前缀

use Neon\Site\Facades\Site;
use Neon\Site\Http\Middleware\SiteMiddleware;

Route::group([
    'prefix'      => Site::prefix('prefix_slug'),
    'middleware'  => SiteMiddleware::class
  ], function () {
  ...
});

SEO 功能

使用 Favicon

Favicon 可以在管理界面中设置。之后,您可以将它轻松地放在标题标签 <title> 之后

<head>
  <title>...</title>
  <x-neon-favicon/>
  ...
</head>

网站依赖模型

如果您需要与网站相关的某些内容,例如菜单,那么您只需使用依赖特性即可。

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Neon\Attributable\Models\Traits\Attributable; //- You cab check this too...
use Neon\Models\Traits\Uuid;
use Neon\Site\Models\Traits\SiteDependencies;

class AwesomeModel extends Model
{
    use Attributable;
    use Uuid;
    use SiteDependencies;

    ...

}

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件