szyminson/simple-website

此包已被弃用且不再维护。没有建议的替代包。

一个简单的用于简单网站的微型框架。

v0.1.0 2018-12-02 20:31 UTC

This package is auto-updated.

Last update: 2022-01-10 18:40:49 UTC


README

本项目的目标是创建一个易于实现且简单的微型引擎,支持Blade主题和基于文本文件的内容管理。

目录

依赖关系

安装

  1. composer create-project szyminson/simple-website projectName,
  2. .env.example 重命名为 .env 并将 BASE_DIR 变量更改为您的项目路径,
  3. 在浏览器中打开您的项目,您应该看到一个示例页面。

建议

要了解如何使用Simple Website,最好的方法是阅读此README文件的同时查阅文件。

子页面

默认情况下,子页面列表存储在 /public/content/pages.config 中(您可以在 .env 文件中更改其路径)。请记住,为了在菜单中按您希望显示它们的顺序放置子页面。文件中的第一个子页面将自动被处理为主页。

布局

Simple Website 使用 BladeOne 模板引擎。有 3 种 模板类型

  • 主布局 - 您网站外观的主要部分,它由子布局扩展,
  • 子布局 - 这是用于子页面的布局,它扩展主布局,
  • 模块布局 - 每个模块都有自己的布局,因此您可以轻松更改模块的外观。

主布局和子布局存储在 /views/layouts 中。模块布局存储在 /views/modules 中。

文件命名

  • 主布局和子布局: /views/layouts/LayoutName.blade.php
  • 模块布局: /views/modules/ModuleName.blade.php
注意

您可以使用 Asset Packagist 为您的前端依赖项。默认情况下,前端资产将存储在 /public/assets 中。

模块

模块是用于构建子页面的简单部分。您可以创建 2 种 类型的模块

静态模块

仅包含HTML代码的简单模块。您可以通过在 /views/modules 中创建blade模板来创建它们。

文件命名

/views/modules/ModuleName.blade.php

动态模块

在动态模块中,您可以使用您自己的 PHP 代码。为此,您需要在 /modules 中创建一个 PHP 文件,以及在 /views/modules 中创建一个 Blade 模板。您可以通过设置 $Content 数组,将模块的后端部分数据传递到模板中。

模块后端可用的变量

  • $pageId - 当前子页面的 ID,
  • $pages - 包含您所有子页面信息的对象,
  • $blade - 您可以可选地将一些额外的模板加载到 $Content 数组中,但并不推荐这样做,
  • $parsedown - 您可以使用此对象将某些 Markdown 解析成 HTML。

文件命名

  • 后端: /modules/ModuleName.php
  • 前端: /views/modules/ModuleName.blade.php

ExampleModule.php

<?php
$VariableName = "Your data";
$VariableName2 = "Some other data";
$VariableName3 = array("one", "two", "three");
$Content = array("Example" => $VariableName, "Example2" => $VariableName2, "Items" => $VariableName3);
?>

ExampleModule.blade.php

<p>
  {{ $Example }}
</p>
<p>
  {{ $Example2 }}
</p>
<ul>
  @foreach($Items as $Item)
  <li>$Item</li>
  @endforeach
</ul>

组件

组件是可以放置在您的 主布局子布局(例如 菜单)中的模块。要将模块作为组件使用,您需要将其名称放入组件的 配置文件 中(默认为 /public/content/components.config)。然后,您可以通过使用其名称简单地将组件加载到布局文件中:{{ $Menu }}