<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 5:39 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Type')->title('Типы')->as('page-type')->with('typeLayout', 'listLayout')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('alias', 'Алиас'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('alias', 'Алиас'); FormItem::checkbox('enable_in_menu', 'Разрешить добавлять в меню?'); FormItem::checkbox('enable_own_layout', 'Разрешить собственный лэйаут для каждой страницы?'); FormItem::checkbox('enable_own_sidebar', 'Разрешить собственный сайдбар для каждой страницы?'); FormItem::select('type_layout_id', 'Лэйаут страницы')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::select('list_layout_id', 'Лэйаут списка')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::select('sidebar', 'Сайдбар списка')->list('\\Hlogeon\\Scms\\Models\\Sidebar'); FormItem::select('item_sidebar', 'Сайдбар элемента')->list('\\Hlogeon\\Scms\\Models\\Sidebar'); FormItem::checkbox('type_in_menu', 'Отображать тип в меню?'); });
* There is some simple examples what you can use: * * Column::register('customColumn', '\Foo\Bar\MyCustomColumn'); * * FormItem::register('customElement', \Foo\Bar\MyCustomElement::class); * * FormItem::register('otherCustomElement', function (\Eloquent $model) * { * AssetManager::addStyle(URL::asset('css/style-to-include-on-page-with-this-element.css')); * AssetManager::addScript(URL::asset('js/script-to-include-on-page-with-this-element.js')); * if ($model->exists) * { * return 'My edit code.'; * } * return 'My custom element code'; * }); */ FormItem::register('code', function (Eloquent $model) { $name = ''; $label = ''; if ($model instanceof \Hlogeon\Scms\Models\Sidebar || $model instanceof \Hlogeon\Scms\Models\Footer) { $name = 'content'; $label = 'Контент'; } if ($model instanceof \Hlogeon\Scms\Models\Layout) { $name = 'sidebar'; $label = 'Сайдбар'; } $editor = new \Hlogoen\Scms\FormItems\CodeEditor($name, $label, $model->content); return $editor->render(); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 6:31 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Category')->title('Категории')->as('page-categories')->with('parent')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('parent.name', 'Родитель'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('slug', 'Slug'); FormItem::select('parent_id', 'Родитель')->list('\\Hlogeon\\Scms\\Models\\Category'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 1:20 PM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\App\\User')->title('Пользователи')->as('user')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Имя'); Column::string('email', 'email'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Имя'); FormItem::text('email', 'Email'); FormItem::text('company_info', 'Компания и должность'); FormItem::password('password', 'Пароль'); FormItem::image('profile_image', 'Аватар'); FormItem::ckeditor('info', 'Информация'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:33 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Sidebar')->title('Сайдбар')->as('sidebar')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::code('content', 'Контент'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 5:39 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Layout')->title('Лэйауты')->as('page-layout')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('path', 'Путь'); // Column::string('alias', 'Алиас'); })->form(function () { FormItem::text('name', 'Название'); FormItem::text('path', 'Путь'); FormItem::checkbox('has_sidebar', 'Есть сайдбар?'); FormItem::code('sidebar', 'Сайдбар'); });
Admin::model('\\Hlogeon\\Scms\\Models\\Page')->title('Страницы')->as('page')->with('layout', 'category', 'type')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('title', 'Название'); Column::string('slug', 'Slug'); Column::string('type.name', 'Тип'); Column::lists('category.name', 'Категория'); Column::string('layout.name', 'Лэйаут'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('title', 'Название'); FormItem::text('second_title', 'Дополниетельная строка названия'); FormItem::text('seo_title', 'SEO Title'); FormItem::textarea('seo_description', 'SEO Description'); FormItem::text('seo_keywords', 'SEO Keywords'); FormItem::text('slug', 'Slug'); FormItem::select('type.id', 'Тип')->list('\\Hlogeon\\Scms\\Models\\Type'); FormItem::select('category.id', 'Категория')->list('\\Hlogeon\\Scms\\Models\\Category'); FormItem::select('layout_id', 'Лэйаут')->list('\\Hlogeon\\Scms\\Models\\Layout'); FormItem::checkbox('in_menu', 'Отображать в меню?'); FormItem::checkbox('sidebar_in_layout', 'Сайдбар в шаблоне?'); FormItem::checkbox('published', 'Опубликованно?'); FormItem::ckeditor('content', 'Контент'); FormItem::ckeditor('additional_content', 'Дополнительный контент'); FormItem::text('reading_time', 'Время чтения'); FormItem::select('sidebar', 'Сайдбар')->list('\\Hlogeon\\Scms\\Models\\Sidebar'); FormItem::select('user.id', 'Пользователь')->list('\\App\\User'); FormItem::image('image', 'Изображение'); FormItem::image('background', 'Фон'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:34 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\MenuItem')->title('Пункты меню')->as('menu-item')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); Column::string('url', 'URL'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::text('name', 'Название'); FormItem::text('url', 'URL'); FormItem::checkbox('published', 'Активен?'); });
<?php /** * Created by PhpStorm. * User: hlogeon * Date: 6/18/15 * Time: 11:25 AM */ use SleepingOwl\Admin\Admin; use SleepingOwl\Admin\Columns\Column; use SleepingOwl\Admin\Models\Form\FormItem; Admin::model('\\Hlogeon\\Scms\\Models\\Footer')->title('Footer')->as('footer')->columns(function () { // Describing columns for table view Column::string('id', 'ID'); Column::string('name', 'Название'); // Column::string('alias', 'Алиас'); })->form(function () { // Describing elements in create and editing forms FormItem::code('content', 'Контент'); FormItem::checkbox('active', 'Активен?'); });