Nastavení

Drupal 8

Nastavení:

Drupal 7

  1. V admin/config/system/site-information (Konfigurace, Informace o webu) zadejte základní údaje:
    • Site Details
      • Název
      • Slogan
      • E-mailová adresa
    • Titulní stránka
    • Error Pages
  2. Pro změnu výchozí úvodní stránky webu je nutné Přidat obsah např. Článek (obsah informativního charakteru jako je např. novinka nebo aktualita) nebo Stránku (statická stránka obsahující základní informace) a zobrazit ji na úvodní stránce.
  3. Dokud není web alespoň částečně naplněn je vhodné v admin/config/development/maintenance (Nastavení, Vývoj, Režim údržby) zaškrtnout volbu Přepnout web do režimu údržby (offline).

Systém souborů

Metoda stahování

Veřejně (veřejný přístup)

Adresa odkazu u souborů ukazuje přímo na místo, kde jsou soubory na serveru umístěny.

Neveřejně (neveřejný přístup)

Umístění souborů na serveru není možné zjistit přímo z adresy odkazu, protože do adres odkazů na soubor vkládá Drupal automaticky proměnnou system.

Výhody:

  • umožňuje kontrolovat přístup ke stahovaným souborům (např. je možné zjišťovat počet stažení příloh)

Při umístění souborů mimo veřejný prostor webu je většinou nutné požádat poskytovatele webhostingu o posunutí Open_basedir restrikce.

Nastavení

  1. Přejděte do admin/config/media/file-system (Konfigurace, Systém souborů) a zvolte výchozí způsob stahování.
  2. Nastavte cestu k souborovému systému a dočasnému adresáři:
    1. Veřejná metoda stahování (veřejný přístup)
      1. Jednoduchý web (výchozí nastavení):
        • Cesta k veřejnému souborovému systému: sites/default/files
        • Cesta k neveřejnému souborovému systému: sites/default/files/private
        • Dočasný adresář: /tmp nebo sites/default/files/private/tmp
      2. Multisite web:
        • Cesta k veřejnému souborovému systému: sites/adresa.webu/files
        • Cesta k neveřejnému souborovému systému: sites/adresa.webu/files/private
        • Dočasný adresář: /tmp nebo sites/adresa.webu/files/private/tmp
    2. Neveřejná metoda stahování (neveřejný přístup):
      1. Jednoduchý web:
        1. Adresáře files/privatea /tmp jsou umístěny na veřejném místě webhostingu, ale znepřístupněny nastavení souboru .htaccess
          • Cesta k neveřejnému souborovému systému: sites/default/files/private
            • do souboru files/private/.htaccess doplňte
              Deny from all

              dle nastavení serveru je někdy nutné zakomentovat

              #Options None
              #Options +FollowSymLinks
              
            • pokud v neveřejném systému souborů chcete povolit přístup do nějakého adresáře např. files/private/files/languages/, vložte do něj soubor .htaccess obsahující
              Order Deny,Allow
          • Dočasný adresář: /tmp nebo sites/default/files/private/tmp
        2. Adresáře private/filestmp jsou umístěny na neveřejném místě webhostingu
          • Cesta k neveřejnému souborovému systému: dle umístění na serveru
          • Dočasný adresář: dle umístění na serveru
      2. Multisite web:
        1. Adresáře files/private a tmp jsou umístěny na veřejném místě webhostingu, ale znepřístupněny nastavení souboru .htaccess
          • Cesta k neveřejnému souborovému systému: sites/adrese.webu/files/private/
            • do souboru files/private/.htaccess doplňte
              Deny from all
            • pokud v neveřejném systému souborů chcete povolit přístup do nějakého adresáře např. files/private/languages/, vložte do něj soubor .htaccess obsahující
              Order Deny,Allow
          • Dočasný adresář: /tmp nebo sites/adresa.webu/private/tmp
        2. Adresáře files/private a tmp jsou umístěny na neveřejném místě webhostingu
          • Cesta k souborovému systému: dle umístění na serveru
          • Dočasný adresář: dle umístění na serveru

Úpravy 

