it-swarm-eu.dev

Jak vytvořím vlastní oblasti v motivu?

Chci přidat novou oblast, která bude na celém webu. Popište proces začlenění této nové oblasti do mého tématu, pokud je to možné, zobecněte ji pro přidání jakékoli nové, vlastní oblasti.

58
palbakulich

V souboru motivu .info definujete oblasti. Viz: Struktura souboru .info

Potom musíte do souboru page.tpl.php vložit příslušné značky šablon.

Pokud jste například v souboru motivů .info definovali oblast sidebar, přidali byste: <?php print render($page['sidebar']); ?> na příslušné místo v souboru page.tpl.php.

68
Camsoft

Ještě jeden bod: Nenechte si ujít požadované regiony!

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

Více informací naleznete na http://drupal.org/update/themes/6/7#closure .

K objasnění tohoto bodu: Pokud definujete své vlastní oblasti, musíte definovat vše, co používáte, včetně těch, které jsou vyžadovány. Jinými slovy, nemůžete definovat pouze další oblasti: Pokud definujete nějaké, musíte je definovat všechny.

20
laura

Vytváření oblasti pro téma Drupal 7 se neliší od vytváření oblasti pro oblast Drupal6; rozdíly mezi Drupal 7 a předchozími verzemi jsou v podstatě:

  • Regiony nejsou definovány pomocí funkce mytheme_regions(), jako tomu bylo v Drupal 5, ale jsou definovány v mytheme.info pomocí směrnic regions[], Což se děje také s tématy Drupal 6.
  • Oblasti jsou vykresleny pomocí funkce Drupal render(), místo tisku obsahu proměnné.

Výchozí oblasti Drupal 7 jsou následující:

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

Hlavní témata Drupalu 7 nyní zahrnují region nazvaný „zvýrazněný“, který používá stejné zobrazení jako oblast příkazu mise v Drupal 6; zahrnují také oblast nazvanou 'help', která ve výchozím nastavení obsahuje stejný obsah proměnné $help, kterou používá Drupal 6.

9
kiamlaluno

Oblasti motivů jsou definovány v souboru .info tématu - viz docs . Stačí přidat řádek s regions[corner] = Corner A získáte rohovou oblast.

Pak musíte upravit soubor page.tpl.php a přidat <php print render($corner); ?>, kde chcete, aby se region zobrazil. Pokud vaše téma nemá page.tpl.php, zkopírujte ze základního motivu nebo ze systémového modulu.

Běžné úskalí:

  • Pokud soubor theme.info neměl deklarované žádné regiony, používal Drupal výchozí regiony. Pokud chcete přidat, budete muset znovu deklarovat výchozí regiony. Samozřejmě můžete odeberte jakoukoli oblast, ale prosím podporujte požadované oblasti. Viz znovu docs .

  • Změny v souboru .info nebo přidávání nových souborů do motivu (například page.tpl.php) budou zaznamenány až po vymazání mezipaměti.

  • Omega, velmi populární základní téma, nebude vyžadovat žádnou změnu v souboru page.tpl.php, pouze v souboru .info. Musíte však navštívit nastavení motivu v uživatelském rozhraní a přiřadit svůj region k zóně.

4
Capi Etheriel

Podle níže uvedených kroků vytvořte ve svém motivu vlastní oblast:

  1. Přejděte do souboru theme.info a přidejte tento řádek.

    regions[machine_name_of_your_region] = Name of your region
    
  2. Ačkoli můžete také zavolat bloky regionů v šabloně uzlů, obvykle přidáte oblast do šablony stránky motivu. Toto je obvykle page.tpl.php, nebo pokud máte vlastní soubory šablon pro různé stránky, upravte je také. Nová oblast se zobrazí pouze na stránkách vytvořených kolem šablony, do které přidáte novou oblast. Vložte ji kamkoli chcete, aby se váš nový region objevil.

    <?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. Konfigurace - Výkon - Vymazat všechny mezipaměti

2
Astha chauhan

Vytvoření nového regionu v motivu

Stačí ji definovat ve dvou souborech.

  • 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

Nyní vykreslete tuto oblast

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

Vymazat všechny mezipaměti. Tady máte novou oblast v motivu. Můžete to vidět na stránce konfigurace bloku.

Pro více navštivte http://drupal.org/node/171205

0
gsjha