Blockeinstellungen in ein Feature exportieren (Drupal 7)

13

Ich versuche, einen vernünftigen Workflow zwischen einer Entwicklungssite und einer Produktionssite zu erstellen, und ich habe mich entschlossen, das Feature-Modul zu verwenden, um diese Aufgabe zu lösen.

Auf meiner Startseite befinden sich einige Blöcke, in denen neu hinzugefügte und am besten bewertete Inhalte angezeigt werden. Ich habe Features zum Exportieren dieser Ansichten verwendet, sehe aber im Modul Features sowieso nichts, um meine Blockeinstellungen zu exportieren. Ich habe die neuen Projekte und Blöcke mit der höchsten Bewertung so festgelegt, dass sie im Inhaltsbereich einer Seite angezeigt werden. Ich filtere es so, dass es nur auf der Titelseite in der Ansicht angezeigt wird.

Wie exportiere ich diese Blockeinstellungen in mein Feature, damit ich sie nicht auf jeder Site neu konfigurieren muss?

Mike2012
quelle

Antworten:

13

Sie können mit Feature zusammen mit Strongarm und Features extra viel mehr exportieren .

Mit Strongarm können Site-Builder die Standardvariablenwerte überschreiben, mit denen Drupal-Core- und Contributed-Module geliefert werden . Es ist kein Endbenutzer-Tool, sondern ein Entwickler- und Site-Builder-Tool, das eine API und eine eingeschränkte Benutzeroberfläche bietet.

Bietet zusätzliche Unterstützung: Vokabeln; Knotenwarteschlangen (Definitionen); Blockeinstellungen; benutzerdefinierte Blöcke (Boxen).

Zusätzlich bietet UUID Features Integration einen Mechanismus zum Exportieren von Inhalten (Knoten, Taxonomie, Felder) in ein Feature-Modul.

Refineo
quelle
1
Ich würde auch empfehlen, drush und git zu verwenden, um den Workflow zu handhaben.
Refineo
1
Genial, genau das habe ich gebraucht. Ich hatte vor, den Schwachsinn in Gang zu bringen, sobald ich herausgefunden hatte, wie ich die Funktionen etwas besser nutzen kann.
Mike2012
Fantastisch ! Als Mike ist das einfach unglaublich!
Jean-Rémy Revy
4

Sie können das Modul Boxen gemäß Exportieren von Blöcken für Features verwenden .

Wenn Sie keine zusätzlichen Module installieren möchten und es sich um einen Views-Block handelt (für den Sie lediglich die Blockkonfigurationseinstellungen benötigen), können Sie dies auf Codeebene mit einer Implementierung von hook_update_N () in einem benutzerdefinierten Modul tun Datei installieren. Unten finden Sie ein Beispiel.

/**
 * 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
quelle
0

Eine Alternative ist die Verwendung Mini-Platten anstelle von benutzerdefinierten Blöcken wie vorgeschlagen hier . Sie funktionieren ähnlich und die Bedienfelder werden anscheinend besser von den Funktionen unterstützt. Wenn Sie bereits Panels verwenden möchten, werden dadurch auch einige zusätzliche Module eingespart.

Pomin Wu
quelle