Pokdu jste již na web vložili nějaké soubory (přílohy, obrázky atd.), metodu stahování již neměňte!

Veřejně (veřejný přístup)

Pokud potřebujete změnit umístění adresáře files je třeba upravit i cesty v databázových tabulkách files, node_revisions, usersvariable případně využijte modul Site Directory Migrate.

 

Datum a čas

  1. V admin/config/regional/date-time/locale/cs/edit (Konfigurace, Datum a čas, Lokalizovat, Čeština) zvolte formáty "s tečkou" za dnem nebo nastavte vlastní formáty např.:
    • Dlouhý: Úterý, 15. Únor 2011 – 23:43
      • l, d. F Y – H:i (vlastní formát)
    • Střední: 15. Únor 2011 – 23:43
      • d. F Y – H:i (vlastní formát)
    • Krátký: 15. 02. 2011 – 23:43
      • d. m. Y – H:i (vlastní formát)

Pozor!

  • Rozdělovník "–" (dlouhá pomlčka) není vhodná, protože v některých případech "dělá problémy".
  • Není možné používat pevnou mezeru :(

Lokalizace

  1. V admin/modules (Moduly) povolte modul Locale.
  2. V admin/config/regional/language (Konfigurace, Jazyky) zvolte výchozí jazyk.
    • u výchozího jazyka je vhodné "Kód jazyka v prefixu cesty" vynechat enlightened
  3. admin/config/regional/language/configure (Nastavení, Regionální a jazyková nastavení, Jazyky, Detekce a výběr) je vhodné zapnout URL detekci.
  4. V admin/config/regional/translate/import (Konfigurace, Překlad rozhraní, Import) je možné importovat .po soubory překladů.
  5. V admin/config/regional/translate/translate (Konfigurace, Překlad rozhraní, Přeložit) je možné nepřeložené výrazy vyhledat a přeložit.

Automatickou kontrolu a import překladů usnadňuje modul Localization updateenlightened

Nabízí se dva různé způsoby překladu vícejazyčného obsahu:

  1. Původní způsob po celých uzlech viz modul Content translation.
  2. Nový způsob po samostatnch entitách viz modul Entity translationyes

Odkazy

Poznámka:
Příloha 6.x obsahuje oficiální překlady jádra sloučené do jediného souboru.
Příloha 7.x obsahuje neoficiální překlady.

PřílohaVelikost
cs-6.x-1.8-2008-Apr-27.zip195.78 KB
cs-drupal-7.x-2014.po_.zip436.8 KB

Vícejazyčný web

Drupal 8
  • ostraining.com/blog/drupal/d8-multi-lingual
  • drupal.org/project/multilingual_demo
    • drupal8multilingual.org/workshop
  • PHP 5.4.5+
    • např. .htaccess
      • AddHandler application/x-httpd-php54 .php
  • povolit moduly
    • Content Translation
  • přidat požadované jazyky
  • v admin/config/regional/content-language u požadovaných typů obsahu
    • v sekci Custom language settings povolte
      • Custom menu link
      • Custom block
      • Obsah
      • Termín taxonomie
      • (Comment)
      • (Shorcut link)
      • (User)
    • u požadovaných položek
      • povolte možnost překladu (Translatable)
      • volitelně povolte Show language selector on create and edit pages
  • obsah bloků není možné ve verzi Drupal 8.0.2 překládat => vytvořit pro každý jazyk samostatný blok
  • Views je možné překládat v Nastavení -> Configuration translation -> View
  • Drupal 8.0.0-beta6+134-dev doplnit o patch
    • drupal.org/node/2408439#comment-9566121 (podpora více jazyků)
    • drupal.org/node/2389735#comment-9465731 (podpora subtémat)
    • spustit update.php a vymazat cache

  • admin/config/regional/language/detection
    • URL
      • Path | Domain
  • admin/config/regional/language/edit/en
    • Enable interface translation to English – umožňuje změnit výchozí angličtinu (např. Log out na Sign out)
  • admin/structure/block
    • Language switcher
  • admin/config/regional/translate
    • Export | Import
  • admin/people/permissions

Cron

Některé moduly vyžadují službu cron. Zvolte si proto jednu z následujících možností:

Vestavěný Cron

Je spouštěn na základě návštěv uživatelů webu. V admin/config/system/cron (Konfigurace, Cron) je možné nastavit pravidelnost opakování.

Vestavěný cron je vhodné "vypnout" (zrychlí se tak první načtení stránky) a nastavit cron jiným způsobem (webhosting, server atd.). enlightened

Další rozšíření:

  • Ultimate Cron – umožňuje např. nastavit rozdílné časy kontroly aktualizace a odesílání newsletteru enlightened
  • Elysia Cron

Webhosting

Většina poskytovatelů nabízí zapnutí služby cron v administraci webhostingu. Po nastavení této služby vypněte spouštění vestavěného cronu v konfiguraci Drupalu.

Poormanscron

Použijte modul Drupalu s názvem Poormanscron.

WebCron

Zaregistrujte se na stránkách www.webcron.org a vytvořte si novou úlohu pro Váš web.

Server

Spouštění každých 30 minut

Do souboru /etc/crontab vložte (YOURKEY je možné zjistit v admin/reports/status (Logy, Hlášení stavu)

0,30 * * * * root /usr/bin/wget -O - -q http://example.com/cron.php?cron_key=YOURKEY

Spouštění každou hodinu

Do souboru /etc/crontab vložte

0 * * * * root /usr/bin/wget -O - -q http://example.com/cron.php?cron_key=YOURKEY

Jiný způsob:

  1. Pro spouštění skriptu cron.php jednou za hodinu vytvořte v /etc/cron.hourly soubor s názvem např. script a oprávněním:
    Oprávnění souboru script
      Čtení Zápis Spouštění
    Vlastník Ano Ano Ano
    Skupina Ano Ne Ano
    Ostatni Ano Ne Ano
  2. Do souboru vložte níže uvedené řádky a upravte adresu Vašeho webu:
    #!/bin/sh
    /usr/bin/wget -O - -q http://example.com/cron.php?cron_key=YOURKEY

    Pokud máte přístup k serveru omezen pouze na některé IP adresy, je vhodné příkazu wget nařídit použití lokálního rozhraní:

    #!/bin/sh
    /usr/bin/wget -O - -q --bind-address=127.0.0.1
     http://example.com/cron.php?cron_key=YOURKEY

PHP

Jednoduché řešení

  1. Pro spouštění cronu pomocí PHP vytvořte soubor např. cron_custom.php s oprávněním:
    Oprávnění souboru cron_custom.php
      Čtení Zápis Spouštění
    Vlastník Ano Ano Ano
    Skupina Ne Ne Ne
    Ostatni Ne Ne Ne
  2. Do souboru vložte níže uvedené řádky:
  3. <?php
      require('http://example.com/cron.php?cron_key=YOURKEY');
    ?>

    nebo (záleží na webhostingu)

    <?php
      file_get_contents('http://example.com/cron.php?cron_key=YOURKEY');
    ?>

Řešení bez omezení doby běhu skriptu (max_execution_time)

Bližší info viz Drupal 7: Running cron from the command line.

  1. V adresáři sites/ vytvořte dva soubory:
    • localcron.php
    • #!/usr/bin/env /usr/php53/bin/php
      <?php
      // Checks that the arguments are supplied, if not display help information.
      if (in_array($argv, array('--help')) || $argc != 5) {
      ?>
      
      <?php
      } else {
        // Loop through arguments and extract the cron key and drupal root path.
        for ($i = 1; $i < $argc; $i++) {
          switch ($argv[$i]) {
            case '--key':
              $i++;
              $key = $argv[$i];
              break;
            case '--root':
              $i++;
              $path = $argv[$i];
              break;
          }
        }
       
        chdir($path);
        // Sets script name
        $_SERVER['SCRIPT_NAME'] = $argv[0];
       
        // Values as copied from drupal.sh
        $_SERVER['HTTP_HOST'] = 'default';
        $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
        $_SERVER['SERVER_SOFTWARE'] = NULL;
        $_SERVER['REQUEST_METHOD'] = 'GET';
        $_SERVER['QUERY_STRING'] = '';
        $_SERVER['HTTP_USER_AGENT'] = 'console';
       
        // Set cron key get variable to use below code with as
        // little modification as possible.
        $_GET['cron_key'] = $key;
        define('DRUPAL_ROOT', $path);
       
        // Code below is almost verbatim from cron.php, just the messages for
        // watchdog have been changed to indicate that the problem originated from
        // this script.
        include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
        drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
       
        if (!isset($_GET['cron_key']) || variable_get('cron_key', 'drupal') != $_GET['cron_key']) {
          watchdog('cron', "Cron could not run via $argv[0] because an invalid key was used.", array(), WATCHDOG_NOTICE);
          drupal_access_denied();
        } elseif (variable_get('maintenance_mode', 0)) {
          watchdog('cron', "Cron could not run via $argv[0] because the site is in maintenance mode.", array(), WATCHDOG_NOTICE);
          drupal_access_denied();
        } else {
          drupal_cron_run();
        }
      }
      
    • localcrontab.php (upravte zvýrazněné části: umístění souboru, klíč a umístění webu)
    • <?php
      shell_exec("/usr/php53/bin/php /data/web/hosting.com/sub/website.com/sites/localcron.php --key IFEVzAgi8f93LzbHIH8Tz_teLnU7qF456OZRabpxAMg --root '/data/web/hosting.com/sub/website.com/' ");
  2. Nastavte cron na pravidelné spouštění souboru localcrontab.php

Windows

Configuring cron jobs on Windows

Toolkit pro práci s obrázky

V admin/config/media/image-toolkit (Konfigurace, Toolkit pro práci s obrázky) nastavte kvalitu JPEG obrázků na 90 %.

Taxonomie

Obecně se kategorizace obsahu nazývá Taxonomie:

  • obecný pojem pro kategorie, štítky a případně další entity
  • účelem je třídění obsahu za účelem zlepšení použitelnosti webu (rychlejší navigace než při procházení chronologicky seřazeného obsahu dle datumu vydání)
  • kategorie a štítky se navzájem doplňují
  • při představě, že web je kniha, mohou být chápány kategorie jako kapitoly v obsahu knihy a štítky jako indexy v rejstříku

Správné navržení struktury webu je velmi obtížné a většinou vzniká postupně.

Kategorie

  • primární rozdělení obsahu na logické celky
  • základní struktura, volitelně i hierarchická, by měla být navrženy dopředu (dle plánovaného obsahu)
  • mělo by se jednat o obecné téma pro danou oblast (kategorie by se neměli „překrývat“)
  • obsah by měl být zařazen vždy pouze do jedné kategorie (v případě „překryvu“ kategorií raději zvolte obecnější pojem)
  • pokud máte se vám stává, že máte potřebu obsah zařadit do více kategorií, zamyslete se, zda by nebylo vhodnější změnit strukturu kategorií, případě udělat z některých kategorií štítky
  • účelem kategorií je seskupení obsahu (měli by návštěvníkovi pomoci identifikovat, čim se web zabývá)
  • kategorie bývá zpravidla povinná položka
  • měně kategorií je někdy více, neboť v každé kategorii by měl přibývat nový obsah…
  • kategorie si můžeme představit např. jako jednotlivé „kapitoly v obsahu knihy“

Štítky (tag)

  • sekundární třídění obsahu, které s kategoriemi nijak nesouvisí
  • vznikají postupně dle aktuálních témat
  • používají se k propojení tématických obsahů (spojují různé obsahy, které spolu v základním dělení dle kategorií nemusí nijak souviset, ale mají společné téma)
  • popisují specifické detaily obsahu
  • nemohou mít hierarchickou strukturu
  • jsou volitelné
  • zlepšují použitelnost webu
  • z často používaného štítku se může stát podkategorie, ale jen v tom případě, že je kategorie dostatečně obecná
  • pomáhají návštěvníkům snadno najít starší tématické články
  • obecně je doporučeno max. 10 štítků u jednoho článku
  • měly by co nejvíce vystihovat obsah článku
  • štítky si můžeme představit např. jako „indexy v rejstříku knihy“, které tvoří známé výrazy propojující tématický obsah

Příklady kategorizace obsahu

Filmové novinky:

  • Kategorie: Akční, Komedie, Dobrodružné, Dokumentární, Historické, Kriminální, Pohádky, Romantické, Sci-fi, Taneční, Válečné, Westerny, Životopisné
  • Štítky: „jména herců“

Zpravodajský web:

  • Kategorie: Sport, Kultura, Cestování, Zdraví, Ekonomika
  • Štítky: Plavání, Muzeum, Praha, Divadlo, Film

Osobní blog:

  • Kategorie: Jídlo, Hudba, Cestování, Knihy
  • Štítky: Pizza, Těstoviny, Kuřecí maso

Sociální média:

  • Kategorie: Návody, Novinky, Případové studie, Nástroje
  • Štítky: Facebook, Google+, Twitter, Instagram

Inzeráty:

  • Kategorie: Nákup, Prodej
  • Štítky: Auto, Moto, Práce, Seznamka, Stavba, Nábytek

Další možnosti kategorizace obsahu

  • vlastní typy obsahu (produkty, kurzy, zaměstnanci, dokumenty)
  • relace mezi všemi výše jmenovanými
  • formáty příspěvků

Doporučení:

  • Nepoužívejte názvy kategorií a štítků v URL adresách jednotlivých článků (mujweb.cz/kategorie/2016/clanek)!
  • Web by měl být funkční i při případné změně struktury webu.
  • Nevytvářejte web pro vyhledávače a roboty, ale pro lidi!
  • Web považujte za knihu, která se neustále vyvíjí.

Vstupní formáty

V admin/config/content/formats (Konfigurace, Formáty textu) určuje první řádek výchozí filtr:

  1. Filtered HTML
    • tento vstupní formát odstraňuje nepovolené (X)HTML značky a všechny atributy style
    • v nastavení filtru Limit povolených HTML značek můžete upravit Povolené HTML značky:
      <a> <em> <strong> <cite> <blockquote> <quote> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <div> <span> <pre> <address> <h2> <h3> <h4> <h5> <h6> <hr> <del> <ins> <sub> <sup>
      • (Přidat rel="nofollow" ke všem odkazům) – zaškrtnout v případě, že povolíte anonymního uživatele
      • volitelně
      • <img>
    • Role: přihlášený uživatel, webmaster, administrator
  2. Full HTML povolte uživatelské role s oprávněním plné editace HTML obsahu (např. vytváření a úprava tabulek, flash animace atd.)
    • Role: webmaster, administrator
  3. Plain text
    • Role: všechny

Další vstupní formáty je možné vytvořit pomocí modulů:

  • PHP filter
  • WYSIWYG Filter – jednoduchá installace, nevyžaduje knihovny třetích stran
  • HTML Purifier – populární, mocný, ale může být pomalý
  • htmLawed – méně populární
  • Htmltidy – automatické opravy chybějících tagů (zabraňuje narušení struktury webu yes), automatické zalamování řádků po nastaveném počtu znaků, volitelné zobrazení informací o validaci

Pokud používáte modul CKEditor (FCKeditor) je doporučeno pro lepší kontrolu nad konci řádků vypnout u všech vstupních formátů, kde se bude CKEditor používat filtr Převést odřádkování do HTML (tj. <br> a <p>)enlightened

Vzhled

Drupal 8

Vzhled:

  • začátečníci
    • Zircon
    • Integrity
    • Paxton
    • Danland
    • Business
    • Professional Theme (Drupal 7)
    • Simple Corporate (Drupal 7)
    • JournalCrunch (Drupal 7)
    • Corporate Clean (Drupal 7)
    • Corked Screwer (Drupal 7)
    • FontFolio
  • pokročilí
    • Zen (Drupal 7)
    • Bootstrap
    • Omega
    • AdaptiveTheme
    • ZURB Foundation
    • Fusion (Drupal 7)

Favicona:

  • pixelite.co.nz/article/adding-apple-android-favicons-drupal
    • loopduplicate.com/content/adding-icons-to-drupal-themes

Drupal 7

Základní (base) téma vzhledu se stará o běžné úkoly jako je např. rozložní stránky, normalizaci (reset) CSS atd.

  1. V admin/appearance (Vzhled) je možné určit výchozí a dostupná témata.
  2. Více témat vzhledu je možné získat na http://drupal.org/project/Themes (většinu z nich si můžete prohlédnou na Theme Garden).
    1. Témata vzhledu umísťujte do adresáře sites/all/themes/. Toto umístění je vhodnější pro případný upgrade systému na nvou verzi. Navíc zde uvístěná témata vzhledu jsou společná pro všechny subdomény (multisite web).
  3. Výchozí nastavení témat je možné upravit v admin/appearance/settings (Vzhled, Nastavení).

Tipy:

  • weebpal.com/drupal-8-themes
  • TemplateMonster.com - komerční témata vzhledu (Drupal, Wordpress, Joomla, PhpBB atd.)
  • Lavishbootstrap.com - generátor barevného schéma na základě definovaného obrázku
  • Boottheme.com – rychlé vytvoření webové stránky (Bootstrap, Less, HTML5, CSS3, JavaScript)
  • drupalizing.com
Porovnání některých základních témat vzhledu vhodných pro vytváření vlastních subtémat
Základní témata vzhledu Přístupnost Strukturovaná data Resposive Layout Respond.js nebo
mediaqueries.js (IE8-)
HTML5 Sass, Less, Compass Grid Normalize (sjednocení vzhledu prvků) IE conditional

Detekce schopností prohlížeče
(IE8-)

Omega     Ano Ano mediaqueries.js Ano Ano Ano Ano modul Conditional Stylesheets HTML5 Shiv
AdaptiveTheme WCAG 2.0 level AA RDFa Ano Ano respond.js Ano Ano       Modernizr
Zen     Ano Ano respond.js Ano Ano Ano Ano Ano HTML5 Shiv / Modernizr
Boilerplate     Ano   Ano Ano       Modernizr
Arctica     Ano   Ano          
Mothership     Ano   Ano          
Basic     Ano              
Square Grid theme     Ano   Ano          
Bootstrap     Ano       Ano      
TB Nucleus (TB Simply, TB Neris, TB Hadelis, TB Mollise, TB Palicico, TB Events, TB Sirate, TB Methys, TB Rave, TB Blog, TB Purity)                    
Foundation     Ano       Ano      
FontFolio     Ano              
Professional Theme     Ano              
Premium Responsive     Ano              
Responsive Business     Ano              
Responsive Blog     Ano              
Skeleton     Ano              
Concept (komerční)     Ano              
SooperThemes (komerční)     Ano              
LayoutStudio
(rychlá změna rozvržení)
                   

Omega:

  • optimalizováno pro výkon
  • možnost vypnutí/zapnutí CSS u modulů
  • Drush atd.
  • Výhody:
    • horizontální sekce přes celou šířku okna prohlížeče smiley
    • možnost nastavení stejné výšky některých elementů
  • Nevýhody:
    • není možné definovat fixní šířku sidebar (pro tuto funkčnost je nutná vlastní úprava CSS)
    • fixní gutter (vnitřní okraj) 10px (je možné ovlivnit pomocí vlastních CSS)
    • nestandardnímu způsobu zápisu .info souboru nemusí rozumnět všechny moduly no
    • ve výchozím stavu nemá content first, ale je možné si jej "dokonfigurovat" a "nastylovat"
    • ve výchozím stavu nemění rozložení – změnu rozložení je ale možné definovat pomocí kombinace modulů Delta+Context (může být navíc alternativa místo Panels)
    • ve výchozím stavu, obrázky nemění svoji velikost – je třeba použít např. modul Responsive images and styles

AdaptiveTheme:

  • SEO optimalizace
  • vlastní CSS vstup (pro jednoduché úpravy není nutné vytvářet subtéma)
  • fonty, mobile friendly meta tags, atd.
  • Výhody:
    • WCAG 2.0 level AA
    • je možné definovat fixní šířku sidebar stejnou ve všech "šířkách" layoutu smiley
    • content first
    • malá chybovost v IE8- (advanced IE support)
    • obrázky přizpůsobují svoji velikost
  • Neýhody:
    • nemá horizontální sekce přes celou šířku okna prohlížeče

Zen:

  • výborná dokumentace ve zdrojovém kódu
  • Výhody:
    • content first
    • obrázky přizpůsobují svoji velikost
    • touch icon
    • IE7 podpora pomocí "Chrome install"
  • Neýhody:
    • nemá horizontální sekce přes celou šířku okna prohlížeče

Boilerplate:

Arctica (dokumentace):

  • rozšíření Tundra

Mothership:

  • generuje velmi "odlehčený" a sémantický kód yes

SooperThemes:

  • Lumi (komerční)
  • Responder (komerční)
  • TouchPro (komerční)
  • atd.

Tipy na zajímavá témata:

  • Business
  • Best Responsive
  • Corporate Clean
  • FontFolio
  • ZURB Foundation

Moduly:

  • LESS CSS Preprocessor
  • SASS / SCSS
  • Sassy – automatická kompilace SASS/SCSS souborů na Drupal webu (obsahuje podporu také pro Compass, Bootstrap a Foundation)

Definice Media Queries:

  • Responder (Drupal modul)

Bloky

Drupal 8

V nastavení viditelnosti bloku platí logický součin (všechny zvolené podmínky musí platit současně).

Drupal 7

Bloky sdružují obsah, který lze na stránce volně přemisťovat:

  • v admin/structure/block (Struktura, Bloky) je možné upravovat rozmístění a nastavení jednotlivých bloků
  • pokud si omylem vypnete blok pro přihlášení je možné se přihlásit zadáním adresy:

Tipy:

  • pro statistiky stránek, reklamu atd. je vhodné vytvořit samostatné bloky (nevkládejte je přímo do používaného tématu vzhledu)
  • import externího souboru:
    • <?php print file_get_contents("./sites/​folder/file.html"); ?>

Obsah

Node (uzel, jednotka) je obecný objekt reprezentující libovolný obsah. Každý node má jedinečné číslo (nid), verzi (vid), metadata, název (title) a obsah (většinou body).

Výchozí hodnoty pro jednotlivé typy obsahu

V admin/structure/types (Struktura, Typy obsahu) je možné nastavit výchozí hodnoty pro jednotlivé typy obsahu:

  • popisek pro pole nadpis
  • zobrazovaní na titulní straně
  • vytvářet novou revizi enlightened
  • nastavení komentářů
    • (NE)zobrazovat formulář pro odpověď na stránce s komentáři
  • nastavení výchozí pozice menu při zadávání nového obsahu

Pro duplikaci (vytvoření podobného) typu obsahu a jeho nastavení je možné využít modul Node clone.

Titulní strana

V admin/config/system/site-information (Konfigurace, Informace o webu) je možné upravit:

  • počet příspěvků na úvodní stránce
  • výchozí titulní stranu
  • chybové stránky
    • 403: node
    • 404: node

Informace o revizi

Při vytváření obsahu můžete pomocí revizí vytvářet různé verze (ukládat historii) stejného obsahu a sledovat rozdíly mezi jednotlivými verzemi. Revize doporučuji zapnout u všech ručně vytvářených typů obsahů. enlightened

Užitečným pomocníkem pro revize je modul Diff.

 

Uživatelé

  1. V admin/people (Uživatelé):
    • upravte nastavení vlastního účtu (1. vytvořený účet nemá žádná omezení):
    • obrázek uživatele
    • časová zóna
      • můžete vytvořit účet pro webmastra (1. vytvořený účet bez omezení používat jen pokud je to nutné)
      • v případě potřeby přidejte další uživatele
  2. V admin/people/permissions/roles (Uživatelé, Role) můžete upravovat uživatelské role, např. vytvořit roli webmaster.
  3. V admin/people/permissions (Uživatelé, Oprávnění) je možné upravovat oprávnění uživatelských rolí.

Uživatelské nastavení

V admin/config/people/accounts (Konfigurace, Nastavení účtu) je možné nastavit způsob registrace, podpisy, podporu obrázků uživatelů a upozorňovací e-maily:

  • Registrace a rušení:
    • Pouze administrátoři
  • můžete povolit podpisy
  • podpora obrázků uživatelů:
    • adresář pro obrázky: user/picture
    • můžete upravit texty e-mailů

Zobrazení autora

V admin/structure/types (Struktura, Typy obsahu) je možné zvolit u kterého typu obsahu se bude zobrazovat autor (případně i jeho obrázek). Viz sekce Nastavení zobrazení.

 

Čistá URL

Viz nastavení modulu Path.

Menu

Viz nastavení modulu Menu.

Cookie

Pokud v souboru /sites/default/settings.php odkomentujete níže uvedenou proměnnou, může být uživatel přihlášen při přechodu mezi všemi doménami multisite webu.

$cookie_domain = 'example.com';

 

Bezpečnost

U produkčních stránek je doporučeno chybová hlášení zaznamenávat pouze do logů a nezobrazovat je:

  • admin/config/development/logging (Nastevení, Vývoj, Logování a chyby) nastavte Chybové zprávy k zobrazení na Žádné.

V případě, že potřebujete sledovat veškeré odesílané e-maily, nainstalujte si modul Maillog / Mail Developer.

Výkon

V admin/config/development/performance (Konfigurace, Výkon) je možné nastavit:

  • cache stránek pro anonymní uživatele
    • při zapnutí se nepřihlášeným uživatelům mohou zobrazovat neaktuální informace (např. u modulů CoundownEvent) –  řešení nabízí např. modul CacheExclude
    • při úpravách tématu vzhledu je vhodné cache stránek dočasně vypnout
    • nepovolujte pokud http hlavičky vracejí údaj Transfer-Encoding: gzip (deflate) – v tomto případě provádí komprimaci již server
  • optimalizaci přenosu dat (pouze pokud máte nastaven systém souborů na veřejný)

Výkon Drupalu je možné zvýšit moduly:

  • Boost - pouze pro nepřihlášené uživatele
  • APC – Alternative PHP Cache enlightened
  • Ad memcache (memcached.org) – pro nepřihlášené i přihlášené uživatele enlightened
  • Memcache API and Integration
  • Cache Router
  • Path Cache
  • HTTP Cache (Reverse proxy)
  • AuthCache (Caching logged in Users)
  • Advanced cache

Výkon web serveru je možné zvýšit:

  • Varnish (varnish-cache.org) – akcelerátor webu enlightened
  • použitím PHP op-code cache / accelerators (XCache, APC, eAccelerator, Alternative PHP Cache, Zend Optimizer, ionCube PHP Accelerator, Turck MMCache, Nusphere PhpExpress atd.)
  • konfigurací dedikovaného web serveru pro statické stránky
  • instalací PHP memcache (debian memcached)
  • replikací MySQL databází pro čtení (více slave strojů), pro čtecí servery pak použijte load-balencery
  • mod-pagespeed

Další informace:


Obecná doporučení:

Mezipaměť (cache) CMS:

  • stránky
  • bloky
  • CSS
  • javascript

Databáze:

  • optimalizovat tabulky

Cron:

  • vypnout vnitřní automaticky cron a nastavit externí (nespouště cron úlohy s každým zobrazením stránky)

Server:

  • zajistit dostatečný výkon serveru (webhosting)

Kontrola (včetně doporučení ke zvýšení výkonu):

  • webpagetest.org
  • websiteoptimization.com/services/analyze/

Doporučení:

  • redukovat počet a odstranit nepoužívané moduly (pluginy), bloky (widgety), témata
  • komprimace obrázků (do 100 kB)
  • sloučit a komprimovat externí soubory stejného typu (CSS, javascript)
  • využívat možnosti CSS, včetně posunu pozadí
  • "odlehčit" grafiku