SELAP CMS

Зачем нужна еще одна CMS? Для того чтобы развернуть сайт нужно создать базу данных, загрузить установщик, победить дракона, прописать доступы к базе данных, вырастить сына, ввести e-mail получить письмо с паролем... А после этого все становится еще хуже. Ни одна из существующих CMS не дает простого способа из коробки вывести в админ-панель любое количество переменных привязанных (или нет) к страницам. Начинается поиск плагинов, установка, отрицание, гнев, торги, депрессия и принятие факта, что вам всю жизнь придется лепить одни и те же костыли, когда все что вам нужно выгрузить сайт визитку и дать возможность клиенту настраивать десяток-другой полей.

SELAP CMS создан специально для небольших сайтов и лендингов. Вся его функциональность заключается в редактирвоании файла config.json в котором хранится структура сайта, и созданные параметры. А так же есть некоторые функции, для управления значениями config.php и отправки почты (а что еще нужно?).

Типы данных
Возможность выбирать типы полей в админ-панели. Доступны: дата, визуальный редактор, выпадающий список и прочее

Изменяемая структура
Вы можете менять местами элементы, просто перетаскивая их мышью. А также редактировать параметры полей после их создания

Редактор кода
В админ-панель встроен простенький редактор кода с подсветкой синтаксиса, переключением между шаблонами, стилями и скриптами

Бесконечная вложенность
Поскольку основой хранения данных выбран JSON, вы можете составлять древовидные структуры переменных бесконечной вложенности

Методы для работы с JSON
В ядре CMS есть некоторые функции для работы с JSON. С помощью них можно связать действия пользователя со значениями переменных

Файловый менеджер
Файловый менеджер позволяет легко работать с изображениями и файлами. Он интегрирован в визуальный редакторТипы данных
Возможность выбирать типы полей в админ-панели. Доступны: дата, визуальный редактор, выпадающий список и прочее

Изменяемая структура
Вы можете менять местами элементы, просто перетаскивая их мышью. А также редактировать параметры полей после их создания

Редактор кода
В админ-панель встроен простенький редактор кода с подсветкой синтаксиса, переключением между шаблонами, стилями и скриптами

Бесконечная вложенность
Поскольку основой хранения данных выбран JSON, вы можете составлять древовидные структуры переменных бесконечной вложенности

Методы для работы с JSON
В ядре CMS есть некоторые функции для работы с JSON. С помощью них можно связать действия пользователя со значениями переменных

Файловый менеджер
Файловый менеджер позволяет легко работать с изображениями и файлами. Он интегрирован в визуальный редактор

Документация

  • Меню

    # Произвольный блок

    <? $side_memu = array();
    	foreach ( $SELAP['menu'] as $menu_item ) {
    		if ( ! empty( $menu_item['parent'] ) ) {
    			$side_memu[] = $menu_item;
    		}
    	}
    	echo '<ul class="uk-navbar-nav">';
    	foreach ( $SELAP['menu'] as $menu_item ) {	
    		if ( ! empty( $menu_item['parent'] ) ) {
    			continue;
    		}
    		echo '<li><a href="' . $menu_item['link'] . '">' . $menu_item['name'] . '</a>';
    			if ( $side_memu ) {
    				foreach ( $side_memu as $item ) {
    					if ( $menu_item['url'] == $item['parent'] ) {
    					echo '<div class="uk-navbar-dropdown"><ul class="uk-nav uk-navbar-dropdown-nav"><a href="' . $item['link'] . '">' . $item['name'] . '</a></ul></div>';
    					}
    				}
    			}
    		echo '</li>';
    	}
    	echo '</ul>';
    ?>
  • Структура

    # Ссылка

    <?=$SELAP['page']['url'];?>

    # Название страницы

    <?=$SELAP['page']['title'];?>

    # Заголовок

    <?=$SELAP['page']['name'];?>

    # Ключевые слова

    <?=$SELAP['page']['keywords'];?>

    # Описание

    <?=$SELAP['page']['description'];?>

    # Шаблон

    <?=$SELAP['page']['template'];?>
  • Параметры

    # Произвольный блок

    <?=$SELAP['config']['defaults']['Алиас поля'];?>

    Алиас поля: название произвольного поля.

  • Типы полей

    # Произвольный блок

    <?=$SELAP['page']['Алиас поля'];?>

    Алиас поля: название произвольного поля.

    # Массив

    <? foreach ($SELAP['page']['Алиас массива'] as $item){
    	echo $item['Алиас поля'];
    } ?>
    Пример:
    <div class="uk-padding uk-background-muted uk-margin-large">
    	<div class="uk-child-width-1-3@m uk-grid-match" data-uk-grid>
    		<? foreach ($SELAP['page']['massive'] as $item) { ?>
    			<div>
    				<div class="uk-card uk-card-default uk-card-small">
    					<? if ( $item['massive-img'] ) { 
    						echo '<div class="uk-card-media-top">';
    						echo '<img src="'. $item['massive-img'] . '">';
    						echo '</div>';
    					} ?>
    					<div class="uk-card-body">
    						<? if ( $item['massive-text'] ) { 
    							echo '<h4 class="uk-card-title uk-text-bold">';
    							echo $item['massive-text'];
    							echo '</h4>';
    						} ?>
    						<? if ( $item['massive-texarea'] ) { 
    							echo '<p>';
    							echo $item['massive-texarea'];
    							echo '</p>';
    						} ?>
    					</div>
    				</div>
    			</div>
    		<? } ?>
    	</div>
    </div>
    
    
    <div class="uk-margin-large">
    	<? foreach ($SELAP['config']['defaults']['slider'] as $item){ ?>
    		<div class="uk-margin-medium">
    			<?=$item['images'];?>
    		</div>
    		<div class="uk-margin-medium">
    			<?=$item['name'];?>
    		</div>
    	<? } ?>
    </div>

    Алиас поля: название произвольного поля.

Подключится к нашему каналу на DISCORD