concrete5/composer

此包已被弃用且不再维护。作者建议使用 concretecms/composer 包。

一个用于composer管理的Concrete网站的完整功能骨架

v1.4.0 2024-03-05 19:56 UTC

README

Latest Version on Packagist Software License Build Status Total Downloads

创建新项目

首先为您的项目选择一个名称。在这个示例中,我们的项目名为 "the_oregon_trail"。

$ composer create-project -n concretecms/composer the_oregon_trail

现在您已经有了最新的Concrete版本,可以开始安装了!

注意:这是一个骨架项目。因此,一旦您创建了一个项目,您就可以安装自己的VCS并更改README及其它内容。

从Concrete最新开发版本开始

首先创建一个新的项目

$ composer create-project -n concretecms/composer the_oregon_trail

然后进入该项目并要求dev-develop版本的concretecms/core

$ cd the_oregon_trail
$ composer require concretecms/core:dev-develop

安装Concrete

进入您的新Concrete项目

$ cd the_oregon_trail

并使用随Concrete CLI工具提供的交互式安装命令

$ ./vendor/bin/concrete c5:install -i

按照指示操作,您的网站将开始安装!

注意:您也可以直接使用PHP运行CLI工具

$ ./public/concrete/bin/concrete

使用composer安装Concrete包

packagist.org 上找到您想要安装的包(在这个例子中是 concretecms/sample_composer_package

注意:您还可以使用composer的存储库功能来管理使用composer的私有包

$ composer require concretecms/sample_composer_package
$ ./vendor/bin/concrete c5:package-install sample_composer_package

编译JS / CSS资源

这个库使用 Laravel Mix。请参阅 webpack.mix.js。要构建资源

npm install
npm run dev   # Build for development
npm run hot   # Build with hot reloading enabled (See hot reloading section)
npm run watch # Build with a watcher that rebuilds when files change
npm run prod  # Build for production

热模块替换

热模块替换(热重载)允许您编写代码并在浏览器中立即看到更改,而无需重新加载页面。为了使用Concrete的热重载,您需要使用mixmixAsset辅助函数来包装您的js和css URL。这些函数确保您的资源自动检测热重载模式并输出适当的URL,它们在生产环境中是安全的

在页面主题中

<?php
use function Concrete5\Composer\mixAsset;
...

class PageTheme extends Theme
{
  public function registerAssets()
  {
    $this->requireAsset(mixAsset('/path/to/file.js'));
  }
}
<?php
use function Concrete5\Composer\mixAsset;
...

class Controller extends BlockController
{
    public function registerViewAssets()
    {
        $this->requireAsset(mixAsset('/path/to/js/file.js'));
        $this->requireAsset(mixAsset('/path/to/css/file.css'));
    }
}

或主题模板中

<?php
use function Concrete5\Composer\mix;
?>

<script src='<?= mix('/path/to/your/asset.js') ?>'></script>
<link href='<?= mix('/path/to/your/asset.css') ?>' />

免费市场插件

您想安装一个在Concrete市场中免费但在packagist.org上不免费的插件吗?请访问 https://composer.concretecms.org/