{"id":16417057,"url":"https://github.com/open-admin-org/page-designer","last_synced_at":"2025-03-23T06:31:33.670Z","repository":{"id":37835614,"uuid":"503893269","full_name":"open-admin-org/page-designer","owner":"open-admin-org","description":"A page designer to create freely positionend element on a page","archived":false,"fork":false,"pushed_at":"2024-01-02T21:47:51.000Z","size":97,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T18:43:03.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-admin-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-15T19:15:07.000Z","updated_at":"2024-08-20T16:13:59.000Z","dependencies_parsed_at":"2024-10-28T15:52:58.581Z","dependency_job_id":null,"html_url":"https://github.com/open-admin-org/page-designer","commit_stats":{"total_commits":15,"total_committers":2,"mean_commits":7.5,"dds":0.1333333333333333,"last_synced_commit":"73f6bdf3fc474776211f680d1a2daef6dcaa3b7d"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-admin-org%2Fpage-designer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-admin-org%2Fpage-designer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-admin-org%2Fpage-designer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-admin-org%2Fpage-designer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-admin-org","download_url":"https://codeload.github.com/open-admin-org/page-designer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245066497,"owners_count":20555402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T07:10:53.995Z","updated_at":"2025-03-23T06:31:32.644Z","avatar_url":"https://github.com/open-admin-org.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"PageDesigner for Open-admin\n============================\nFreely position items on a page and edit their content.\n\n[![StyleCI](https://styleci.io/repos/503893269/shield?branch=main)](https://styleci.io/repos/503893269)\n[![Packagist](https://img.shields.io/github/license/open-admin-org/page-designer.svg?style=flat-square\u0026color=brightgreen)](https://packagist.org/packages/open-admin-ext/page-designer)\n[![Total Downloads](https://img.shields.io/packagist/dt/open-admin-ext/page-designer.svg?style=flat-square)](https://packagist.org/packages/open-admin-ext/page-designer)\n[![Pull request welcome](https://img.shields.io/badge/pr-welcome-green.svg?style=flat-square)]()\n\n\n## Screenshot\n\n![extention-page-designer](https://user-images.githubusercontent.com/86517067/173943033-9234fe5a-273f-4383-84a1-d2f38120c3bf.png)\n\n\n## Installation\n\n### 1) Terminal\n\n```\n$ composer require open-admin-ext/page-designer\n\n$ php artisan admin:import page-designer\n\n$ php artisan vendor:publish --tag=page-designer\n\n$ php artisan migrate\n```\n\n### 2) Add Routes\nAdd admin routes in App/Admin/routes.php\n```php\n$router-\u003eresource('page-designer', PageDesignerController::class);\n$router-\u003eresource('page-designer-images', PageDesignerImagesController::class);\n$router-\u003eresource('page-designer-videos', PageDesignerVideoController::class);\n$router-\u003eresource('page-designer-texts', PageDesignerTextController::class);\n$router-\u003eresource('page-designer-inline-galleries', PageDesignerInlineGalleryController::class);\n$router-\u003eresource('page-designer-embeds', PageDesignerEmbedController::class);\n```\n\nAdd front-end routes in routes/web.php\n```php\nuse App\\Http\\Controllers\\PageDesignerController;\n\nRoute::get('/page/{id}', [PageDesignerController::class, 'index'])-\u003ename('page-designer');\n```\n\n### 3) Check it out\nApp\\Controllers\\PageDesignerController.php\n\nNow in the form section you see.\n```php\n$form-\u003epagedesigner('data', __('pageDesign'));\n```\n\n##### For the front-end:\nGo to your-app-url/page/{id} and see how it look\nyou can alter the look by changing resources/views/page_designer.blade.php\n\n\n## Options\n```php\n// set snap\n$form-\u003epagedesigner('data', __('pageDesign'))-\u003esnap(30);\n```\n\n## Adding new items to the PageDesigner\nThe PageDesigner automaticly scans the `Admin/Controllers` directory to see if there are controller with `PageDesignItem` trait.\n\nYou can generate an AdminController like you normaly would (Tip: use the helper plugin), then you can add the following code below.\n\nLets say you like an quote item to add to your PageDesigner after you create the controller. Alter it to look like this:\n\n```php\nuse OpenAdmin\\Admin\\PageDesigner\\Traits\\PageDesignItem;\n\nclass PageDesignerQuoteController extends AdminController\n{\n    use PageDesignItem;\n\n    public function __construct()\n    {\n        $this-\u003einitPageDesignItem();\n    }\n\n    public static function pageDesign()\n    {\n        return [\n            'parent_field'=\u003e 'page_id',\n            'type'        =\u003e 'quote',\n            'title'       =\u003e 'quote',\n            'icon'        =\u003e 'icon-quote-right',\n            'model'       =\u003e \"\\App\\Models\\PageDesignerQuote\",\n        ];\n    }\n\n    // this part renders the content part of the item\n    // the rendering on the frond-end is seperate, but offcourse you can let them share styles\n    public static function pageDesignScripts()\n    {\n        return \u003c\u003c\u003c'JS'\n            // use the type as writen above + 'SetContent'\n            window.quoteSetContent = function(data,current_content){\n                current_content.innerHTML = '\u003ch2\u003eQuote: '+data.quote+'\u003c/h2\u003e';\n            };\n        JS;\n    }\n\n    ...\n```\n\n\nLicense\n------------\nLicensed under [The MIT License (MIT)](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-admin-org%2Fpage-designer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-admin-org%2Fpage-designer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-admin-org%2Fpage-designer/lists"}