Added the ability for themes to have their own stylesheet - theme.css in the public folder
This commit is contained in:
parent
82ec82f628
commit
67bfecd2b3
@ -13,10 +13,16 @@ class ThemeHelper
|
||||
return $this->getThemeName();
|
||||
}
|
||||
|
||||
public function hasStylesheet()
|
||||
{
|
||||
$cssFilename = sprintf('%s/%s/theme.css', $this->getThemePublicPath(), $this->getThemeName());
|
||||
return file_exists($cssFilename);
|
||||
}
|
||||
|
||||
public function info()
|
||||
{
|
||||
$themeName = $this->getThemeName();
|
||||
$jsonFile = sprintf('%s/%s/theme.json', $this->getThemeBasePath(), $this->sanitiseThemeName($themeName));
|
||||
$jsonFile = sprintf('%s/%s/theme.json', $this->getThemePrivatePath(), $this->sanitiseThemeName($themeName));
|
||||
if (file_exists($jsonFile))
|
||||
{
|
||||
return json_decode(file_get_contents($jsonFile), true);
|
||||
@ -47,17 +53,22 @@ class ThemeHelper
|
||||
{
|
||||
return sprintf(
|
||||
'%s/%s/%s.blade.php',
|
||||
$this->getThemeBasePath(),
|
||||
$this->getThemePrivatePath(),
|
||||
$themeName,
|
||||
str_replace('.', DIRECTORY_SEPARATOR, $viewPath)
|
||||
);
|
||||
}
|
||||
|
||||
private function getThemeBasePath()
|
||||
private function getThemePrivatePath()
|
||||
{
|
||||
return sprintf('%s/resources/views/themes', dirname(dirname(__DIR__)));
|
||||
}
|
||||
|
||||
private function getThemePublicPath()
|
||||
{
|
||||
return sprintf('%s/public/themes', dirname(dirname(__DIR__)));
|
||||
}
|
||||
|
||||
private function getThemeName()
|
||||
{
|
||||
$themeName = ThemeHelper::DEFAULT_THEME;
|
||||
|
@ -14,6 +14,11 @@
|
||||
<link href="themes/base/bootstrap/css/bootstrap.min.css?v={{ urlencode(config('app.version')) }}" rel="stylesheet">
|
||||
<link href="themes/base/font-awesome/css/font-awesome.min.css?v={{ urlencode(config('app.version')) }}" rel="stylesheet">
|
||||
<link href="themes/base/css/app.css?v={{ urlencode(config('app.version')) }}" rel="stylesheet">
|
||||
|
||||
@if (\App\Facade\Theme::hasStylesheet())
|
||||
<link href="{{ $theme_url }}/theme.css?v={{ urlencode($theme_version) }}" rel="stylesheet">
|
||||
@endif
|
||||
|
||||
@stack('styles')
|
||||
</head>
|
||||
<body>
|
||||
|
Loading…
Reference in New Issue
Block a user