Stručný obsah Úvodem Instalace Drupalu Problémy s webhostingem Administrace Drupalu Navigace v Drupalu Úprava obsahu Zobrazování obsahu Soubory Obrázky a multimédia Statistika, logy, reklama Témata vzhledu Vývoj modulů Záloha a migrace Drupalu
K1785.indd 3
15 17 35 47 69 95 121 141 157 181 195 223 243
23.3.2010 8:25:52
K1785.indd 4
23.3.2010 8:25:52
Obsah Úvodem Komu je kniha určena Doprovodné CD
Instalace Drupalu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Jak rozbalit soubory tar.gz Jak zprovoznit webový server na lokále s VertrigoServu Jak na lokální server pomocí Microsoft Web Platform Installeru Jak urychlit kopírování souborů na web (FTP/SFTP) Jak změnit přístupová oprávnění ke složce Jak instalovat v češtině/slovenštině Jak vytvořit soubor settings.php Co s chybovými hlášeními při instalaci Jak doplnit další jazyky Kam správně kopírovat moduly a témata Co dělat, když zapomenete heslo administrátora Kam ukládat soubory Jak zaheslovat zatím nedodělaný web Kdy lze odstranit logo Drupalu Jaký je rozdíl mezi Drupalem a Acquia Drupalem Která verze Drupalu je nejvhodnější Jak instalovat aktualizace Drupalu Jak povýšit na novou verzi Drupalu Jak na jeden Drupal pro více domén Jak vytvořit vícejazyčný web
Problémy s webhostingem 21 22 23 24 25 26 27
K1785.indd 5
Co je to PHP memory limit Co s bílou stránkou po zapnutí některých modulů Jak na sdílenou databázi Stránky kromě titulky nelze načíst K čemu je soubor php ini Proč nelze zapnout čistou URL Jak spouštět cron bez podpory webhostingu
15 16 16
17 17 18 20 21 22 23 23 24 25 25 26 27 27 28 29 30 30 31 32 33
35 35 35 36 37 37 38 38
23.3.2010 8:25:52
6
Obsah
28 29 30 31 32 33 34 35 36 37 38 39 40
Který webhosting zvolit Jak zrychlit načítání stránek s Drupalem Proč nefunguje Poormanscron, vizuální editory a části Views Co dělat, když Drupal „nevidí“ zkopírované moduly Jaká souborová oprávnění jsou pro Drupal nezbytná Jak se vyhnout problémům s připojením k databázi Co s hlášením o problémech s knihovnou ImageMagick Jak zjistit aktuální parametry webhostingu Jak ušetřit za webhosting Jak vylepšit standardní cacheování Jak automaticky opravovat databázi Kdy přejít z webhostingu na pronájem nebo koupi serveru Je lepší pronájem virtuálního nebo dedikovaného serveru
Administrace Drupalu 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
K1785.indd 6
Jak se přihlásit do administrace, když je web offline Jak na oddělený vzhled administrace Vhodné administrační téma Co s časem posunutým o hodinu Jak doplnit chybějící lokalizaci Jak na kontaktní formulář zasílaný na různé adresy Jak na automatické e-mailové upozornění na změny v obsahu K čemu je slogan a cíle webu Jak se zbavit nepohodlných uživatelů Jak zablokovat registrace uživatelů na firemní prezentaci Jak upravit e-mailová upozornění na nový účet Jak uživatelům zamezit v přístupu k některým funkcím Jak zobrazit rozsáhlejší nápovědu Co když po odstranění témat vzhledu přestane web fungovat Jak hromadně odhlásit všechny uživatele Jak provést aktualizaci témat vzhledu Jak na aktualizaci modulů Pohodlná instalace a aktualizace modulů Administration menu – pomůcka pro správce webu Jak na přístupová oprávnění v závislosti na kategoriích Jak se bránit spamu Jak nastavit modul Captcha Jak přidat Captchu do dalších formulářů
39 39 41 42 42 42 43 44 45 45 45 46 46
47 47 47 48 49 49 50 51 52 53 54 54 54 55 56 57 57 58 59 60 60 61 62 63
23.3.2010 8:25:52
Obsah
64 65 66 67 68 69 70 71
Kdy použít modul Mollom pro zachycení spamu Jak posílat e-maily v HTML formátu Jak urychlit přístup ke správě obsahu Kdy přidat další vstupní formáty Jak opravdu vyprázdnit cacheovací tabulky Proč ve správě bloků není administrační téma Jak zjistit IP adresu u anonymního komentáře Jak vypnout čisté URL v databázi
Navigace v Drupalu 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
K1785.indd 7
Primární nebo sekundární odkazy Jak přidat další menu Různá menu v různých částech webu Jak rozlišit horizontální a vertikální menu Jak zadávat odkazy do menu Kdy použít kategorie, slovník, termín nebo typ obsahu Co je to drobečková navigace a jak ji využít Drobečková navigace podle kategorií Vlastní drobečková navigace Jak rozbalovat boční menu bez načítání stránky Jak změnit adresu node/číslo na něco srozumitelnějšího Jak vytvářet adresu článku podle jeho nadpisu automaticky Jak se zbavit diakritiky v URL Kdy odstranit menu Navigace a kdy jej ponechat Jak vytvořit boxík tag cloud Jak vytvořit mapu webu Jak vytvořit mapu webu pro vyhledávače (sitemap xml) Jak na webu vytvořit rozbalovací menu Jak automaticky vytvářet menu podle termínů ve slovníku kategorií Jak nahradit hledání z Drupalu hledáním přes Google Jak vytvořit blok se souvisejícími články Jak vícekrát zobrazit sekundární odkazy Jak přesměrovat uživatele na jiný článek Jak na odkaz k registraci s návratem na aktuální stránku Jak doplnit odkazy na linkovací služby Jak na odesílání odkazu na článek e-mailem Jak zobrazit skutečné jméno autora místo jeho přezdívky Jak otevírat všechny externí odkazy do nového okna
7
63 64 65 65 66 67 67 67
69 69 69 70 71 71 72 73 74 74 75 76 77 78 78 78 80 81 82 83 84 85 85 86 87 87 88 89 91
23.3.2010 8:25:53
8
Obsah
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
Jak na automatické subdomény Jak zabránit duplicitním adresám
Úprava obsahu
95
Kdy použít obsah typu Příspěvek do blogu Jaký je rozdíl mezi stránkou a článkem Jak zajistit minimální délku obsahu Rychlý přesun do editace článku Jak zprovoznit vizuální editor Výchozí formát vstupu podle uživatelských rolí Jak přidat další políčka pro zadávání obsahu Jak vložit články se starším datem Jak naplánovat vydání článku na později Vkládání článků přes blogovací programy Jak zabránit uživatelům v přepisování jejich příspěvků ve fóru Jak uchovávat starší verze uzlů (Jak na revize) Jak zabránit úpravě obsahu více uživateli najednou Jak se zbavit dvoubarevného pozadí v editoru Jak se zbavit značek [b]text[/b] a jim podobných Jak duplikovat typ obsahu Jak na nabídku šablon pro tvorbu obsahu Jak pohodlně vložit odkazy na interní obsah pomocí TinyMCE Node Picker Jak na úvodník v odděleném políčku Jak vložit flash do textu Jak na stejné písmo v editoru i na webu Jak do editoru doplnit výběr stylů Jak na barevný kalendářík pro výběr data v Scheduleru Jak připojit anketu k článku Jak k anketě přidat další položky Jak přesměrovat komentáře k článku do fóra Jak na kontaktní formulář s předvyplněnými údaji Jak na kontrolu pravopisu Jak importovat data z jiného webu Jak exportovat a importovat články z XML nebo CSV
95 95 96 97 97 99 99 101 102 103 104 104 105 105 106 107 107 109 110 110 111 112 112 113 114 114 115 116 117 118
Zobrazování obsahu 132 133 134
K1785.indd 8
91 92
Jak vypnout zobrazování data a jména autora Kde nastavit zobrazování dodatečně přidaných políček CCK Úprava RSS výstupu
121 121 122 122
23.3.2010 8:25:53
Obsah
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
Jak vypsat obsah konkrétního typu pomocí Views Jak ovlivnit pořadí uzlů Jak změnit formát data a času Jak na hodnocení obsahu Jak skrýt reklamu přihlášeným uživatelům Co všechno ovlivňuje volba Zobrazit na titulní stránce Jak zajistit aktualizaci stránky při zapnutém cacheovacím intervalu Jak filtrovat obsah podle data pomocí Views Jak vytvořit a využít frontu článků Jak vytvořit seznam anket včetně náhledu na výsledky Jak seřadit uzly v libovolném pořadí Jak urychlit definici Views Výpis bez nejnovějšího článku Jak automaticky střídat články ve frontě Jak zobrazovat náhodně vybraný článek Jak vytvořit blok s nejčtenějšími články za posledních 14 dní Jak vytvořit blok s nejkomentovanějšími články Jak opravit flash překrývající vše ostatní Jak na uživatelské filtrování obsahu aneb vlastní vyhledávání Jak vytvořit kalendář akcí Jak zobrazit výpis ve formě číslovaných řádků tabulky Jak vytvořit další RSS výstupy Jak v uzlu zobrazit jen termíny z konkrétního slovníku Jak zobrazit seznam termínů v daném slovníku (aneb výpis kategorií inzerátů) Jak v profilu uživatele zobrazit všechny jeho uzly Jak automaticky vkládat reklamu do textu
Soubory 161 162 163 164 165 166 167 168 169 170
K1785.indd 9
Co je to v Drupalu souborový systém Jak přiložit soubory k obsahu Jak na automatické odstranění diakritiky z názvů souborů Jaký je rozdíl mezi privátním a veřejným stahováním Jak na počitadlo stahování Jak získat správce nahrávaných souborů Jak vytvořit výběr obrázků bez možnosti uploadu Jak na vytváření složek pomocí IMCE Jak zobrazit náhledy příloh Jak na bezproblémové nahrávání souborů
9
123 124 124 125 126 127 127 128 129 130 131 132 132 133 134 134 135 135 135 136 137 138 138 139 140 140
141 141 142 143 143 143 144 145 146 147 148
23.3.2010 8:25:53
10
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
Obsah
Proč není možné nahrávat soubory z Wordu a Excelu Jak na přílohy ke komentářům Jak automaticky třídit přílohy do složek Jak automaticky třídit soubory do složek Jaký způsob třídění souborů do složek zvolit Jak nahrávat více příloh najednou Jak nahrávat více souborů najednou pomocí IMCE Jak vložit odkazy na soubory z příloh do textu Jak využít modul FileField Moduly pro soubory v kostce Jak z článků generovat soubory PDF 154 Jak zobrazit všechny přílohy ve formě výpisu na stránce Jak do vyhledávání zahrnout obsah souborů Jak na Drupal a BitTorrent Jak připravit stahovací web
Obrázky a multimédia 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
K1785.indd 10
Jak vkládat obrázky přes editor Znovu použitelné obrázky Jak pohodlněji vkládat již použité obrázky Jak vládat videa z YouTube a jiných webů Jaký zvolit modul pro ikonku článku Jak využít modul ImageField Jak pracovat s modulem ImageField Jak pracovat s modulem NodeImages Jak na ořezávání obrázků vkládaných do textu Jak na automatickou změnu velikosti nahrávaného obrázku Proč nespoléhat na FTP Jak otevírat obrázky z článku v Lightboxu Jak na galerii obrázků Jakou kombinaci pro obrázky zvolit Jak automaticky zmenšovat obrázky Jak zobrazit obrázky z příloh pod článkem Obrázky s automatickým zmenšováním a Lightbox Jak doplnit odkazy na další a předchozí obrázek v galerii Jak vylepšit galerii obrázků pomocí 3D-prohlížeče Jak na procházení všech obrázků v článku pomocí Lightboxu Jak pracovat s modulem Media
148 148 149 150 150 151 152 152 153 153 155 156 156 156
157 157 158 159 160 160 161 161 162 162 163 164 164 165 166 167 168 168 169 172 173 173
23.3.2010 8:25:53
Obsah
207 208 209 210 211 212 213 214 215 216 217 218 219 220
Jak vytvořit stránku s náhledy videí převzatých z YouTube Jak vložit vodoznak a odrazy k obrázkům Jak na další efekty u obrázků Jak zpracovat informace EXIF Jak automaticky importovat obrázky do galerie Jak zpřístupnit vkládání obrázků do komentářů Proč a jak zabránit hotlinkování obrázků Jak na vkládání videa na server s Drupalem Jak využít modul ImageCache při tvorbě témat vzhledu Jak na přehrávání hudby v Drupalu Jak na video z dalších serverů Jak změnit velikost náhledů v článku po úpravě grafiky webu Jak upravit parametry výběru náhodného obrázku z galerie Jak vytvořit blok s náhodným výběrem obrázku z příloh
Statistika, logy, reklama 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
K1785.indd 11
Jak zobrazit počitadlo přečtení článku Jak na unikátní přístupy Jak se zbavit chybových hlášení a upozornění Jak vložit měřicí kód Google Analytics Jak vložit měřicí kód TOPlistu a dalších českých počitadel Jak na jednoduché statistické grafy v Drupalu Jak využít seznam odkazujících stránek Jak analyzovat klíčová slova Jak využít seznam nejhledanějších frází Jak vkládat reklamu na web Jak dlouho udržovat staré logy Jak zjistit, kdo chce škodit vašemu webu Jak zobrazit seznam chyb na webu Jak na zasílání logů na e-mail a mailů do logu Jak vložit Google AdSense Jak vložit Gogole AdSense do obsahu automaticky Jak vkládat reklamní kódy různých společností Jak na pokročilou správu reklamy Jak zobrazit bannery typu Flash v reklamním modulu Jak zobrazit výpis z logu s vlastním filtrem a řazením Jak vkládat logy z Drupalu do logu webového serveru Jak jednoduše prohledávat log přístupů
11
174 174 175 175 176 176 177 177 177 178 178 178 179 179
181 181 182 182 183 183 183 184 185 185 186 186 186 186 187 187 187 188 189 190 190 191 191
23.3.2010 8:25:53
12
243 244
Obsah
Jak na odkazy affiliate a analýzu jejich úspěšnosti Jak na boxík s nejaktivnějšími čtenáři
Témata vzhledu 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
K1785.indd 12
Jak začít s tvorbou témat Které soubory v šabloně jsou nezbytné Jak definovat položky v souboru info Jak přidat další regiony Kolik potřebuji regionů Jak vypnout zobrazení jména autora Jak na průhledné logo ve formátu PNG v Internet Exploreru 6 Jak vytvořit ikonku webu Od kterého z existujících témat se „odpíchnout“ Jak si naklikat témata vzhledu pro Drupal Jak zajistit, aby se provedené změny na webu projevily Jak na titulní stránku odlišnou od zbytku webu Jak navrhnout strukturu šablony Jak optimalizovat výpis bloků pro rychlejší načítání Jak vytvářet různé šablony pro různé typy obsahu Jak pomocí šablony upravit konkrétní blok Jak vytvořit šablonu pro konkrétní stránku Jak využít modul Contemplate Jak využít volbu Exclude v nastavení zobrazení políček CCK Jak vytvořit bloky pro Web Slices v Internet Exploreru 8 Jak na šablonu formulářů pro vkládání obsahu Jak ve formuláři zarovnat popisek a políčko na jeden řádek Jak nastylovat rozbalovací nabídku Jak se zbavit rozdílu v zobrazení u různých prohlížečů Jak stylovat neposlušné položky menu Jak upravit vzhled výsledků hledání Jak na ikonku článku Jak nastylovat vzhled tabulky v článku Jak upravit vzhled administrační části Kde získat kompletní seznam proměnných pro jednotlivé soubory v šabloně Jak stylovat moduly Views Jak upravit a zjednodušit kód generovaný modulem Views Jak vytvořit vlastní vyhledávací boxík v tématu vzhledu Jak vytvořit třídu v závislosti na kategorii
191 192
195 195 195 196 197 198 199 199 200 200 201 202 203 203 204 205 205 206 206 207 208 209 209 210 211 211 212 213 214 214 215 215 216 217 218
23.3.2010 8:25:53
Obsah
279 280 281 282
Jak na vlastní zobrazení odkazů na komentáře Jak na vlastní zobrazení odkazů pro různé funkce modulů (tisk, přeposílání) Jak využít soubor template php Jak na úpravu šablony vzhledem k SEO
Vývoj modulů 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
Které soubory jsou pro modul nezbytné Jak pracovat s adresou api drupal org Jak pracovat s lokalizací Jak vložit položku do menu Jak na uživatelská oprávnění Jak upravit obsah před jeho zobrazením Jak upravit jakýkoli uložený uzel Jak pomocí modulu přidat nový blok Jak vytvořit stránku Jak vytvořit formulář Jak ověřit data z formuláře Jak zpracovat data z formuláře Jak vytvořit vlastní akce Jak zobrazit nějaké hlášení Jak předávat proměnné mezi více formuláři Jak vypsat data do tabulky Jak efektivně tvořit SQL dotazy Proč nemám k dispozici UID aktuálního uživatele Jak využívat cron Jak ladit moduly bez vývojového prostředí Jak na vývoj modulů pomocí Visual Studia a VS PHP Jak ladit moduly pomocí VS PHP Jak pracovat s obsahem objektu Jak na změny v databázi při instalaci modulu Jak na aktualizace databáze s novou verzí Jak po modulu uklidit
Záloha a migrace Drupalu 309 310 311 312 313
K1785.indd 13
Co vše je nutné zálohovat Jak často musím zálohovat Jak na pravidelnou zálohu databáze Jak na pravidelnou zálohu souborů Export a import databáze v PhpMyAdminu
13
219 219 219 220
223 223 223 224 225 225 226 227 227 229 229 231 232 232 234 234 234 235 235 235 236 237 238 239 239 240 240
243 243 243 244 244 245
23.3.2010 8:25:53
14
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
Obsah
Jak zmenšit databázi před migrací Jak se před migrací nebo zálohou zbavit zbytečných souborů Kam umístit zálohu na webu Jak zkopírovat zálohu do počítače Na co nezapomenout před migrací Jak provést migraci Co udělat po migraci Jak importovat velkou databázi pomocí prohlížeče Jak zálohovat pomocí cPanelu Jak synchronizovat pomocí WinSCP Proč mi zálohovací moduly nefungují na hostingu s Linuxem Jak zprovoznit zálohovací modul na serveru s Windows Jak efektivně zálohovat více webů najednou Jak zjistit velikost složky pomocí SSH Jak upravit soubor settings php přímo na serveru pomocí SSH a Vimu Jak na zálohu souborů pomocí SSH Jak na zálohu databáze pomocí SSH Jak rozbalit soubory přes SSH Jak importovat databázi v SSH Co je to Drush
Rejstřík
K1785.indd 14
246 247 247 247 248 248 248 248 249 250 251 251 251 251 252 252 253 253 253 254
255
23.3.2010 8:25:53
Úvodem Když jsem napsal knihu Drupal: Podrobný průvodce tvorbou a správou webu (a následně její druhé vydání), byl jsem mile překvapen, kolik čtenářů zaujala. Drupal patří k nejoblíbenějším redakčním systémům na světě, a přestože o něm někteří méně zasvěcení tvrdí, že je uživatelsky nepřívětivý, po nějaké době práce zjistíte, že si jej můžete dokonale přetvořit podle svých představ. Drupal není po instalaci „hotový produkt“. Je to otevřený systém, základ pro skládačku, ze které si pomocí doplňkových modulů a témat vzhledu sestavíte na míru ušité webové stránky s pokročilou administrací, správou skupin uživatelů a nekonečnými možnostmi pro správu obsahu. Z takového pohledu je na něj zapotřebí nahlížet. Jestliže kniha Drupal: Podrobný průvodce tvorbou a správou webu sloužila k seznámení úplných drupalovských začátečníků s tímto redakčním systémem, pak publikace, kterou právě držíte v rukou, je určena těm, kdo si již Drupal minimálně vyzkoušeli. Odpoví vám na různé otázky spojené s instalací, provozem, správou, vylepšováním a vývojem Drupalu. Tuto knihu nemusíte číst stránku za stránkou. Listujte v ní a vyhledejte řešení problému, který vás trápí. Odpovědi na nejčastější otázky, se kterými jsem se během pěti let vývoje webů na Drupalu setkal jak při své práci, tak při školení ostatních jsem se pokusil shrnout do 333 tipů. Tipy jsou rozděleny na ty určené pro začátečníky, pokročilé a znalce. Nehledejte však u tipů pro začátečníky osvětlení úplných základů práce s Drupalem, na ty vám odpoví má předchozí kniha o tomto systému. Některé tipy předpokládají znalost modulů, které již používáte, případně které byly zmíněny v předchozích kapitolách. Pokud text zmiňuje nějaký modul, který do Drupalu musíte doinstalovat, vždy je uvedena adresa, ze které si jej můžete stáhnout. Můžete také využít CD přiložené k této knize, na kterém všechny zmíněné moduly i ukázky kódu najdete. Přeji vám, aby kniha odpověděla na maximum dotazů týkajících se Drupalu. Na mých webových stránkách www.maxiorel.cz najdete speciální sekci fóra věnovanou právě otázkám spojeným s touto knihou i se systémem Drupal jako takovým. Nebojte se položit doplňující dotazy. Rád bych na tomto místě také poděkoval všem čtenářům, kteří si zakoupili mé předchozí knihy o Drupalu, a svým klientům, díky kterým jsem se při práci na jejich webech naučil mnoho nových věcí o tomto skvělém redakčním systému. Jan Polzer únor 2010, Brno
K1785.indd 15
23.3.2010 8:25:53
16
Úvodem
Komu je kniha určena Každý tip a trik je v knize označen pomocí jedné za tří úrovní pokročilosti, která po čtenářích buď vyžaduje, nebo nevyžaduje určité znalosti Drupalu. V knize si tak najdou svoje tipy a triky jak začátečníci, tak pokročilí tvůrci webů v Drupalu. Skuteční znalci zase mohou kromě tipů a triků v knize nalézt postupy popisující velmi pokročilé využití Drupalu. Předpokládá, že umíte Drupal nainstalovat, ale nevyžaduje znalosti jeho užívání. začátečník
pokročilý
Předpokládá, že již Drupal používáte na běžné úrovni a pomůže vám rozšířit si znalosti.
znalec
Předpokládá velmi dobrou znalost Drupalu a popisuje pokročilé a sofistikované postupy.
Doprovodné CD Na CD najdete instalaci Drupalu včetně české lokalizace a řadu modulů navíc, dále vizuální editory pro Drupal, zdrojové kódy příkladů z knihy a řadu užitečných programů. CD stačí vložit do počítače a rozhraní se spustí automaticky. Pokud máte zakázáno automatické spouštění, pak přejděte na CD a v kořenovém adresáři otevřete soubor spustit_CD.html. Jestliže otevřete CD v Internet Exploreru, Opeře nebo Google Chrome, budete z CD moci rovnou instalovat doprovodný software. V případě jiných prohlížečů budete vyzváni k uložení instalátoru na disk. V takovém případě doporučujeme spustit instalaci přímo z CD. Obsah CD najdete ve složce Obsah. Všechny moduly, doplňky a doprovodné programy popisované v tipech a tricích najdete na přiloženém CD.
K1785.indd 16
23.3.2010 8:25:53