LayoutBlock - HTML (uikit)
Aus Wikizone
Version vom 2. November 2018, 18:00 Uhr von Steff (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<syntaxhighlight lang="php"> <?php namespace ProcessWire; // v1.0 // Init $sectionClasses = array('uk-section'); $sectionStyles = array(); $sectionClassesMarku…“)
<?php namespace ProcessWire;
// v1.0
// Init
$sectionClasses = array('uk-section');
$sectionStyles = array();
$sectionClassesMarkup = '';
$sectionStylesMarkup = '';
$containerClasses = array('uk-container'); // content container not box-container
$containerClassesMarkup = '';
$gridClasses = array();
$colClasses = array();
$prepend = '';
$append = '';
$bodyPrepend = '';
$bodyAppend = '';
// Section Classes
if($page->section_style) $sectionClasses[] = $page->section_style->value;
if($page->section_size) $sectionClasses[] = $page->section_size->value;
if($page->no_space_top) $sectionClasses[] = "uk-padding-remove-top";
if($page->no_space_bottom) $sectionClasses[] = "uk-padding-remove-bottom";
// Container Classes
if($page->uk_container_size) $containerClasses[] = $page->uk_container_size->value;
// Background Image
if($page->single_image){
$myImage = $page->single_image->width(1200);
$sectionClasses[] = 'uk-background-cover';
$sectionStyles[] = 'background-image:url(\''.$myImage->url.'\');';
}
// BOXED SECTION
if($page->section_boxed){
// add outer container
$prepend .= '<div class="uk-container">';
$append .= '</div>';
$gridClasses[] = 'uk-margin-remove';
$colClasses[] = 'uk-padding';
}
// Fixed Width container ToDo wrap function
if($page->fixed_width){
$bodyPrepend = '<div class="'.$page->fixed_width->value.'">';
$bodyAppend = '</div>';
}
// CREATE MARKUP
$sectionClassesMarkup = implode(' ',$sectionClasses);
$sectionStylesMarkup = implode(' ',$sectionStyles);
$containerClassesMarkup = implode(' ',$containerClasses);
$gridClasses[] = 'uk-grid';
$gridClassesMarkup = implode(' ',$gridClasses);
$colClasses[] = 'uk-width-1-1';
$colClassesMarkup = implode(' ',$colClasses);
// Put things together
$body = $bodyPrepend.$page->html.$bodyAppend;
$out = '';
$out .= "
<div class=\"$sectionClassesMarkup\" style=\"$sectionStylesMarkup\">
<div class=\"$containerClassesMarkup\">
<div class=\"$gridClassesMarkup\">
<div class=\"$colClassesMarkup\">
$body
</div>
</div>
</div>
</div>
";
return $prepend.$out.$append;