andheiberg / theme
此包的最新版本(4.0.1)没有可用的许可证信息。
基于blade语法的模块化主题系统。
4.0.1
2018-01-02 21:12 UTC
Requires
- php: >=5.3.0
- illuminate/support: >=4.0.0 <6.0.0
- illuminate/translation: >=4.0.0, <6.0.0
- illuminate/view: >=4.0.0 <6.0.0
- laravelcollective/html: ^5.0
README
### 创建了一个简单模块化方法来创建与Blade兼容的主题。概念是将您的主题拆分为可重用和易于更改的模块。这些模块存储在resources/views/vendor/theme中的简单视图文件中。一个典型的模块示例可能是一个英雄单元。您将存储您的英雄模型如下
+@form(['route' => 'auth.register'])
+@formText('username', 'What do you want to be called?')->placeholder('darthvader')
+@formPassword('password') // if you don't provide a label it will capitalize the key
+@formHidden('awesomeness', 11)
+@formSelect('gender', 'Your gender', ['Male', 'Female'])->required()
+@formDate('born_at', 'Birthdate')
-@form
它特别适合表单。默认情况下,它将填充旧值并显示验证消息。它将典型表单的视图代码减少10倍以上。
它可以用于任何事情。模块易于定义。
// resources/views/vendor/theme/hero.blade.php
<div class="hero row {{ $class }}">
<div class="column">
<!-- Content -->
</div>
</div>
然后可以从视图中使用此模块,如下所示
+@hero()
<h1>It might be yet another twitter client, but this one is really nice</h1>
<p>Seriously I mean it I wouldn't want to disapoint you, but it's amazing.</p>
-@hero
如你所见,HTML注释 <!-- Content -->
将模块的开始和结束分开。如果您选择省略此注释,您可以创建一个模块如下
// app/views/theme/button.blade.php
<a class="button {{ $class }}" href="{{ $link }}">{{ $text }}</a>
然后这样使用它(不带结束标签)
+@button('url', 'text')
多词模块也是如此
// app/views/theme/page-header.blade.php
<div class="page-header {{ $class }}">
<!-- Content -->
</div>
然后这样调用
+@pageHeader()
<h1>Some header</h1>
-@pageHeader
为什么这很有用?
- 轻松更改网站上的标记(如果您开始使用Bootstrap或Foundation进行原型设计,然后想稍后使用自己的标记,这非常有用)
- 比像Former这样的东西更容易修改和理解
- 更容易阅读(你见过像
<!-- end of hero -->
这样的注释吗?现在模块的结束以-@
为前缀,所以不再需要了)
安装
将以下内容添加到您的composer.json中
"andheiberg/theme": "4.0.*" // "1.0.*" for Laravel 4.1 support, "2.0.*" for Laravel 4.2 support, "3.1.*" for Laravel 5 and 5.1 support
将Theme的服务提供程序添加到您的Laravel应用程序中config/app.php。将以下内容添加到提供程序中
Andheiberg\Theme\ThemeServiceProvider::class,
Collective\Html\HtmlServiceProvider::class,
并将以下内容添加到别名中
'Form' => Collective\Html\FormFacade::class,
如果您想使用默认之外的主题,您必须发布设置并更改主题设置
php artisan vendor:publish --provider="Andheiberg\Theme\ThemeServiceProvider"