it-swarm.com.de

Wie erstelle ich benutzerdefinierte Regionen in einem Thema?

Ich möchte einen neuen Bereich hinzufügen, der standortweit sein wird. Beschreiben Sie den Vorgang, bei dem diese neue Region in mein Thema aufgenommen wird, und verallgemeinern Sie sie nach Möglichkeit, um eine neue benutzerdefinierte Region hinzuzufügen.

58
palbakulich

Sie definieren Regionen in Ihrer .info-Themendatei. Siehe: Struktur der .info-Datei

Anschließend müssen Sie die entsprechenden Vorlagen-Tags in Ihre Datei page.tpl.php einfügen.

Wenn Sie beispielsweise die Region sidebar in Ihrer .info-Datei für Themen definiert haben, fügen Sie an der entsprechenden Stelle in Ihrer page.tpl.php Folgendes hinzu: <?php print render($page['sidebar']); ?>.

68
Camsoft

Ein weiterer Punkt: Verpassen Sie nicht die gewünschten Regionen!

regions[content] = Content
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom

Mehr dazu finden Sie unter http://drupal.org/update/themes/6/7#closure .

Um diesen Punkt zu verdeutlichen: Wenn Sie Ihre eigenen Regionen definieren, müssen Sie alles definieren, was Sie verwenden, einschließlich der erforderlichen. Mit anderen Worten, Sie können nicht einfach zusätzliche Regionen definieren: Wenn Sie eine definieren, müssen Sie alle definieren.

20
laura

Das Erstellen einer Region für ein Drupal 7-Thema unterscheidet sich nicht vom Erstellen einer Region für eine Drupal 6-Region. Die Unterschiede zwischen Drupal 7 und den vorherigen Versionen sind im Wesentlichen:

  • Die Regionen werden nicht wie in Drupal 5 mit einer mytheme_regions() -Funktion definiert, sondern in mytheme.info mit regions[] - Direktiven auch mit Drupal 6 Themen.
  • Die Regionen werden mit der Funktion Drupal render() gerendert, anstatt den Inhalt einer Variablen zu drucken.

Die Standardregionen Drupal 7 sind die folgenden:

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

Zu den Kernthemen von Drupal 7 gehört jetzt eine Region mit dem Namen "hervorgehoben", die dieselbe Anzeige wie der Leitbildbereich in Drupal 6 verwendet. Sie enthalten auch eine Region mit dem Namen 'help', die standardmäßig denselben Inhalt der von Drupal 6 verwendeten Variablen $help enthält.

9
kiamlaluno

Die Themenbereiche werden in Ihrer Info-Info-Datei definiert - siehe docs . Fügen Sie einfach eine Zeile mit regions[corner] = Corner Hinzu, um eine Eckregion zu erhalten.

Dann müssen Sie die Datei page.tpl.php bearbeiten und <php print render($corner); ?> hinzufügen, wo die Region angezeigt werden soll. Wenn Ihr Thema keine page.tpl.php hat, kopieren Sie es aus dem Basisthema oder aus dem Systemmodul.

Häufige Fehler:

  • Wenn für die Datei theme.info keine Regionen deklariert wurden, wurde Drupal Standardregionen) verwendet. Wenn Sie hinzufügen möchten, müssen Sie die Standardregionen erneut deklarieren. Sie können natürlich Entfernen Sie alle Regionen, aber unterstützen Sie die erforderlichen Regionen. Siehe docs erneut.

  • Änderungen an der .info-Datei oder das Hinzufügen neuer Dateien zum Thema (wie page.tpl.php) werden erst bemerkt, nachdem Sie die Caches geleert haben.

  • Omega, ein sehr beliebtes Basisthema, muss in page.tpl.php nicht geändert werden, sondern nur in der .info-Datei. Sie müssen jedoch die Themeneinstellungen in der Benutzeroberfläche aufrufen und Ihre Region einer Zone zuweisen.

4
Capi Etheriel

Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Region in Ihrem Thema zu erstellen:

  1. Gehen Sie zu Ihrer Datei theme.info und fügen Sie diese Zeile hinzu.

    regions[machine_name_of_your_region] = Name of your region
    
  2. Obwohl Sie auch Regionsblöcke in der Knotenvorlage aufrufen können, fügen Sie die Region im Allgemeinen der Seitenvorlage des Themas hinzu. Dies ist normalerweise page.tpl.php. Wenn Sie benutzerdefinierte Vorlagendateien für verschiedene Seiten haben, bearbeiten Sie auch diese. Die neue Region wird nur auf den Seiten angezeigt, die um die Vorlage erstellt wurden, zu der Sie die neue Region hinzufügen. Fügen Sie es ein, wo immer Ihre neue Region angezeigt werden soll.

    <?php if ($page['machine_name_of_your_region']): ?>
      <div id="sidebar-first" class="column sidebar"><div class="section">
      <?php print render($page['machine_name_of_your_region']); ?>
      </div></div> <!-- /.section, /#sidebar-first -->
     <?php endif; ?>
    
  3. Konfiguration - Leistung - Löschen Sie alle Caches

2
Astha chauhan

Erstellen Sie eine neue Region im Thema

Sie müssen es nur in zwei Dateien definieren.

  • Theme.info
  • Page.tpl.php

Theme.info

;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;

regions[navigation]      = 'Navigation'
regions[header]          = 'Top Bar'
regions[highlighted]     = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region

Page.tpl.php

Rendern Sie nun diese Region

  <?php if ($page['new_region']): ?>
      <div class="new_region_class">
        <?php print render($page['new_region']); ?>
     </div>
  <?php endif; ?>

Löschen Sie jetzt den gesamten Cache. Jetzt haben Sie eine neue Region in Ihrem Thema. Sie können es auf Ihrer Blockkonfigurationsseite sehen.

Weitere Informationen finden Sie unter http://drupal.org/node/171205

0
gsjha