Přeskočit přímo na text


Jak vytvořit vlastní layout pro modul Panels

Modul Panels patří mezi rodinné stříbro Drupalu a umožňuje využití různých efektivních rozvržení textů, obrázků a dalších prvků jak pro stránky s výpisy typu frontpage, tak i osobitější práci s výpisy jednotlivých nodů. Už základní modul obsahuje velké množství layoutů, které jde navíc ještě obměnit tak, že některý z podregionů necháte prázdný. Nicméně dostanete od grafika návrh designu, na který žádný ze stávajících nenapasujete a tak nastane potřeba vytvořit si layout vlastní. Jak na to?

Modul Panels (verzi 6.3) nainstalujte. Navštivte pak samotnou složku modulu a v adresáři Plugins → Layouts si vyberte jeden z layoutů a překopírujte kompletně do složky „layouts“, kterou si vytvoříte v hlavním adresáři vašeho tématu. Složku se soubory layoutu pak jednoznačně pojmenujte (pochopitelně strojově, např. fourcol), stejný název pak ponesou i jednotlivé soubory uvnitř, zajištující funkčnost layoutu v panelech.

Základními čtyřmi soubory layoutu jsou šablona (.tpl.php), konfigurační nastavení (.inc), kaskádové styly (.css) a schematický náhled rozmístění sloupců layoutu (.png), který pomůže ke snadnější orientaci v administraci panelů.

Prvním krokem je vytvoření konfiguračního souboru .inc. Jeho konfigurace je snadno odvoditelná selským rozumem z jiného/jiných layoutu/ů, nicméně podrobněji si ho tu rozpitváme. Začíná značkou &lt?php a pokračuje nepovinným souborovým infem, páteří mu pak je pole proměnné $plugin.

<?php
// $Id: fourcol.inc,v 1.1.0 2011/04/03 15:00:00 teenageriot Exp $

$plugin = array(
  'title' => t('Four Column'),
  'category' => t('Columns: 4'),
  'icon' => 'fourcol.png',
  'theme' => 'fourcol',
  'css' => 'fourcol.css',
  'panels' => array(
    'top' => t('Top'),
    'firstcol' => t('First column'),
    'secondcol' => t('Second column'),
    'thirdcol' => t('Third column'),
    'fourthcol' => t('Fourth column')
   ),
);

jednotlivé řádky podrobněji:

  • title – logicky slouží pro pojmenování vašeho layoutu
  • category – layouty jsou seřazeny podle počtu sloupců, zadejte ve tvaru „Columns: číselný počet sloupců“
  • icon – jméno náhled rozmístění sloupců layoutu (jmenolayoutu.png)
  • theme – strojový název layoutu (shoduje se s názvem složky, ve které je umístěn)
  • css – jméno souboru s kaskádovými styly, opět ve tvaru strojový název layoutu s příponou css
  • panels – klíčový soubor, ve kterém definujete jednotlivé regiony layoutu, ve tvaru ‚strojovy_nazev‘ ⇒ t(‚Název určený uživatelům‘)

Celý layout panelu se zobrazí v šablonách page.tpl.php, node.tpl.php a dalších při vypsání klasické proměnné pro obsah $content. Do nejvyššího, obalovacího divu přidejte podmínku &ltphp if (!empty($css_id)) { print „id=\“$css_id\""; } ?&gt, která umožní vypsat na dané stránce jednoznačné id, které je možné zadat v administraci panelů. To ulehčí následné stylování jedné, či skupiny stránek používajících daný panel. Jednotlivé regiony se pak v příslušném místě html kostry vypisují takto: &gt?php print $content[‚stro­jove_jmeno_re­gionu‘]; ?&gt. Definice vlastností (rozměry, pozicování a podobně) pak logicky patří do souboru s kaskádovými sty­ly.

Po vyčištění cache by se měl nový layout zobrazit v administraci Panels. Stačí jej pro některou stránku vybrat a naplnit jeho jednotlivé součásti požadovaným obsahem.

PS: návod je pro Drupal 6.x

PřílohaVelikost
panels_layout.jpg67.96 KB
 

Poslat nový komentář

  • You can use Texy! to format and alter entered content.
  • Povolené HTML značky: <em> <strong> <b> <i> <br> <code> <ul> <ol> <li> <pre> <pre class="php">
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Více informací o možnostech formátování

Hledat

Přihlášení

Bezpečnost Drupalu

Z hlediska bezpečnosti je Drupal na velmi vysoké úrovni, díky propracovanému systému hlášení, prověřování a řešení možných problémů.

Čtěte více a odebírejte bezpečnostní aktuality

Poslední komentáře

Kdo je online

Momentálně je online 1 uživatel a 0 hostů.

Online uživatelé

Support

Psychologie - poradenství