我開始在laravel 4中開發我的碩士論文,現在需要一個用於管理主題的包。例如,該應用程序將具有3個主題:管理員,主題1和主題2。Laravel用於管理佈局的主題
你有什麼建議嗎?
一些功能,將是有趣的,有包:
- 管理風格和腳本(加上資產)
- 縮小資產
- 編譯lesscss(可選)
我開始在laravel 4中開發我的碩士論文,現在需要一個用於管理主題的包。例如,該應用程序將具有3個主題:管理員,主題1和主題2。Laravel用於管理佈局的主題
你有什麼建議嗎?
一些功能,將是有趣的,有包:
聲音的就像你需要把手放在Cartalyst Themes包裝上一樣。據我所知,把你所有的盒子都撿起來。
如果你不熱衷於支付訂閱費用,那麼你可能需要考慮自己。在那裏有一些資產管理軟件包(Assetic,Basset和Jeffrey Way's Laravel Guard)可以幫助您在這方面開始工作。至於實際交換主題部分,您需要在那裏自行實施某些內容。
我寫了一個包名「Theme」。
這是我在管理主題laravel DIY的方式,我在過去的應用這幾個我的項目,然而,這是不是一個自動的方式,其他的答案優惠。
我發現前端的人非常有創意,所以我儘量讓他們儘可能地孤立,以便他們在做出貢獻之前不必知道後端的東西太多。因此,我創建了一個名爲themes
的文件夾。
public
themes
default
assets
views
layouts
mockups
pages
partials
什麼是默認的主題文件夾裏面實在是任意的,只要你能保持你的主題文件管理。
然後我會依賴第三方工具,例如。 CodeKit等做css js編譯工作。所以這不再是真正的Laravel特定主題。
要添加另一個主題,只需在主題文件夾下添加另一個文件夾即可。爲了獲得上述工作,您仍然需要自己整理主題加載器,因爲我們已經轉移到自定義主題位置。我將使用
// Define a theme namespace folder under public
$this->registerPublicPath(
'default', '/themes/default/views',
'asset', '/themes/default/assets'
);
我上面做的方式被稱爲「創建主題引擎」或「創建一個基本主題」之前把下面的控制器
/**
* Register a theme path relative to public
*
* @param string $name Theme name
* @param string $path Theme path
* @param string $asset_name Asset name of the theme, {$asset_name}_path will be registered at the template
* @param string $asset_path Asset path of the theme, {$asset_name}_path will point to $asset_path
*/
protected function registerPublicPath($name, $path, $asset_name = '', $asset_path = '') {
if (empty($asset_name)) {
$asset_name = $name;
}
if (empty($asset_path)) {
$asset_path = $path;
}
$path = public_path() . $path;
View::addLocation($path);
View::addNamespace($name, $path);
View::share($asset_name . '_path', url('/') . $asset_path);
}
,並調用默認的主題(例如在Drupal中)。
如果您已經切換到Laravel 5,你可以嘗試使用的功能,如我的包:
在這裏嘗試:igaster/laravel-theme
你的軟件包支持.less文件嗎? –