定制 stgbundle/theme-bundle 二次开发

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

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

stgbundle/theme-bundle

Composer 安装命令:

composer require stgbundle/theme-bundle

包简介

Bundle de Symfony creado por la Secretaría de Tecnologías para la Gestión del Ministerio de Gobierno y Reforma del Estado de la Provincia de Santa Fe

README 文档

README

Esta nueva rama propone 2 temas customizados utilizando lo siguiente:

Tema basado en materializecss (http://materializecss.com) para dar soporte completo a proyectos que requieran el diseño materialize definido por google.

Tema basado en Bootstrap 4: para dar soporte completo a proyectos que requieran el diseño del framework bootstrap.

Bundle para Symfony (2.8 a 3.4) para utilizar las plantillas de diseño propuestas por la Secretaría de Tecnologías para la Gestión del Gobierno de Santa Fe.

Para su instalación desde packagist.org: https://packagist.org/packages/stgbundle/theme-bundle

Luego de instalada la dependencia van a poder utilizar el código gestionado via composer e incluido en el autoloader en su aplicación.

  • Luego instalar los assets
php app/console assets:install   (o bin/console para >= symfony 3.4)
  • Agregar a app/AppKernel.php dentro del array de bundles:
$bundles = array(

new STG\ThemeBundle\STGThemeBundle(),
)
  • Para ver una vista demo del tema customizado importar las rutas por default (app/config/routing.yml):
stg_theme:
    resource: '@STGThemeBundle/Controller/DefaultController.php'
    type:     annotation
    prefix:   /stgtheme
  • config.yml de tu aplicación, agregar los siguientes parametros:
stg_theme:
    configuration:
        offline:  #true o false (Indica si lee los recursos de la intranet de gobierno o de servidores cdn externos).
        materialize: #true o false (Indica si la vista demo del bundle renderiza la basada en materializecss o en bootstrap, son las vistas de ejemplo de maquetación)

Funcionalidad:

  • Para visualizar un demo de la plantilla base del tema, ejecutar la siguiente url:
/web/app_dev.php/stgtheme/
  • Extender en su plantilla twig según el tema a utilizar:

Para utilizar el tema de materializecss:

{% extends 'STGThemeBundle:Default:baseMaterializecss.html.twig' %}

en Symfony >= 3.4

{% extends '@STGTheme/Default/baseMaterializecss.html.twig' %}

Bloques para utilizar o redefinir con el tema de materializecss:

{% block css %}
    {# contiene los assets de estilos de la plantilla #}
{% endblock %}

{% block nav %}

     {% block navItemsDropdown %}
     {% endblock %}
     
     {% block navBar %}
        {% block navBarItems %}
        {% endblock%}
     {% endblock %}

    {% block sideNav %}
        {% block sideItems %}
        {% endblock %}        
    {% endblock %}
     
{% endblock %}

{% block main %}
    
         {% block cover %}
         
            {# con la variable de template "datos_encabezado_imagen" se puede setear una imagen personalizada en este bloque #}
         
         {% endblock %}
    
         {% block breadcrumbItems %}                                 
         {% endblock %}
         
         {% block content %}        
         
            {# cotenido principal #}
         
         {% endblock %}
         
         {% block backTop %}         
         {% endblock %}
    
{% endblock %}

{% block footer %}

{% endblock %}

{% block javascript %}

    {# libreras de javascript #}

{% endblock %}

Para utilizar el tema de bootstrap:

{% extends 'STGThemeBundle:Default:base.html.twig' %}

en Symfony >= 3.4

<<<<<<< HEAD

=======
```twig
>>>>>>> 2.x
{% extends '@STGTheme/Default/base.html.twig' %}

Bloques para utilizar o redefinir con el tema de bootstrap:

{% block css %}
    {# contiene los assets de estilos de la plantilla #}
{% endblock %}

{% block nav %}
     {% block navItems %}
     {% endblock %}
     
     {% block searchTop %}     
     {% endblock%}
{% endblock %}

{% block main %}
    
         {% block cover %}
         
            {# con la variable de template "datos_encabezado_imagen" se puede setear una imagen personalizada en este bloque #}
         
         {% endblock %}
    
         {% block breadcrumbItems %}                                 
         {% endblock %}
         
         {% block content %}        
         
            {# cotenido principal #}
         
         {% endblock %}
         
         {% block backTop %}         
         {% endblock %}
    
{% endblock %}

{% block footer %}

{% endblock %}

{% block javascript %}

    {# libreras de javascript #}

{% endblock %}

Variables twig (para reutilizar):

<title>{{ datos_encabezado_title | default('Titulo de la aplicación') }}</title>

background-image: url('{{ datos_encabezado_imagen |  default(asset('bundles/stgtheme/img/bootstrap-top.jpg')) }}');

<h1>{{ datos_encabezado_title | default('Titulo de la aplicación') }}</h1>

<p>{{ datos_encabezado_entity | default('Organismo o dependencia') }}</p>

Dependencias:

stgbundle/theme-bundle 适用场景与选型建议

stgbundle/theme-bundle 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 3.18k 次下载、GitHub Stars 达 5, 最近一次更新时间为 2018 年 01 月 31 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「symfony」 「php」 「theme」 「bundle」 「materializecss」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 stgbundle/theme-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 stgbundle/theme-bundle 我们能提供哪些服务?
定制开发 / 二次开发

基于 stgbundle/theme-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3.18k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 30
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 4
  • Forks: 1
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-01-31