brucecms / pages
一个非常小巧的内容管理系统。
Requires
- php: >=5.5.0
- illuminate/html: 5.0
- knplabs/knp-menu: ~2.0
- laracasts/flash: ~1.3
- roumen/sitemap: 2.5.*
This package is not auto-updated.
Last update: 2024-09-24 02:37:09 UTC
README
更新:我现在不再为开发此项目的那家公司工作。如果您想将其接手并改进,请随意分支并按需改进!
Bruce 是一个具有基本认证的高度意见化的CMS。虽然我们尽量提供一些灵活性,但仍有若干选择可能会使您决定使用或放弃此包。
请注意,此包目前处于开发阶段。我建议在稳定的beta版本发布之前不要使用它。
先决条件
- PHP >= 5.5.0
- Laravel >= 5.1
安装
首先,通过Composer拉取包。
composer require brucecms/pages
然后,在config/app.php
中包含服务提供者。
'providers' => [ BruceCms\Pages\PagesServiceProvider::class ];
然后,发布所有资产,以便我们可以在应用程序中使用它们。
php artisan vendor:publish
这将创建一个针对pages
表的迁移,一个位于app/Http/Requests
的PageRequest类以及若干视图。您可能已经认识到了其中大部分是5.0默认设置的某些迭代。由于5.1将它们分离出来,所以我们再次引入它们。我们还发布了一些资产到公共文件夹,并创建了几个文件夹。这是用于页面编辑器和文件管理器(更多内容见下文)。
发布所有资产后,您需要设置您的数据库配置并运行
php artisan migrate
为了解决“先有鸡还是先有蛋”的问题,我们需要创建一个“首页”和一个管理员。因此,在您的database/seeds/DatabaseSeeder.php
的run
方法中添加以下内容
$this->call(BruceCms\Pages\Seeds\PageSeeder::class);
然后运行
php artisan db:seed
为了使新创建的首页在"/"路由下显示,您需要从app/routes.php
中删除Laravel的默认欢迎路由。
然后,您就可以开始了!
用法
在此包中,除了页面本身之外的所有内容都隐藏在Auth中间件之后。由于您运行了种子,您有一个默认管理员,凭据如下
- 电子邮件:admin@example.com
- 密码:password
请根据您域的需求更改这些凭据。要这样做,请阅读下方的“编辑您的个人资料”部分。
您还会注意到,主app/routes.php
可以覆盖我们设置的任何路由。如果您需要更改URI,可以在那里更新它。如果您需要帮助确定如何指向我们内部的控制器,请查看src/
目录中的我们的routes.php
。
路由
页面管理器
页面管理器位于pages
路由下。如果您运行了数据库种子,您应该看到首页。如果您想改变导航中页面的排序,您只需将行拖动到您希望堆叠的顺序,然后点击‘排序页面’。
您还可以使用此页面来设置父页面,如果您需要嵌套导航。目前,此包仅支持一层嵌套。所以,如果您将一个页面设置为子页面的子页面,它可能会从导航中消失。要使其再次出现,只需将父页面设置为顶级导航元素,或者设置为“无”。
创建新页面
您可以通过点击pages
路由上的链接,或者访问pages/create
来创建新页面。每个字段都有相当明显的说明,但为了彻底起见
- 标题 - 页面的标题。这也是链接在导航中显示的方式。
- 链接 - 用于到达页面的路由。正如所注,您不希望在句子或单词之间输入空格。按照惯例,建议使用破折号。
- 正文 - 页面的实际内容。Pages使用TinyMCE,因为它相当轻量级,并且能够完成大多数客户和最终用户所需的所有操作。我们还包含Responsive Filemanager插件,这是一个用于TinyMCE的插件,可以在其中管理文件。有关使用方法,请参阅网站。不用担心,它很容易使用,并且比该网站的性能要好得多。
- 在导航中隐藏? - 如果您想创建一个页面,但不想它在导航中显示。
当内容让您满意时,点击“创建页面”。就这么简单。
编辑现有页面
您可以通过访问您想要编辑的页面并在URL中添加'/edit',或者点击页面管理器中的“编辑”按钮来编辑您之前设置的内容。
删除页面
要删除页面,请从页面管理器中点击“删除”按钮。将显示一个确认框,告诉您这是永久的。只需确认,页面就会消失。
查看页面
要查看页面,只需访问为其设置的链接。您还可以从导航链接中访问它(如果您不能这样做,那就太没用了,对吧?)
网站地图
此包使用为Laravel构建的网站地图生成器并生成一个默认网站地图,包括使用此系统创建的所有页面。如果出于某种原因您需要更复杂的网站地图,您可以覆盖app/routes.php
中的路由并参考包的文档。我们建议坚持使用动态网站地图,因为提供实际的.xml文件可能会有麻烦。无论如何,如果需要,包包括该功能。
管理员管理器
管理员管理器位于admins
路由下。如果您运行了数据库种子,您应该会看到默认管理员。请注意,您只能创建新管理员并删除他们。编辑权仅限于管理员自己。更多内容见下文。
创建新管理员
通过点击admins
页面上的“点击此处创建新管理员”链接,您可以创建新管理员。字段是Laravel使用的默认字段,但为了彻底起见
- 名称 - 管理员的用户名。这可以是他们的真实姓名或昵称,因为它仅用作参考。
- 电子邮件地址 - 管理员的电子邮件地址。它需要是一个真实的电子邮件地址,以便他们可以在需要时重置密码。
- 密码 - 管理员的密码。默认情况下,Laravel强制执行至少6个字符。
- 确认密码 - 与上面完全相同的格式。
编辑您的个人资料
通过点击管理员导航中的“编辑您的个人资料”链接,您可以编辑您的个人资料。从这里您可以更新您的信息。
删除管理员
要删除管理员,请从管理员管理器中点击“删除”按钮。将显示一个确认框,告诉您这是永久的。只需确认,页面就会消失。
导航菜单
本包包含用于导航输出的部分,该部分默认包含在主应用布局中。它提供了一些钩子,使得CSS的使用更加方便。
- 在
<nav>
元素上添加“nav”类,以及“--main”标志,以防您有多个菜单。 - 在导航中的第一个
<li>
元素上添加“first”类。这将根据您的排序进行调整。 - 在导航中的最后一个
<li>
元素上添加“last”类。与“first”类似,这也会根据您的排序进行调整。
闪光灯
本包使用Jeffrey Way的Flash Message包来向用户显示成功或错误消息。因为我们已经引入了它,所以您不需要再引入,您可以在应用程序的任何位置使用它。请参阅GitHub页面以获取文档。