Exportar configuraciones de bloque en una característica (Drupal 7)

13

Estoy tratando de aprender a crear un flujo de trabajo razonable entre un sitio de desarrollo y un sitio de producción y he decidido usar el módulo Características para ayudar a realizar esta tarea.

En mi página principal tengo un par de bloques que muestran contenido recién agregado y mejor calificado. He usado características para exportar estas vistas, pero no veo de todos modos dentro del módulo Características para exportar la configuración de mi bloque. Configuré los nuevos proyectos y los bloques mejor calificados para que aparezcan en la sección de contenido de una página. Lo filtro para que solo aparezca en la primera página dentro de la vista.

¿Cómo exportar estas configuraciones de bloque dentro de mi función para que no necesite volver a configurarlas en cada sitio?

Mike2012
fuente

Respuestas:

13

Puede exportar mucho más usando Feature junto con Strongarm y Features extra .

Strongarm ofrece a los creadores de sitios una forma de anular los valores de las variables predeterminadas que se envían con el núcleo de Drupal y los módulos contribuidos. No es una herramienta para el usuario final, sino una herramienta para desarrolladores y creadores de sitios que proporciona una API y una IU limitada.

Cuenta con soportes adicionales : vocabularios; colas de nodo (definiciones); configuración de bloque; Bloques personalizados (cajas).

Además, la integración de características de UUID proporciona un mecanismo para exportar contenido (nodos, taxonomía, campos) a un módulo de características.

Refineo
fuente
1
También recomendaría usar drush y git para manejar el flujo de trabajo.
Refineo
1
Impresionante, eso es exactamente lo que necesitaba. Estaba planeando poner en marcha git una vez que descubrí cómo usar las funciones un poco mejor.
Mike2012
Fantastico! Como Mike, ¡eso es simplemente increíble!
Jean-Rémy Revy
4

Puede usar el módulo Cajas según Exportar bloques para características .

Si prefiere no instalar módulos adicionales, y está lidiando con un bloque de Vistas (donde simplemente necesita la configuración de configuración del bloque), otra opción es hacerlo a nivel de código con una implementación hook_update_N () en un módulo personalizado Instalar archivo. Vea a continuación un ejemplo.

/**
 * Configure block settings.
 */
function my_module_update_7101() {

  // Enable blocks
  db_update('block')
    ->fields(array(
      'status'     => 1,
      'region'     => 'content',
      'visibility' => 1,
      'pages'      => 'node/999',
      'title'      => 'My Block Title',
      'css'        => '',
      'js'         => '',
    ))
    ->condition('delta', 'BLOCK_ID')
    ->execute();
}
colan
fuente
0

Una alternativa es usar mini paneles en lugar de bloques personalizados como se sugirió aquí . Funcionan de la misma manera, y los paneles parecen estar mejor soportados por las características. Si ya planea usar paneles, esto también ahorra algunos módulos adicionales.

Pomin Wu
fuente