<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* MaxSite CMS
* (c) https://max-3000.com/
*
* Слайдер (c) lightslider
* http://sachinchoolur.github.io/lightslider/
* http://sachinchoolur.github.io/lightslider/settings.html
*/
// условие вывода компонента
// php-условие как в виджетах
if ($rules = trim(mso_get_option('lightslider_rules_output', getinfo('template'), ''))) {
$rules_result = eval('return ( ' . $rules . ' ) ? 1 : 0;');
if ($rules_result === false) $rules_result = 1;
if ($rules_result !== 1) return;
}
// опции слайдера дефолтные
$_def = '
[options]
block_start = <div class="layout-center-wrap"><div class="layout-wrap mar10-t pad20-rl">
block_end = </div></div>
[/options]
[js]
item: 2,
auto: true,
loop: true,
speed: 400,
[/js]
[slide]
<h3 class="bg-blue pad20 t-center">1</h3>
[/slide]
[slide]
<h3 class="bg-yellow pad20 t-center">2</h3>
[/slide]
[slide]
<h3 class="bg-red t-white pad20 t-center">3</h3>
[/slide]
[slide]
<h3 class="bg-gray800 t-white pad20 t-center">4</h3>
[/slide]
';
$slides0 = mso_get_option('lightslider', getinfo('template'), $_def);
if (!$slides0) return; // опции не определены - выходим
// ищем вхождение [slide] ... [slide]
$slides = mso_section_to_array($slides0, '!\[slide\](.*?)\[\/slide\]!is', array(), false, true);
if (!$slides) return; // нет секций - выходим
// замена в тексте
$slides0 = str_replace('TEMPLATE_URL/', getinfo('template_url'), $slides0);
$slides0 = str_replace('SITE_URL/', getinfo('siteurl'), $slides0);
$slides = str_replace('TEMPLATE_URL/', getinfo('template_url'), $slides);
$slides = str_replace('SITE_URL/', getinfo('siteurl'), $slides);
// опции слайдера свои
$options = mso_section_to_array($slides0, '!\[options\](.*?)\[\/options\]!is', []);
if (isset($options[0])) $options = $options[0];
$options_def = [
'block_start' => '<div class="layout-center-wrap"><div class="layout-wrap mar30-tb pad20-rl">',
'block_end' => '</div></div>',
'element' => '.component-lightslider', // элемент для jQuery (с точкой)
'ul_class' => 'component-lightslider', // class для ul
];
$options = mso_merge_array($options, $options_def);
// в секции [js] все параметры слайдера в родном js-формате
$js = mso_section_to_array($slides0, '!\[js\](.*?)\[\/js\]!is', array(), false, true);
// данные в первом элементе
$js = (isset($js[0])) ? $js[0] : '';
echo $options['block_start'] . '<ul class="inline ' . $options['ul_class'] . '">';
foreach ($slides as $slide) {
if (!$slide) continue; // не указан текст
echo '<li>' . trim($slide) . '</li>';
}
echo '</ul>' . $options['block_end'];
echo '<script>$(document).ready(function() { $("' . $options["element"] . '").lightSlider({' . $js . '}); });</script>';
# end of file