基于 Statamic 的企业官网启动套件,包含首页、服务、评价、作品集与案例页、博客和项目请求表单
the-agency-starter-kit — Laravel 企业官网模板
作者 Stillat
The Agency 是 Stillat 发布的免费 Statamic 启动套件,以企业官网为示例,演示自定义标签、前端表单、控制面板扩展与站点地图等实现方式。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
使用 stillat/antlers-layout 在 Antlers 模板内部切换布局并共享数据
通过 app/Fields 与 app/Listeners 为集合条目统一注入 SEO 元字段
演示从前端创建集合条目:自定义路由、HTTP 中间件与 PHP 保存逻辑
控制面板集成:新增菜单项与看板式项目请求状态页面
附带自定义站点地图生成器与 404 页随机不重复配色标签
模板详细介绍
The Agency 是 Stillat 发布的免费 Statamic 启动套件,定位为企业官网示例,用于演示如何通过多种技术手段实现高度定制的 Statamic 体验。它可以直接作为新项目的起点,自带首页、服务、客户评价、项目作品集与案例页、博客(The Buzz)以及项目请求表单等页面结构。
在实现层面,该套件包含自定义标签、修饰器、类、JavaScript 文件、额外资源与路由。它使用 stillat/antlers-layout 包在 Antlers 模板内部切换布局文件并共享数据;通过 app/Fields 与 app/Listeners 为各集合条目统一添加 SEO 元字段;在联系页演示了不依赖 Forms 功能、而是用自定义路由、HTTP 中间件与 PHP 代码从前端创建集合并保存条目的做法。控制面板方面,它添加了菜单项与自定义页面,提供一个看板式视图用于更新项目请求状态。此外还包含自定义站点地图生成器、404 页随机不重复配色标签,以及自定义页面标题标签。
套件提供的集合包括 Blog、Pages、Portfolio、Project Requests、Services 与 Testimonials,多数蓝图会自动继承关键词与描述两个 SEO 元字段;首页使用 Replicator 字段实现页面构建器式的区块渲染。全局集合 site_settings 用于配置站点名称、页脚关于文本、联系信息与社交媒体链接。
使用限制方面:代码采用 MIT 许可,可免费使用、修改、商用与分发,但以启动套件形式再分发被禁止;演示图片、字体、图标等第三方素材需按各自许可核对,不能仅凭代码许可判断;域名、托管、数据库等外部服务可能另行收费。
适合你的项目吗?
适用场景
- 以 Statamic 搭建企业官网或代理机构站点,需要现成的页面结构与内容集合
- 学习在 Statamic 中编写自定义标签、修饰器与 Antlers 布局切换
- 参考如何在不使用 Forms 功能的情况下从前端创建并保存集合条目
- 扩展 Statamic 控制面板,添加自定义菜单项与 Vue 组件页面
- 为 Statamic 站点实现自定义站点地图生成与全局 SEO 元字段
适合人群
- 熟悉 Laravel 与 Statamic、希望快速起步企业官网的开发者
- 需要研究 Statamic 深度定制实现方式的开发者
- 接受以 MIT 许可使用代码、并会自行核对第三方素材许可的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
通过命令行执行 php please starter-kit:install stillat/the-agency-starter-kit 安装
- 2
安装后执行 npm install 与 npm run dev 安装并编译前端资源
- 3
代码以 MIT 许可发布,可免费使用、修改、商用与分发,但禁止以启动套件形式再分发
- 4
演示图片、字体、图标等第三方素材需按各自许可单独核对
- 5
域名、托管、数据库等外部服务可能产生额外费用
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- MIT 许可允许使用、修改、商用与分发代码,但明确禁止将本项目以启动套件(Starter Kit)形式再分发。
- 项目包含来自 unDraw、Feather、Streamline、Unsplash、Lorem Faces 等第三方图形与图片素材,这些素材的许可需单独核对,不随 MIT 代码许可一并授予。
- 安装后需通过 npm 安装并编译前端资源,构建过程依赖 Node.js 与 npm 环境。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Redistribution as a Starter Kit is prohibited.
README 原文
This Starter Kit makes use of a number of custom graphics, as well as those from the following sources:
README 原文
https://github.com/Stillat/the-agency-starter-kit/blob/main/license.mdhttps://github.com/Stillat/the-agency-starter-kit/blob/main/README.mdnpm install npm run dev
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料一般 · 65 / 100
- 技术栈
- Laravel
- 网站类型
- 企业官网 · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2023-12-10
- 截图检查日期
- 2026-10-02
目前没有记录演示链接。请依据仓库说明在本地评估;仅凭截图无法确认交互行为。
目录记录的主要技术栈是 Laravel。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 4f3b59c9cad2543a3c7a8102e2d9ab0a75f357d27f869a4c88b5352703321985
2026-10-02T22:42:25.555Z
来源文件 / 仓库
The Agency is a free Statamic Starter Kit designed as an example of utilizing various techniques to implement a highly customized Statamic experience.
The Agency Starter Kit can be used as-is as the starting point for any new project and comes with the following features out of the box:
* A simple home page design with a prominent call-to-action hero section
* Service offerings
* Customer testimonials section
* Simple project portfolio page, with individual case-study pages
* An integrated blog ("The Buzz") with paginated post listings and individual blog post pages
* A custom project request form and Control Panel management system
## Installation
The Agency Starter Kit may be installed from the command line using the following command:
```bash
php please starter-kit:install stillat/the-agency-starter-kit
```
Once the Starter Kit has been installed you will need to install and compile the front end assets using the following commands:
```bash
npm install
npm run dev
```
## General Project Overview
This Starter Kit contains many custom Tags, modifiers, classes, JavaScript files, additional resources, and routes.
### Multiple Antlers Layouts
This example project utilizes the `stillat/antlers-layout` [https://github.com/Stillat/antlers-layouts](https://github.com/Stillat/antlers-layouts) package to swap out the layout file used from *within* an Antlers template. The Tags provided by this package are used extensively throughout the site to change the layout and share data with the layout file from the current template (Statamic renders Antlers layouts *last*).
As an example, the `/buzz-words` template utilizes it to change the layout, as well as pass some data to the layout to change the header, content, and SVG graphic that is displayed:
```antlers
{{# Change the Antlers layout we will use. #}}
{{ layout:layouts/large-header /}}
{{ if get:page == null || get:page < 2 }}
{{ layout:share show_marketing_header="true"
:marketing_header_title="title"
:marketing_header_content="heading_blurb"
marketing_svg_name="typewriter"
marketing_header_background="bg-indigo-100" /}}
{{ else }}
{{ layout:share marketing_header_background="bg-indigo-100" /}}
{{ /if }}
{{# Rest of the template... #}}
```

### Global SEO Meta Fields
The `app/Fields/` namespace provides a location to define Blueprint sections and fields that should appear on every Collection entry within the Control Panel. The Starter Kit uses this to ensure that each blog entry, project, and page contains SEO meta tag fields, such as keywords and descriptions. This file interacts with some event listeners within the `app/Listeners` directory, which contains the logic for adding custom fields to each Blueprint. Specifically, these file paths:
* `app/Listeners/BlueprintSavingListener.php`
* `app/Listeners/MetaBlueprintFieldsListener.php`
In addition to the listeners to facilitate the custom SEO meta fields, the `app/Listener` directory also contains a listener that is used to minify the HTML output of each page.
### Creating Collection Entries from the Front End
The Agency provides an example of creating collection entries from the front end. The Contact page allows visitors to submit project requests; instead of using the Forms feature, this Starter Kit provides examples of creating custom routes, HTTP middleware (replicating the honeypot form field behavior), and creating/saving the entries using custom PHP code.
The files are involved in creating the collection entries:
* `routes/web.php`: Contains the form's action to handle the entry validation, creation, and saving
* `app/Tags/GetBlueprint.php`: Provides a custom Tag implementation that is used to extract the select field options to be used within the front end template
* `resources/pages/contact.antlers.html`: The template used to implement the front end form
All of the custom modifiers within `app/Modifiers` are also used in some way to create the final project request form. These are not directly related to creating entries, but are purely to help simplify the template's logic.

### Custom Control Panel Integration
The Agency Starter Kit provides an example of adding menu items to the Control Panel and adding custom pages to the Control Panel for the end user. The example provided by The Agency is a simple Kanban-style view that can be used to update the current project status of submissions.
This feature makes use of the following files:
* `app/Projects/ProjectBoardRepository.php`: Servers as a central location for managing details about project requests
* `app/Providers/AppServiceProvider.php`: Registers our custom Control Panel CSS and JavaScript assets, as well as adds a new navigation menu item to the Control Panel's "Content" section
* `app/Providers/RouteServiceProvider.php`: Pushes all of the Control Panel routes inside the `routes/cp.php` file using Statamic's `Statamic::pushCpRoutes` helper method
* `resources/css/cp.css`: Includes the `tailwindcss/utilities` file to help build our custom Control Panel view
* `resources/js/components/*`: Contains the Vue component implementations used in our custom Control Panel view
* `resources/js/cp.js`: Registers our custom Vue components with Statamic to make them available in our template
* `resources/views/cp/project-board.blade.php`: Extends Statamic's Control Panel layout and includes our custom Vue components

### Custom Sitemap Generator
This Starter Kit also provides an example implementation for generating custom sitemaps. This feature utilizes PHP's `XMLWriter` and various Statamic data repositories to fetch our content and generate a sitemap. The following files interact to help implement this feature:
* `app/Utilities/SiteMapGenerator.php`: Provides the sitemap generator implementation
* `config/sitemap.php`: Provides a central location to exclude collections from sitemap generation, such as the Testimonials collection
* `routes/web.php`: Provides a `sitemap.xml` route that will return an XML response containing the generated sitemap
### Randomized and Unique Array Options
The 404-page template of this Starter Kit will randomly apply background colors to a grid. This is accomplished using a custom Tag that accepts a list of choices to select from. Once an option has been selected, it is removed from the list of available choices for subsequent selections.
The following files are used for this:
* `app/Tags/RandomOnce.php`: The custom Tag implementation
* `resources/views/errors/404.antlers.html` The 404-error page template implementation

### Custom Page Title Behavior
This Starter Kit implements custom page title behavior through the `app/Tags/SiteTitle.php` custom Tag. This Tag provides examples of the following:
* Interacting with the `Entry` façade
* Finding entries based on their URI
* Interacting with a custom Tag's context
* Querying Global Sets and retrieving their values for the current site
## Provided Collections and Blueprints
The Agency provides the following collections:
* Blog: Contains all entries for "The Buzz", the sample blog
* Pages: Contains the entries for each page of the site, including the home page, project request page, and more
* Portfolio: Contains all of the projects and case studies showcased on the `/projects` page
* Project Requests: When visitors complete the project request form on the `/contact` page, submissions will be saved to this collection
* Services: A collection of services that are displayed prominently on the home page
* Testimonials: A collection of customer testimonials that are displayed prominently on the home page
Some pages, such as the home page, testimonial, etc. have their own custom blueprint to customize the Control Panel experience and help tailor the content.
Most blueprints will automatically inherit the following SEO meta fields:
| Field | Description |
|---|---|
| Keywords | An optional list of SEO keywords |
| Description | An optional SEO description |
The following noteworthy blueprints are provided by this Starter Kit:
**Blog Page**: The blueprint for the blog listing page
| Field | Description |
|---|---|
| Title | The page's title |
| Heading Blurb | The content that appears prominently on the larger header |
The blueprint for the Portfolio page contains similar fields.
**Contact**: The blueprint for the '/contact' page
| Field | Description |
|---|---|
| Title | The page's title |
| Heading Title | A secondary title that appears at the top of the contact page |
| Content | A Bard field that contains content that appears below the Heading Title at the top of the contact page |
**Home**: The blueprint for the home page
| Field | Description |
|---|---|
| Title | The page's title |
| Content | A replicator field that contains various sets that can appear on the home page |
The home page is a simple example of the "Page Builder" concept, in which custom Antlers views are rendered depending on the type of set encountered.
The home page's template can be found at `resources/views/pages/home.antlers.html`, and a simple Antlers loop that iterates each set within the `content` replicator field:
```antlers
{{ content }}
{{ partial:if_exists src="components/home/{type}" /}}
{{ /content }}
```
The `type` variable is provided by each set within the Replicator field (this is also true for Bard fields with sets!). The `{{ partial:if_exists }}` Tag will load one of the partials within the `resources/views/components/home` directory, if a match exists.
There are many other blueprints, such as those that contain blog post entries and project request submissions. These are fairly typical blueprints, and can explored within the Control Panel, or by reading through the YAML files.
### Global Sets
This Starter Kit includes a single Global Set (`site_settings`). This set is used to configure the following:
* Site Name: The name that will be used across the site, including in the header and title,
* Footer / About Us: The text that will appear in the footer
* Footer / Contact Information: A list of contact information that will appear in the footer, such as email, phone, and physical address
* Social Media Profiles: A list of social media profiles and links that will appear in the footer
## Resources
This Starter Kit makes use of a number of custom graphics, as well as those from the following sources:
* Header SVG graphics came from unDraw: [https://undraw.co/](https://undraw.co/)
* SVG icons (social, project board icons, etc.) came from Feather: [https://feathericons.com/](https://feathericons.com/)
* The "Board" icon used in the custom Control Panel navigation menu item is from Streamline's Regular icon set: [https://www.streamlinehq.com/icons/legacy-streamline-regular](https://www.streamlinehq.com/icons/legacy-streamline-regular)
* Sample images are from Unsplash: [https://unsplash.com/](https://unsplash.com/)
* Customer profile images used for testimonials were generated using Lorem Faces: [https://loremfaces.com/](https://loremfaces.com/)
* Favicon assets generated using [https://realfavicongenerator.net/](https://realfavicongenerator.net/)
* The Project Board view components was adapted from this example found on Code Sandbox: [https://codesandbox.io/s/animated-draggable-kanban-board-with-tailwind-and-vue-1ry0p](https://codesandbox.io/s/animated-draggable-kanban-board-with-tailwind-and-vue-1ry0p)
## License
"The Agency" is free software released under the MIT License.
Feel free to use it as a starting point for a project, or take things from it. Redistribution as a Starter Kit is prohibited.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

sage
WordPress starter theme with Laravel Blade components and templates, Tailwind CSS, and block editor support
Laravel · 启动器

wave
Wave - The Software as a Service Starter Kit, designed to help you build the SAAS of your dreams 🚀 💰
Laravel · SaaS

filament-starter
A beautiful starting point for your next TALL stack project using Filament. ⚡
Laravel · 启动器

electrik
Laravel SaaS starter kit: auth, teams, Stripe billing, and Slate 3 — Composer package for Laravel 12
Laravel · SaaS

php-saas
The everything-included starter kit for your next idea
Laravel · SaaS

filament-jetstream
A Laravel starter kit built with Filament inspired by Jetstream.
Laravel · 启动器
