✨ Add banner and background
This commit is contained in:
parent
af0b8e9fb7
commit
072728b5c7
3 changed files with 81 additions and 1 deletions
|
@ -42,4 +42,27 @@ class PluginSettings
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function medias($plugin, $settingName, $title, $description = "")
|
||||||
|
{
|
||||||
|
|
||||||
|
global $L;
|
||||||
|
global $medias;
|
||||||
|
|
||||||
|
$html = '<div class="mb-3">';
|
||||||
|
$html .= '<label class="form-label" for="'.$settingName.'">' . $L->get($title) . '</label>';
|
||||||
|
$html .= '<select class="form-select" id="'.$settingName.'" name="'.$settingName.'">';
|
||||||
|
$html .= '<option value="" ' . ($plugin->getValue($settingName) == '' ? 'selected' : '') . '>' . $L->get('None') . '</option>';
|
||||||
|
foreach ($medias->content() as $key=>$media) {
|
||||||
|
$html .= '<option value="'.$key.'" ' . ($plugin->getValue($settingName) == $key ? 'selected' : '') . '>' . $media->name() . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$html .= '</select>';
|
||||||
|
if ($description != "") {
|
||||||
|
$html .= '<div class="form-text">' . $L->get($description) . '</div>';
|
||||||
|
}
|
||||||
|
$html .= '</div>';
|
||||||
|
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -17,5 +17,29 @@
|
||||||
<?php echo Theme::css('css/'.$themePlugin->getValue('accentColor').'.css'); ?>
|
<?php echo Theme::css('css/'.$themePlugin->getValue('accentColor').'.css'); ?>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
<?php if ($themePlugin->haveBanner()): ?>
|
||||||
|
#main-header {
|
||||||
|
background-image: url("<?php echo $themePlugin->bannerURI(); ?>");
|
||||||
|
text-shadow: 0px 1px 1px rgba(0,0,0,0.8);
|
||||||
|
<?php if ($themePlugin->getValue('bannerTiled') == false) : ?>
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center center;
|
||||||
|
<?php endif ?>
|
||||||
|
}
|
||||||
|
<?php endif ?>
|
||||||
|
<?php if ($themePlugin->haveBackground()): ?>
|
||||||
|
html {
|
||||||
|
background-image: url("<?php echo $themePlugin->backgroundURI(); ?>");
|
||||||
|
<?php if ($themePlugin->getValue('backgroundTiled') == false) : ?>
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center center;
|
||||||
|
<?php endif ?>
|
||||||
|
}
|
||||||
|
<?php endif ?>
|
||||||
|
</style>
|
||||||
|
|
||||||
<!-- Load Koblog Plugins: Site head -->
|
<!-- Load Koblog Plugins: Site head -->
|
||||||
<?php Theme::plugins('siteHead'); ?>
|
<?php Theme::plugins('siteHead'); ?>
|
||||||
|
|
|
@ -8,7 +8,11 @@ class defaultTheme extends Plugin
|
||||||
$this->dbFields = array(
|
$this->dbFields = array(
|
||||||
'showPostInformation' => false,
|
'showPostInformation' => false,
|
||||||
'dateFormat' => 'relative',
|
'dateFormat' => 'relative',
|
||||||
'accentColor' => 'default'
|
'accentColor' => 'default',
|
||||||
|
'background' => '',
|
||||||
|
'backgroundTiled' => true,
|
||||||
|
'banner' => '',
|
||||||
|
'bannerTiled' => false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +20,11 @@ class defaultTheme extends Plugin
|
||||||
{
|
{
|
||||||
$html = '';
|
$html = '';
|
||||||
|
|
||||||
|
$html .= PluginSettings::medias($this, 'background', 'Blog background');
|
||||||
|
$html .= PluginSettings::bool($this, 'backgroundTiled', 'Tiled blog background');
|
||||||
|
$html .= PluginSettings::medias($this, 'banner', 'Banner background');
|
||||||
|
$html .= PluginSettings::bool($this, 'bannerTiled', 'Tiled Banner background');
|
||||||
|
|
||||||
$html .= PluginSettings::bool($this, 'showPostInformation', 'Show Post Information');
|
$html .= PluginSettings::bool($this, 'showPostInformation', 'Show Post Information');
|
||||||
$html .= PluginSettings::values($this,'dateFormat', 'Date format', ['noshow'=>'No show', 'relative'=>'Relative', 'absolute'=>'Absolute'], 'Change the date format for the main page.');
|
$html .= PluginSettings::values($this,'dateFormat', 'Date format', ['noshow'=>'No show', 'relative'=>'Relative', 'absolute'=>'Absolute'], 'Change the date format for the main page.');
|
||||||
$html .= PluginSettings::values($this,'accentColor', 'Accent Color', [
|
$html .= PluginSettings::values($this,'accentColor', 'Accent Color', [
|
||||||
|
@ -45,4 +54,28 @@ class defaultTheme extends Plugin
|
||||||
{
|
{
|
||||||
return $this->getValue('dateFormat');
|
return $this->getValue('dateFormat');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function haveBanner() {
|
||||||
|
return ($this->getValue('banner') != '');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function haveBackground() {
|
||||||
|
return ($this->getValue('background') != '');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bannerURI()
|
||||||
|
{
|
||||||
|
if ($this->getValue('banner') == '') {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
return new Media($this->getValue('banner'))->permalink();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function backgroundURI()
|
||||||
|
{
|
||||||
|
if ($this->getValue('background') == '') {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
return new Media($this->getValue('background'))->permalink();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue