erdnaxelaweb/ibexadesignintegration
Composer 安装命令:
composer require erdnaxelaweb/ibexadesignintegration
包简介
Provide an abstraction layer for the Ibexa CMS in order to streamline the templates development workflow.
README 文档
README
This bundle extends erdnaxelaweb/staticfakedesign to provide an abstraction layer for the Ibexa CMS in order to streamline the templates development workflow.
It serves as a bridge between static design development and the Ibexa CMS by:
- Providing a consistent definition model for content types, taxonomy entries, and landing page blocks
- Managing transformations between Ibexa's native objects and template-friendly representations
- Enabling developers to build and test templates before the CMS integration
- Offering a smooth transition from static design to dynamic CMS implementation
Table of Contents
Installation
- Add the bundle to your project via Composer:
composer require erdnaxelaweb/ibexadesignintegration
- Register the bundle in your
config/bundles.php:
return [ // ... ErdnaxelaWeb\IbexaDesignIntegrationBundle\IbexaDesignIntegrationBundle::class => ['all' => true], // ... Ibexa\Bundle\Core\IbexaCoreBundle::class => ['all' => true], ];
/!\ Be sure to load before the IbexaCoreBundle
- Add routes
showroom: resource: "@StaticFakeDesignBundle/Resources/config/routing/showroom.yaml" defaults: siteaccess_group_whitelist: 'static_group' ibexa_design_integration: resource: "@IbexaDesignIntegrationBundle/Resources/config/routing/routes.yaml"
Features
- Value Transformers: Specialized services for transforming Ibexa CMS objects (content, fields, blocks) into template-friendly objects
- Content Abstraction: Consistent interfaces for accessing content data regardless of the underlying implementation
- Block Management: Enhanced landing page block integration with attribute transformation
- Taxonomy Integration: Support for Ibexa Taxonomy with transformation capabilities
- Pagination System: Flexible pager builder with search type system for creating paginated listings
- Performance Optimization: Lazy-loading mechanisms for improved template rendering performance
- HTTP Cache Integration: Automatic response tagging for efficient cache invalidation
Usage
Refer to the erdnaxelaweb/staticfakedesign bundle documentation for detailed usage instructions.
Content types
Define content types in a standardized way using the definition pattern:
parameters: erdnaxelaweb.static_fake_design.content_definition: article: name: eng-GB: 'Article' nameSchema: '<title>' urlAliasSchema: '<title>' fields: title: type: string required: true body: type: richtext required: false
Taxonomy entries
Define taxonomy types for categorizing content:
parameters: erdnaxelaweb.static_fake_design.taxonomy_entry_definition: category: fields: name: required: true type: string identifier: required: true type: string
Landing Page Blocks
Create custom landing page blocks:
ibexa_design_integration: system: default: block_definition: featured_articles: views: default: '@ibexadesign/landing_page/block/featured_articles.html.twig' attributes: title: type: "string" required: false articles: type: "content" required: true options: type: article max: 3
Template Integration
The bundle provide a set of twig functions to integrate templates with the Ibexa CMS.:
display_content: Renders a content view template
{{ display_content(<template name>, <content>, <parameters>, <is ESI>, <view type>) }}
{{ display_content('@ibexadesign/content/list/news.html.twig', content, []) }}
display_block: Renders a block view template
{{ display_block(<block>, <is ESI>) }}
{{ display_block(block) }}
display_component: Renders a component view template
{{ display_component('@ibexadesign/components/footer.html.twig', []) }}
{{ display_component(<template name>, <parameters>, <controller action>, <is ESI>) }}
Thoses functions are used to switch between include and render depending on the context (static or dynamic version).
Rules for view template integration
- A content view template should always be associated with a content object
- Page template names should follow the pattern:
<view>/<content_type>.html.twig - The content variable in a content view template should always be named
content
Documentation
Detailed documentation is available in the ./doc directory:
- Block Attribute Value Transformers
- Block Transformer
- Content Transformer
- Field Value Transformers
- Pager Builder
- Pager Search Types
- Taxonomy Entry Transformer
- Developer Guide
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
composer config repositories.ibexadesignintegration '{"type": "path", "url": "../", "options": {"symlink": true}}' --json
composer require erdnaxelaweb/ibexadesignintegration:*
yarn install --cwd ../
cp ../doc/example/* ./ -R
License
This bundle is released under the MIT License.
erdnaxelaweb/ibexadesignintegration 适用场景与选型建议
erdnaxelaweb/ibexadesignintegration 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19.11k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 09 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「templating」 「symfony」 「twig」 「integration」 「ibexa」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 erdnaxelaweb/ibexadesignintegration 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 erdnaxelaweb/ibexadesignintegration 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 erdnaxelaweb/ibexadesignintegration 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Shoot aims to make providing data to your templates more manageable
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
A Twig extension to insert css as inline styles with a tag
Caching and compression for Twig assets (JavaScript and CSS).
The bundle for easy using json-rpc api on your project
Twig extensions for Tracy Debugger
统计信息
- 总下载量: 19.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-09-28