ibrows/simplecms-bundle
Composer 安装命令:
composer require ibrows/simplecms-bundle
包简介
Symfony Simple CMS Bundle
README 文档
README
Setup the bundle
- Fetch the source code
- Add the namespace to your autoloader
- Add the bundle to your
AppKernelclass - Add routing
- Generate Schema
- Permissions
- Enjoy
How to use simple CMS
Just add a tag to your twig file to allow user to edit a specific entity type (by default, text & image is provided)
Some Examples
{# add a text with key 'mycustomtextidentifier' #} {{ 'mycustomtextidentifier'|scms('text') }} {# add a image with key 'mycustomimageidentifier' #} {{ scms('mycustomimageidentifier','image') }} {# add a collections of texts with key 'mycustomtextidentifier' #} {{ 'mycustomtextidentifier'|scms_collection('text') }} {# add a collections of images with key 'mycustomimageidentifier' #} {{ scms_collection('mycustomimageidentifier','image') }}
Advanced examples
Single image with my class and inline editorstyle (instead of block) and a specific locale (default is the current locale)
{{ scms('mycustomidentifier','image',{'inline':true,'attr':{'class':'mycssclass'} },'de_CH' ) }}
Flexible amount of wysiwyg text elements
{{ scms_collection('mycustomidentifier','text',{'html':true}) }}
Install & setup the bundle
-
Fetch the source code
Add IbrowsSimpleCMSBundle in your composer.json:
{ "require": { "ibrows/simplecms-bundle": "*" } }
Now tell composer to download the bundle by running the command:
$ php composer.phar update ibrows/simplecms-bundle
Composer will install the bundle to your project's
ibrows/simplecms-bundledirectory. -
Add the bundle to your
AppKernelclass// app/AppKernerl.php public function registerBundles() { $bundles = array( // ... new Ibrows\SimpleCMSBundle\IbrowsSimpleCMSBundle(), // ... ); // ... }
-
Add routing
// app/config/routing.yml IbrowsSimpleCMSBundle: resource: "@IbrowsSimpleCMSBundle/Controller/" type: annotation prefix: /scms # use the alias routing IbrowsSimpleCMSBundleAlias: resource: . type: ibrows_router prefix: /
-
Generate Schema
php app/console doctrine:schema:update --force
-
Permissions
Get permissions for FileUpload, default folder is web-dir
uploads/documents
Minimal configuration
This bundle requires Nothing !
Additional configuration
Edit default config
# app/config/conf.yml
ibrows_simple_cms:
include_js_libs: true
upload_dir: 'uploads/documents'
role: ROLE_IS_AUTHENTICATED_ANONYMOUSLY
Add security per type
# app/config/conf.yml
ibrows_simple_cms:
types:
# defaults
text: { class: Ibrows\SimpleCMSBundle\Entity\TextContent , type: Ibrows\SimpleCMSBundle\Form\TextContentType, security:{general: ROLE_ADMIN} }
image: { class: Ibrows\SimpleCMSBundle\Entity\ImageContent, type: Ibrows\SimpleCMSBundle\Form\FileContentType, security:{general: ROLE_ADMIN, show: ROLE_SUPER_ADMIN, create: ROLE_SUPER_ADMIN , edit: ROLE_SUPER_ADMIN , delete: ROLE_SUPER_ADMIN } }
Edit TinyMCE Options
# app/config/conf.yml
ibrows_simple_cms:
wysiwyg:
theme: 'advanced'
theme_advanced_buttons1: 'bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect'
# other configs...
Add types
Add / Edit types of Content:
# app/config/conf.yml
ibrows_simple_cms:
types:
# defaults
text: { class: Ibrows\SimpleCMSBundle\Entity\TextContent , type: Ibrows\SimpleCMSBundle\Form\TextContentType }
image: { class: Ibrows\SimpleCMSBundle\Entity\ImageContent, type: Ibrows\SimpleCMSBundle\Form\FileContentType}
# custom
mytext: { class: Ibrows\SimpleCMSBundle\Entity\TextContent , type: Ibrows\SimpleCMSBundle\Form\TextContentType , repository: Ibrows\SimpleCMSBundle\Repository\TextContent, label:first}
mycustomentity: { class: Ibrows\XXXBundle\Entity\YYYContent , type: Ibrows\SimpleCMSBundle\Form\YYYContentType , repository: Ibrows\SimpleCMSBundle\Repository\Content, label:myone}
Your YYYContent Entity have to implement Ibrows\SimpleCMSBundle\Entity\ContentInterface or extend Ibrows\SimpleCMSBundle\Entity\Content or a Child of it.
It's also a good idea to extend Ibrows\SimpleCMSBundle\ContentType in your FormType.
Screenshots
TODO
- create the ODM version
AUTHORS
Developed at iBROWS GmbH Zurich: Marc Steiner Dominik Zogg Olivier Kofler
Twitter: @iBRWOSWEB Web: www.ibrows.ch
ibrows/simplecms-bundle 适用场景与选型建议
ibrows/simplecms-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11.1k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2012 年 07 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「cms」 「Simple」 「symfony cms」 「symfony simple cms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ibrows/simplecms-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ibrows/simplecms-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ibrows/simplecms-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
GraphQL authentication for your headless Craft CMS applications.
The bundle for easy using json-rpc api on your project
Set Links with a specific language parameter
A simple library for make Lexer and Parsers to build a language
A simple library that allows transform any kind of data to native php data or whatever
A simple library that uses the hydration pattern to fill objects given different sources of data.
统计信息
- 总下载量: 11.1k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2012-07-30