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 <?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 <php if (!empty($css_id)) { print „id=\“$css_id\""; } ?>, 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: >?php print $content[‚strojove_jmeno_regionu‘]; ?>. Definice vlastností (rozměry, pozicování a podobně) pak logicky patří do souboru s kaskádovými styly.
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říloha | Velikost |
|---|---|
| panels_layout.jpg | 67.96 KB |
Poslat nový komentář