定制 smic/dynamic-routing-pages 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

smic/dynamic-routing-pages

最新稳定版本:2.0.0

Composer 安装命令:

composer require smic/dynamic-routing-pages

包简介

Generates "limitToPages" configuration for your enhancers on the fly so you don't need to hardcode it.

README 文档

README

Instead of hardcoding the limitToPages configuration for your route enhancers this package can automatically detect the necessary pages for you and generate the configuration on the fly.

Problem

Imagine the following typical routing configuration for the news plugin.

routeEnhancers: NewsPages: type: Extbase # add every page-ID that contains a News Plugin limitToPages: - 23 - 42 - 123 - 242 extension: News plugin: Pi1 routes: - { routePath: '/{myNewsTitle}', _controller: 'News::detail', _arguments: {'myNewsTitle': 'news'} } - { routePath: '/{myPagination}', _controller: 'News::list', _arguments: {'myPagination': '@widget_0/currentPage'} } - { routePath: '/{year}/{month}', _controller: 'News::list', _arguments: {'year' : 'overwriteDemand/year', 'month' : 'overwriteDemand/month'} } defaultController: 'News::list' # ... 

Hardcoding the page ids for your plugin routes has the major drawback that you have to adapt the configuration as soon as someone creates a new page with a plugin (which might happen in a CMS). With the route enhancers configuration not available in the Site module this means you have to ship an updated configuration file every time an editor creates a plugin page.

Solution

routeEnhancers: NewsPages: type: Extbase dynamicPages: withPlugin: news_pi1 extension: News plugin: Pi1 routes: - { routePath: '/{myNewsTitle}', _controller: 'News::detail', _arguments: {'myNewsTitle': 'news'} } - { routePath: '/{myPagination}', _controller: 'News::list', _arguments: {'myPagination': '@widget_0/currentPage'} } - { routePath: '/{year}/{month}', _controller: 'News::list', _arguments: {'year' : 'overwriteDemand/year', 'month' : 'overwriteDemand/month'} } defaultController: 'News::list' # ... 

Notice the dynamicPages configuration. This package will populate the limitToPages with matching pages.

Reference

dynamicPages has three possible properties.

withPlugin

Can be a string or an array of tt_content.list_type values. Will find all pages that contain at least one of the given plugins.

containsModule

Can be a string or an array of pages.module values. Will find all pages that have "Contains Plugin" set to one of the given values.

withSwitchableControllerAction

Can be a string or an array of switchableControllerActions values. Will find all pages that contain plugins with the given action configured.

withCType

Can be a string or an array of withCType values. Will find all pages that contain content element with given CType.

withDoktypes

Can be an integer or an array of withDoktypes values. Will find all pages with given doktype.

统计信息

  • 总下载量: 108.71k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 20
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 20
  • Watchers: 3
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固