jhodges / kuma-bundle
为 Kunstmaan Bundles CMS 添加了各种实用的功能:更改节点(页面)的父节点、ContentPage 列表模板、NavigationPagePart、TemplateHelper、GalleryPagePart、HTML/iFrame 管理仪表盘
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-28 17:07:01 UTC
README
仅适用于 Kunstmaan Bundles CMS 2.x,2.x 以上版本未测试,添加了各种实用的功能到 Kunstmaan Bundles CMS
使用 composer 安装,并将包添加到 AppKernel.php
new JHodges\KumaBundle\JHodgesKumaBundle(),
以下功能提供
更改节点(页面)的父节点
不幸的是,在管理区域中无法更改节点的父节点,有时这使得内容的重新排序变得不可能。
以下是一个更改节点父节点的控制台命令,您需要知道父节点和子节点 ID。
app/console jhodges:kuma:change-parent child_id parent_id
ContentPage
为内容页面提供各种模板,以便轻松切换布局
- 1 列
- 2 列,左侧或右侧侧边栏
- 3 列,侧边栏或等宽
所有模板都包含页眉和页脚。
NavigationPagePart
显示节点子节点或兄弟节点的(侧边栏)导航
- 开始
- 0:顶级是节点子节点
- -1:顶级是节点兄弟节点
- 深度:递归深度
要启用,请将以下内容添加到您希望允许添加画廊的配置区域 types 部分。
types: - { name: Navigation, class: JHodges\KumaBundle\Entity\PageParts\NavigationPagePart }
TemplateHelper
返回 nodemenu、页面和其他变量,这些变量对于 Kunstmaan 风格的模板和导航与标准 Symfony 控制器和路由一起使用是必需的。
要使用,创建一个新的内容页面,并根据您的需要设置其标题、别名、名称、导航位置等。设置别名以使 URI 与您自定义路由相匹配是有意义的。确保在 Kunstmaan 别名路由之前加载您的路由,然后当您点击导航中的页面时,您实际上将被带到您的自定义路由,但是(假设您的模板扩展了您的 Kunstmaan 主模板)页面将以正确的导航项选中,并显示来自管理员的首选项和 SEO 详细信息。
$this->get('jhodges.kuma.template')->getVars($slug,$locale,$vars=array())
- 指定 $slug 和 $locale 以在导航中突出显示指定的页面并使用其标题等。
- 可选地,还可以提供 $vars 数组,该数组将与 kuma 变量合并。
public function helloAction($name){ return $this->get('jhodges.kuma.template')->getVars('','en',array( 'name'=>$name )); }
GalleryPagePart
允许向画廊添加图片,当前以默认幻灯片形式显示,将很快添加一个轻量级弹出式画廊模板。
要启用,请将以下内容添加到您希望允许添加画廊的配置区域 types 部分。
types: - { name: Gallery, class: JHodges\KumaBundle\Entity\PageParts\GalleryPagePart }
HTML/iFrame 管理仪表盘
默认 Google Analytics 仪表盘的替代品。对于使用 Piwik 或其他分析包的我们来说很有用。只需添加路由、更改仪表盘路由配置变量并在配置中添加另一个参数,即可使用您要在仪表板上使用的 HTML 或 iFrame 代码
routing.yml
j_hodges_kuma: resource: "@JHodgesKumaBundle/Resources/config/routing.yml" prefix: /
config.yml
kunstmaan_admin: dashboard_route: 'jhodges_dashboard' parameters: jhodges.dashboard.html: '<iframe src="http://piwik.domain.co.uk/index.php?module=Widgetize&action=iframe" width="100%" height="2000px"></iframe>'