načítání...
nákupní košík
Košík

je prázdný
a
b

Mistrovství v Joomla! Kompletní průvodce - Mark Dexter; Louis Landry

  > > > > Mistrovství v Joomla! Kompletní průvodce  

Elektronická kniha: Mistrovství v Joomla! Kompletní průvodce
Autor: ;

Nemáte žádné zkušenosti s vývojem v systému Joomla!? Nebo jste pokročilejší vývojáři, kteří se chtějí od expertů naučit užitečné tipy a triky z praxe? Postupné vysvětlení všeho, co budete potřebovat, ...


Produkt teď bohužel není dostupný.

»hlídat dostupnost

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: Computer press
Dostupné formáty
ke stažení:
PDF
Počet stran: 559
Rozměr: 23 cm
Úprava: ilustrace
Vydání: 1. vyd.
Název originálu: Joomla! Programming
Spolupracovali: překlad Jiří Berka
Jazyk: česky
Médium: e-book
ADOBE DRM: bez
ISBN: 9788025147429
Ukázka: » zobrazit ukázku
Popis

Nemáte žádné zkušenosti s vývojem v systému Joomla!? Nebo jste pokročilejší vývojáři, kteří se chtějí od expertů naučit užitečné tipy a triky z praxe? Postupné vysvětlení všeho, co budete potřebovat, uspořádání tohoto výukového průvodce a důraz na jednoduchou metodiku výkladu vám umožní ovládnout systém Joomla! rychle a dokonale. Každý krok průvodce je podán tak, abyste rozuměli tomu, co děláte a proč. Pokud jste zkušenější, můžete první dvě kapitoly jen prolistovat a začít až kapitolou třetí. Pokud nejste tak zkušení, bude pro vás nejlepší projít všemi kapitolami. Knihu lze navíc také jednoduše použít jako referenční příručku. Autoři se v knize věnují mimo jiné těmto tématům: Co je Joomla! a jak funguje Rozšiřování systému pomocí pluginů a modulů Řadiče, modely, pohledy a JForm Příklady frontendové i backendové části komponenty Práce s databázemi Využití JavaScriptu a MooTools Platforma Joomla! jako aplikační framework Typy filtrů, metody JHtml Na konci knihy naleznete slovníček všech důležitých pojmů použitých v publikaci. O autorech: Mark Dexter začal se systémem Joomla! pracovat v roce 2008. Vyvinul značné úsilí v různých oblastech projektu, včetně uživatelských fór, ve vytváření dokumentace a nápovědy. Aktivně se účastnil vývoje systému Joomla! od roku 2009 včetně odstraňování chyb, přidávání nových funkcí a koordinace ve vydávání nových verzí systému Joomla! Žije v Seattlu, ve státě Washington. Louis Landry napsal velkou část systému Joomla! verze 1.5 a 1.6 a po dobu pěti let byl hlavním architektem tohoto projektu. Na své univerzitě byl zakládajícím členem týmu zabývajícího se robotikou. Žije v Silicon Valley v Kalifornii. (kompletní průvodce vývojáře)

Předmětná hesla
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky






Mark Dexter
Louis Landry
Mistrovství v Joomla!
Kompletní průvodce vývojáře
Computer Press
Brno
2013





Mistrovství v Joomla!
Kompletní průvodce vývojáře
Mark Dexter, Louis Landry
Překlad: Jiří Berka
Obálka: IMIDEA
Odpovědný redaktor: Libor Pácl
Technický redaktor: Jiří Matoušek
Translation © Jiří Berka, 2013
Authorized translation from the English language, entitled JOOMLA! PROGRAMMING; ISBN
013278081X; by Dexter, Mark and by Landry, Louis; published by Pearson Education, Inc, publishing
as Addison-Wesley Professional.
Copyright © 2012 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from Pearson Education, Inc. CZECH language edition
published by ALBATROS MEDIA a.s., branch Brno. Copyright © 2013.
Objednávky knih:
http://knihy.cpress.cz
www.albatrosmedia.cz
eshop@albatrosmedia.cz
bezplatná linka 800 555 513
ISBN 978-80-251-3740-6
Vydalo nakladatelství Computer Press v Brně roku 2013 ve společnosti Albatros Media a. s. se sídlem
Na Pankráci 30, Praha 4. Číslo publikace 16 891.
© Albatros Media a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována
a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného
souhlasu vydavatele.
1. vydání





Stručný obsah
Předmluva 21
1. Co je to vývoj systému Joomla! 29
2. Jak připravit vaši pracovní stanici pro vývoj v systému Joomla! 47
3. Jak pracuje systém Joomla! 71
4. Rozšiřování aplikací Joomla! pomocí překrývání rozvržení 119
5. Rozšiřování systému Joomla! pomocí pluginů 165
6. Rozšiřování systému Joomla! pomocí modulů 211
7. Komponenty Část I: řadiče a modely 249
8. Komponenty Část II: pohledy, JForm a frontend 283
9. Komponenty Část III: příklad backendové části komponenty 323
10. Komponenty Část IV: příklad frontendové části komponenty 369
11. Práce s databází 413
12. JavaScript a MooTools v systému Joomla! 449
13. Platforma Joomla! jako aplikační framework 481
A. Rychlokurz PHP a objektově orientovaného programování 503
B. Typy filtrů v systému Joomla! 525
C. Metody JHtml 529
Slovníček 535
Rejstřík 541










Obsah
Předmluva 21
Zkušení uživatelé Joomla!, nováčci v programování 21
Zkušení programátoři webových stránek, nováčci v systému Joomla! 21
Když potřebujete rychle začít ve verzi 2.5 22
Když potřebujete vědět více o tom,
jak Joomla! funguje a jak vyvíjet rozšíření 22
O čem tato kniha není 22
Jak je tato kniha uspořádaná 22
Problém vývoje webových stránek:
Příliš mnoho věcí, které je třeba znát 23
Co je nového ve verzi Joomla! 2.5 23
Systém pro řízení přístupu 24
Kategorie úrovní definovaných uživatelem (už žádné další sekce!) 24
JForm 24
JTableNested 24
JDatabaseQuery 24
PHP verze 5.2 25
MySQL verze 5.0.4 25
Formát jazykového souboru 25
Aktualizace na jedno kliknutí 25
Vylepšený vzor MVC 25
Podpora jiných databází 25
Dokonalejší vyhledávání 26
Doprovodná stránka 26
Vítejte ve vývoji v systému Joomla! 26
Poděkování 27
O autorech 27
Zpětná vazba od čtenářů 27
Errata 28
Kapitola 1
Co je to vývoj systému Joomla! 29
Vývoj v systému Joomla! není obtížný 29
Technické prostředí systému Joomla! 29
Programování v systému Joomla!: co potřebujete znát 31





6 OBSAH
Rozšiřování systému Joomla!: jaké máme možnosti 32
Otevřený software znamená, že jej ovládáte 32
Přepisování vám umožní měnit to, co stránky zobrazují 33
Rozšíření 34
Pluginy 34
Moduly 37
Komponenty 38
Jazyky 38
Šablony 41
Jaké rozšíření bychom měli ve svém projektu použít 42
Použití systému Joomla! jako platformy nebo frameworku 44
Shrnutí 45
Kapitola 2
Jak připravit vaši pracovní stanici
pro vývoj v systému Joomla! 47
Požadavky pro spuštění systému Joomla! 47
Složka DocumentRoot serveru Apache 48
Získávání aktuálních pokynů 49
Platformy systému Windows 49
Poznámka k Microsoft IIS a serveru SQL 49
Platforma systému Mac OS X 50
Platformy Linuxu 50
Výchozí vlastník souborů a složek 50
Pracovní nástroje 51
IDE versus textový editor 51
Výběr IDE s otevřeným zdrojovým kódem 52
Eclipse 52
PHPEclipse 59
NetBeans 60
Eclipse nebo NetBeans? 64
Komerční prostředí IDE 66
Výběr textového editoru 67
Notepad++ 67
Ostatní nástroje 68
Software pro správu verzí 68
Software pro automatické sestavování (Ant a Phing) 68
Automatizované testovací programy 69
Shrnutí 69
Kapitola 3
Jak pracuje systém Joomla! 71
Prohlídka složek systému Joomla! 71
Frontend versus backend 72
Cache 73





7 OBSAH
CLI 73
Components 73
Images 75
Includes 76
Installation 77
Language 77
Libraries 77
Logs 78
Media 78
Modules 78
Plugins 79
Templates 79
Tmp 80
Administrator 80
Administrator/Cache 81
Administrator/Components 81
Administrator/Help 81
Administrator/Includes 81
Administrator/Language 81
Administrator/Manifests 83
Administrator/Modules 83
Administrator/Templates 84
Administrator/index.php 85
Soubory 85
Platforma systému Joomla! 86
Programování webu versus „normální“ programování 88
Správa stavu programu 88
Řízení a prověřování příkazů 90
Analýza prováděcího cyklu systému Joomla! 92
Načtěte soubor Index.php 92
Zkontrolujte prostředí spouštění programů 93
Definujte umístění souborů 94
Načtěte framework Joomla! 96
Zahajte relaci nebo v ní pokračujte 97
Zpracujte adresu URL 98
Spusťte komponentu 100
Vykreslete stránku 105
Výstup stránky 109
Shrnutí relace Joomla! 111
Zásady vytváření názvů (tradiční moudrost?) 111
Globální objekty 113
Přehled databázových tabulek 113
Poznámka o předponách tabulek 113
Shrnutí 117





8 OBSAH
Kapitola 4
Rozšiřování aplikací Joomla! pomocí překrývání rozvržení 119
Základy práce se šablonami 120
Složky a soubory šablon 120
Soubor index.php šablony 121
Pozice v šablonách 124
Parametry šablon 127
Modul Chrome 130
Kopírování šablony 132
Přepis výstupu šablony nejnovějšího modulu článku 135
Konfigurace modulu v ukázkových datech: loadposition 135
Tvorba souboru pro přepis výstupu 137
Úprava rozvržení 138
Řešení problému pomocí funkce strip_tags 140
Použití metody truncate třídy JHtmlString 142
Použití JHtml::_Syntax 145
Změna vzhledu komponenty: registrace uživatele 147
Alternativní rozvržení 151
Jak přidat rozvržení pro novou položku nabídky 152
Přepis parametrů 153
Jak pracuje přepis rozvržení? 155
Přepis jiných součástí, než je rozvržení 155
Module Chrome: Přidejte nový styl modulu 155
Jazyková překrytí: Přidejte k našemu překrytí překlad 160
Překrývání tabulek a modelů 163
Shrnutí 163
Kapitola 5
Rozšiřování systému Joomla! pomocí pluginů 165
Co je to plugin? 165
Jak pluginy fungují? 166
Zásady pro vytváření názvů pluginů 166
Typy pluginů: kam můžete plugin vkládat? 166
Authentication 167
Test Captcha 167
Content 167
Editors 167
Editors-XTD 167
Extension 167
Search 167
Smart Search (finder) 168
System 168
User 168





9 OBSAH
Prohlídka vybraných klíčových pluginů 168
Systém: SEF 168
Kde se aktivuje? 168
Co dělá plugin? 170
Ověřování: složka joomla 171
Jak se spouští? 171
Co dělá? 172
Obsah: složka joomla 178
Jak se spouští? 178
Co dělá? 179
onBeforeCompileHead 183
Jak se spouští? 183
Co dělá? 183
Plugin pro registraci uživatele 188
Aktualizace překrývajícího souboru se schvalováním 188
Přidejte soubor XML 189
Přidejte soubor PHP pluginu 190
Přidejte jazykové soubory 192
Otestujte plugin 193
Zabalte plugin 194
Vylepšený plugin pro registraci uživatele 196
Vytvořte XML soubor pluginu 197
Vytvořte nový XML soubor formuláře 197
Vytvořte PHP soubor pluginu 199
Přidejte jazykové soubory 200
Otestujte plugin 201
Zabalte plugin 202
Přidání parametrů do pluginu 202
Použití pluginů k překrytí klíčových tříd 204
Jak se pluginy importují 205
Jak se zavádějí třídy systému Joomla! 205
Příklad: překrytí třídy JTableNested 206
Nejvhodnější zvyklosti u pluginů 208
Shrnutí 209
Kapitola 6
Rozšiřování systému Joomla! pomocí modulů 211
Co je to modul 211
Moduly versus komponenty 211
Prohlídka klíčových modulů 212
XML soubor modulu 212
Soubor hlavního modulu 213
Pomocná třída modulu 216
Výchozí soubor rozvržení 219
Zobrazení článku od aktuálního autora 221
Struktura modulu 221





10 OBSAH
XML soubor modulu 221
Vstupní soubor: mod_joompro_articles_author.php 226
Soubor helper 227
Soubor rozvržení: default.php 238
Jazykové soubory 239
Validace parametrů ve třídě JForm 240
Kontrola hodnot v metodě helper 240
Typ integer ve třídě JForm 240
Celočíselný filtr ve třídě JForm 241
Vlastní třída JFormRule 242
Chybové hlášení při validaci 243
Validace seznamu 245
Soubor s nápovědou 247
Balení modulu 247
Revize našeho modulu 248
Osvědčené postupy při práci s moduly 248
Shrnutí 248
Kapitola 7
Komponenty Část I: řadiče a modely 249
Co je to komponenta 249
CRUD, Get a Post 250
Komponenty jsou jedinečné 250
Návrhový vzor MVC 250
Komponenta Odkazy v backendu 251
Instalační soubory 253
Nabídka komponent 253
Možnosti komponenty (parametry) 254
Pomocné metody 255
Vstupní bod komponenty Odkazy 256
Činnost řadiče komponenty Odkazy 257
Příklad 1: Uživatel vybírá možnost z nabídky Komponenty -> Odkazy 257
Příklad 2: Uživatel klikne na Titulek odkazu pro editaci 257
Příklad 3: Uživatel klikne na Uložit & Nový ve formuláři pro editaci 260
Příklad 4: Uživatel přesune některé odkazy do koše 260
Mapování úkolů na metody 261
Použití modelu 265
Úkoly, třídy a metody řadiče Weblinks 268
Přehled řadičů v komponentách 270
Modely komponenty Odkazy 271
Metoda modelu publish() 273
Metoda modelu save() 278
Ostatní metody modelu 278
Třída komponenty Weblinks pro práci s tabulkami 279
Metoda load() 279
Metoda bind() 279
Metoda store() 280
Metoda check() 281
Shrnutí 281





11 OBSAH
Kapitola 8
Komponenty Část II: pohledy, JForm a frontend 283
Pohledy a metoda display() 283
Pohled Weblinks 284
Metoda display() třídy JController 285
Metoda display() třídy WeblinksViewWeblinks 285
Výchozí soubor rozvržení 287
Administrativní operace 288
Sekce A: filtr nadpisů 288
Sekce B: filtr pro výběr seznamu 289
Sekce C: Pole pro zaškrtávání všech položek 290
Sekce D: Záhlaví pro řazení sloupců 290
Sekce E: Položky odkazů 290
Sekce F: Ovládání stránkování 294
Výchozí pohled a platforma Joomla! 294
Pohled WeblinksViewWeblink 294
Použití třídy JForms v komponentě Odkazy 295
Metoda getForm() modelu WeblinksModel 295
Ukládání objektu JForm do paměti 299
Dynamická úprava formulářů 300
Vykreslování JForm 301
Soubor Edit.php 301
Shrnutí rozhraní backend komponenty Odkazy 306
Frontendová komponenta Odkazy 306
Podobná struktura složek a vzoru MVC 306
Typy položek nabídky 309
Element fields s názvem request 310
Element fields s názvem params 311
Frontendové směrování 311
Něco o uživatelsky přívětivých adresách URL (SEF URL) 311
Nejvhodnější metoda pro adresu URL 312
Sestavování adresy URL 314
Parsování adresy URL 320
Pohled zpravodajského kanálu ve frontendu 321
Shrnutí 322
Kapitola 9
Komponenty Část III: příklad backendové
části komponenty 323
Přehled funkcí ukázkové komponenty 323
Podrobný návrh 324
Soubory v backendu 325
Obrazovka Správce kanálů 327
Výchozí řadič 327
Řadič podmanažera a činnosti panelu nástrojů 329
Pohled správce 332
Pomocná třída 335





12 OBSAH
Model Manager 337
Databázové tabulky 341
Rozvržení obrazovky správce 343
Správce kanálů: Nový a Upravit 347
Úkoly řadiče 348
Pohled pro nový odběr a editaci 350
Model pro nový odběr a editaci 352
Formulář pro novou položku a editaci 356
Třída Table 361
Jazykové soubory 364
Instalace a konfigurace 365
Shrnutí 367
Kapitola 10
Komponenty Část IV: příklad frontendové
části komponenty 369
Přehled souborů 369
Instalační soubor XML 369
Vstupní bod komponenty 370
Výchozí řadič 371
Pohled kategorie kanálu 372
XML soubor položky nabídky 372
Pohled kategorie 374
Model 379
Pomocný soubor kategorie 383
Soubory rozvržení kategorie 384
Pohled zpravodajského kanálu 388
Metody řadiče pro editaci kanálů 388
Pohled editace a formulář 390
Rozvržení pro editaci 393
Úkol subscribe (odběr kanálu) 394
Metoda řadiče Validate 396
Model formuláře 398
Rozvržení Thank-You 401
Jazykový soubor 403
Balení komponenty 404
Nová funkčnost: sestava odběrů kanálů v backendu 405
Nové tlačítko panelu nástrojů 406
Metoda řadiče pro nový úkol 406
Nová třída modelu 407
Metoda řadiče pro export souboru 410
Sestava v činnosti 411
Úvahy v reálném světě 412
Shrnutí 412





13 OBSAH
Kapitola 11
Práce s databází 413
Přehled databází 413
Vytváření a modifikace tabulek pomocí příkazů DDL 415
Příkaz CREATE TABLE 415
Primární klíče, Auto_Increment a cizí klíče 416
Indexy 417
Datové typy 418
INT/INTEGER 418
TINYINT 419
VARCHAR 419
CHAR 419
DATETIME 419
TEXT 420
MEDIUMTEXT 420
DECIMAL 420
FLOAT a DOUBLE 420
Atributy sloupců 420
NOT NULL 420
AUTO_INCREMENT 420
DEFAULT 420
UNSIGNED 421
Příkaz ALTER TABLE 421
Příkaz DROP TABLE 422
Používání phpMyAdmin 422
Testování a odlaďování dotazů SQL 422
Skripty DDL create 424
Zálohování a kopírování databáze 426
Práce s daty SQL pomocí příkazů DML 427
Příkaz SELECT 427
Seznam sloupců 427
Klauzule FROM 428
Klauzule JOIN 429
Klauzule WHERE 431
Klauzule ORDER BY 432
Klauzule LIMIT 432
Agregační dotazy s klauzulí GROUP BY 432
Příkaz UPDATE 434
Příkaz INSERT 434
Příkaz DELETE 435
Příkaz UNION 435
Použití výrazů v dotazech 436
Návrh struktury tabulky 436
Referenční tabulky 437
Klíče a cizí klíče 437
Mapovací tabulky 437
Historické tabulky 438





14 OBSAH
Práce s databází v systému Joomla! 439
Použítí JDatabaseQuery 439
Vytvoření objektu JDatabaseQuery 439
Příkazy SELECT s JDatabaseQuery 440
Ochrana proti hackerům 441
Řetězení metod 442
Grupování pomocí JDatabaseQuery 443
Příkazy Insert pomocí JDatabaseQuery 443
Příkazy Update pomocí JDatabaseQuery 444
Příkazy Delete pomocí JDatabaseQuery 444
Příkazy Union pomocí JDatabaseQuery 444
Práce s daty dotazů 445
Příkazy INSERT, UPDATE a DELETE 445
Dotazy SELECT 445
Vracení výsledků dotazu 446
Shrnutí 448
Kapitola 12
JavaScript a MooTools v systému Joomla! 449
Co je to JavaScript 449
Jak pracuje JavaScript 450
Co je to MooTools 451
Jak se v systému Joomla! používají JavaScript a MooTools 452
Zabudované funkce jazyka JavaScript 452
Calendar 452
Caption 454
Colorpicker 455
Validace formuláře 456
Deaktivování činnosti Submit nebo Save 457
Framework 458
Highlighter 459
Keepalive 459
Modal 460
Modální okno pro konfiguraci uživatele 461
Modální okno selektoru článků 462
Check All a Multiselect 465
Check All 465
Multiselect 466
Noframes 466
Switcher 466
Tooltip 469
Tree 470
Uploader 472
Použití rozšíření MooTools 473
Používání technologie AJAX v systému Joomla! 474
Použití jiných javaskriptových frameworků 477
Shrnutí 479





15 OBSAH
Kapitola 13
Platforma Joomla! jako aplikační framework 481
Co je to platforma Joomla! 481
Proč mít samostatný projekt 482
K čemu lze platformu použít 482
Platforma: příklady programů 483
Instalace platformy 483
CLI aplikace Hello World 484
Webová aplikace Hello WWW 486
Příklad sledování zpravodajského kanálu 487
Struktura projektu 488
Konfigurační soubor 488
Soubor pro sledování 489
Soubor pro sledování odběrů kanálů 491
Spuštění monitorovacího programu 500
Spouštění programů CLI uvnitř Joomla! CMS 501
Shrnutí 501
Příloha A
Rychlokurz PHP a objektově orientovaného programování 503
Struktura souborů PHP 503
Soubory pouze s kódem PHP 503
Soubory s kódem PHP i HTML 503
Základy syntaxe PHP 504
Prázdné znaky 504
Důležité znaky 504
Obecné operátory 506
Aritmetické operátory a spojování řetězců 506
Určení typu proměnné 506
Logické operátory 506
Příkazy if 507
Příkaz switch 508
Příkazy cyklu 509
Cyklus foreach 509
Cyklus for 509
Cyklus do/while 510
Příkaz continue 510
Alternativní syntaxe 510
Proměnné 511
Deklarace proměnných 511
Obor proměnných 511
Pole 512
Práce s poli 513
Řetězce 513





16 OBSAH
Konstanty a aktuální složka 513
Funkce a metody 514
Struktura funkce 514
Rozsah funkčních proměnných 514
Předávání proměnných odkazem 515
Včleňování souborů a typů souborů 515
Soubory pro deklarace tříd 515
Soubory pro deklarace funkcí 516
Jednoduchý skript 516
Smíšené soubory 517
Začleňování souborů 517
Základy objektově orientovaného programování 517
Třídy a objekty 517
Metoda konstruktoru 518
Vytváření objektů 518
Standardní třída 518
Extends a dědičnost 519
Překrývání metod 519
Modifikátory public, protected a private 520
Statické metody, položky a proměnné 520
$this, self a parent 520
Jednoduché ladění 521
Prohlížení definovaných proměnných 521
Trasování zásobníku 521
Některé pokročilé postupy v programování 522
Použití logického operátoru || místo příkazu if 522
Řetězení metod 522
Magické metody PHP 522
Proměnné s názvy tříd a metod 524
Regulární výrazy 524
Příloha B
Typy filtrů v systému Joomla! 525
Filtrování HTML 525
Použití filtrace v aplikacích Joomla! 526
Filtrace ve třídě JForm 526
Filtrování ve třídách JRequest a JInput 527
Přímé použití třídy JFilterInput 527
Příloha C
Metody JHtml 529
Volání metod JHtml 529
Vlastní třídy JHtml 530
Metody třídy JHtml 530
Link 530
Image 530





17 OBSAH
Stylesheet 530
Script 530
Calendar 531
Date 531
Třídy ve složce HTML 531
Batch 531
Behavior 531
Category 531
Content 532
ContentLanguage 532
E-mail 532
Form 532
Grid 532
Image 532
JGrid 532
List 533
Select 533
Sliders 533
String 533
Tabs 533
Slovníček 535
Rejstřík 541










Tato kniha je věnována mnoha tvrdě pracujícím dobrovolníkům komunity Joomla!,
jejichž nadšený zápal dennodenně obnovuje autorovu víru v lidstvo.










Předmluva
Vývoj systému Joomla! zahrnuje širokou škálu činností. Jeden projekt se může týkat
jednoduchého přepsání souboru, které má změnit způsob prezentace stránky. Jiný projekt může vytvářet
rozšíření s mnoha komponentami, pluginy nebo moduly. Ačkoliv žádná kniha nemůže
poskytnout všechno všem, tato kniha obsahuje užitečné informace široké škále lidí od začátečníků bez
jakýchkoliv zkušeností s vývojem v systému Joomla! až po zkušené vývojáře, kteří potřebují ve
verzi 2.5 začít rychle pracovat.
Zkušení uživatelé Joomla!, nováčci
v programování
Už jste pravděpodobně byli v situacích, kdy jste zjistili, že pouhá změna parametrů nestačí na
to, aby vaše stránka vypadala tak, jak si přejete. Nebo možná potřebujete rozšíření, které se
zcela zásadně liší od toho, co byste našli v adresáři JED (Joomla! Extensions Directory). Pokud
tomu tak je, pak vám tato kniha pomůže začít s upravováním systému Joomla! psaním PHP
kódů. Pro elementární vývoj v systému Joomla! NENÍ naprosto zapotřebí, abyste byli odborníky
v programování. Uvědomte si, že systém Joomla! byl vyvinut nejen proto, abyste mohli vytvářet
webové stránky bez jakýchkoliv znalostí PHP nebo MySQL, ale také abyste mohli provádět řadu
úprav i s velmi skromnými znalostmi vývoje. Budete příjemně překvapeni, co všechno zmůžete
s docela malým množstvím kódu a jak rychle se můžete naučit to, co budete potřebovat
k rozšíření flexibility a funkčnosti systému Joomla!.
Tato kniha předpokládá, že o programování v PHP nebo v MySQL nevíte zhola nic. Vše, co
budeme dělat, si vysvětlíme od základů. Uvádíme zde rovněž odkazy na volně dostupné zdroje,
abychom vám umožnili lepší studium této problematiky.
Zkušení programátoři webových stránek,
nováčci v systému Joomla!
V tomto případě již máte základní technické znalosti, abyste se do toho mohli pustit. Potřebujete
pouze vědět, jak Joomla! pracuje. Tato kniha je uspořádaná tak, abyste mohli tyto informace
rychle nalézt. Ačkoliv zde uvádíme některé základní informace o PHP a MySQL, kniha je
uspořádaná tak, abyste mohli úseky, které již znáte, prostě přeskočit a mohli se soustředit na
konkrétní informace o systému Joomla!. Rovněž zde vysvětlíme různé volby v celkové architektuře
systému Joomla!, aby bylo jasné, proč byl tento program navržen právě takto.





22 PŘEDMLUVA
Když potřebujete rychle začít ve verzi 2.5
Verze 1.6 systému Joomla! se podstatně liší od veze 1.5 především z pohledu vývojáře. Verze 1.7
a 2.5 se liší od verze 1.6 jen inkrementálně. Tato kniha se zaměřuje pouze na verze 1.6/1.7/2.5
systému Joomla!. Kde je to vhodné, uvádíme rozdíly od verze 1.5 zvýrazněným stylem.
Když potřebujete vědět více o tom,
jak Joomla! funguje a jak vyvíjet rozšíření
Tato kniha vám poskytne množství znalecký ch pohledů nejen do problematiky, jak systém
Joomla! funguje, ale také proč byl navržen právě takto. V rámci každého velkého
a komplexního balíčku, jako je systém Joomla!, existuje množství přijatých rozhodnutí o projektu, které
mají pro vývojáře zásadní důsledky. Když pochopíte, jak vše funguje a jaké jsou nejlepší postupy
ve vývoji systému Joomla!, umožní vám to psát taková rozšíření, která dokážou plně využívat
výhod tohoto systému a jeho architektury a která bude jednoduché modifikovat a dále vyvíjet.
O čem tato kniha není
Tato kniha obecně nezahrnuje šablony Joomla! a nezabývá se problematikou vývoje. Rovněž
nepojednává o tom, jak systém Joomla! používat. K tomuto tématu existují jiné samostatné
knihy, které se tohoto úkolu zhošťují velmi dobře.
Vývojáři pracující v systému Joomla! používají různé nástroje, jako je PHP, SQL, XHTML, CSS
nebo JavaScript. Většina toho, o čem pojednává tato kniha, v sobě zahrnuje psaní kódu PHP.
Nepředpokládáme, že by čtenář již znal programování v PHP nebo SQL a kód, který v této knize
používáme, průběžně vysvětlujeme. Avšak tato kniha se nepokouší čtenáře naučit kódy PHP
a SQL do hloubky. Tam, kde je to vhodné, odkazujeme čtenáře na další zdroje, které mohou
uvedené informace doplnit.
Jak je tato kniha uspořádaná
Uspořádání této knihy je směrem od jednoduchého ke složitému. Pokud jste v systému Joomla!
zkušení vývojáři, můžete první dvě kapitoly jen prolistovat a začít až třetí kapitolou. Pokud
nejste tak zkušení, bude pro vás nejlepší prokousat se postupně všemi kapitolami, i když byste
možná chtěli přeskočit některé z podrobností, ve kterých se zabýváme pokročilejšímí úvahami
o návrzích.
Záměrem této knihy je také to, aby se dala jednoduše použít i jako referenční příručka. Pokud
budete začínat s projektem typu plugin, můžete jít přímo na kapitolu 5 a pak teprve podle potřeby
a vašich zkušeností čerpat z předchozích kapitol.
Tato kniha obsahuje řadu podrobností s dalšími informacemi včetně výkladu o tom, proč
systém Joomla! funguje právě takto, o dodatečných informacích týkajících se bezpečnosti i o jiných
důležitých otázkách a tématech, která nejsou nezbytně nutná pro to, abyste ve čtení této knihy
mohli pokračovat. Tyto podrobnosti vám usnadní volbu, zda číst témata, která vás mohou
zajímat, anebo zda je přeskočit. Ke kterémukoliv z nich se můžete vrátit později.





23 PŘEDMLUVA
Každý způsob vývoje obsahuje kurz krok za krokem. Autoři jsou přesvědčeni, že nejlepším
způsobem, jak něčemu porozumět, je vytvořit funkční vzorek. Každý krok kurzu je podán tak,
abyste rozuměli tomu, co děláte a proč to děláte.
Problém vývoje webových stránek:
Příliš mnoho věcí, které je třeba znát
Jedním z náročných aspektů vývoje webových stránek – zvláště pro začátečníky – je
množství témat, která potřebujeme alespoň trochu znát. Například v typickém vývojovém projektu
v systému Joomla! budeme téměř jistě pracovat s kódem PHP a s příkazy SQL. Práce s jazykem
HTML a XML je zcela běžná a někdy budete potřebovat znalost stylů CSS a jazyka JavaScript.
Abyste připravili na svém počítači pracovní prostředí, budete potřebovat nainstalovat
a nakonfigurovat webový server, jako je Apache nebo Microsoft Internet Information Services (IIS),
a rovněž nainstalovat a nakonfigurovat funkční software pro PHP a MySQL.
To je docela dost témat, která by bylo třeba znát – a to jsme se systémem Joomla! ještě ani
nezačali! Každé z těchto témat by stačilo na samostatnou knihu a nikdo nemůže reálně doufat, že
by mohl být odborníkem na všechno.
Naštěstí pro vývoj programů v systému Joomla! nepotřebujete být expertem v žádném z těchto
oborů. Avšak je třeba vědět, jak tato témata spolu souvisejí, a mít o každém s nich po ruce dost
informací, abyste se mohli pustit do práce.
Tato kniha nepředpokládá, že máte hluboké znalosti ve kterémkoliv z těchto oborů. Cokoliv
o nich budete potřebovat vědět, vám vysvětlíme za pochodu. Aby se rozsah této knihy dal
zvládnout, poskytujeme vám jen ty informace, které potřebujete k porozumění předkládaného
materiálu. Po nich následuje seznam zdrojů, které vám umožní daný předmět pochopit do větší hloubky.
Co je nového ve verzi Joomla! 2.5
Verze 1.6 systému Joomla! byla vydaná v lednu roku 2011. Od verze 1.5 se lišila v mnoha
důležitých věcech. Počínaje verzí 1.6 se projekt Joomla! zavázal k vydání nové verze každých šest měsíců
a k nové dlouhodobé podpoře (long-term-support LTS) každých osmnáct měsíců. Výsledkem
bylo, že verze 1.7 vyšla v červenci roku 2011 a verze 2.5 v lednu roku 2012.
Proč poskočilo číslo verze z 1.7 hned na 2.5? Bylo to proto, aby všechna vydání LTS mohla být
číslována ve formátu X.5, kde X znamená číslo hlavního vydání. Verze 1.5 byla verzí vydání
LTS. Verze 2.5 je verzí vydání LTS pro řadu 1.6/1.7/2.5. Verze 3.5 (chystaná na červenec 2013)
bude příštím vydáním LTS po verzích 3.0 (červenec 2012) a 3.1 (leden 2013).
Tato kniha se zabývá systémem Joomla! verze 2.5. Protože hlavním cílem této knihy je
pomáhat vývojářům s přechodem z verze 1.5, zvýraznili jsme místa, která jsou odlišná od verze 2.5.
Verze 1.6 byla významnou aktualizací, která zahrnovala množství důležitých změn. Verze 1.7
obsahovala některé menší nové vlastnosti a verze 2.5 více doplňkových vlastností. Ty
nejdůležitější uvádíme zde.





24 PŘEDMLUVA
Systém pro řízení přístupu
Verze 1.6 má navíc nový systém řízení přístupu (A CL – access control list), který umožňuje
správcům webových stránek jemně dolaďovat přístupová práva různých skupin uživatelů k činnostem,
které smí v systému Joomla! dělat jako uživatel či jako administrátor. Tento systém je neobyčejně
výkonný a pružný a pro vývojáře třetí strany je jednoduché do něj proniknout. Vysvětlíme si,
jak systém funguje a co potřebujete znát, abyste ve svých projektech využili veškeré jeho výhody.
Kategorie úrovní definovaných
uživatelem (už žádné další sekce!)
Dřívější verze systému Joomla! měly dvě pevně dané úrovně pro články nazvané sekce
a kategorie. Sekce byly ve verzi 1.6 odstraněny. Místo toho můžete vytvářet své vlastní struktury
kategorií. Můžete mít například jednoduchou strukturu kategorií pouze s jednou úrovní, můžete mít
kategorie, podkategorie, podpodkatergorie atd. – do libovolné (rozumné) hloubky. To umožňuje
pracovat s jednoduššími i komplexnějšími strukturami, než byly k dispozici dříve.
Tato vlastnost je navržena tak, aby vývojářům usnadnila vkládání této vlastnosti do jejich
vlastních doplňků.
JForm
Ve verzi 1.5 jste mohli jednoduchým způsobem vytvářet obrazovky pro nastavování parametrů
pomocí třídy JParameter. Ve verzi 1.6 je tato třída nahrazena novou třídou nazvanou JForm,
která umožňuje ve vašich aplikacích vytvářet chytré formuláře. Tato třída vám poskytuje
dobrou kombinaci flexibility a jednoduchosti, když potřebujete v systému Joomla! vytvářet
formuláře pro zadávání dat. Všechny obrazovky pro správce webu byly ve verzi 1.6 systému Joomla!
přepsány pomocí třídy JForm.
Jedním z důsledků této změny je jiný formát souborů XML pro rozšíření. Toto téma budeme
probírat v každé z kapitol, která se týká psaní rozšíření.
JTableNested
Třída JTableNested je novou základní třídou pro kategorie, nabídky a jiné tabulky, které
umožňují práci s vnořenými úrovněmi položek. Poskytuje rozhraní API a usnadňuje vývojářům tvorbu
tabulek založených na vnořených blocích kódu.
JDatabaseQuery
JDatabaseQuery je nová třída, která v systému Joomla! zjednodušuje psaní složitých příkazů
SQL. Poskytuje vám aplikační programovací rozhraní (API), abyste mohli vytvářet příkazy SQL
v logice, která je založena na logické struktuře dotazu. To vám značně usnadní psaní a údržbu
složitých dotazů SQL. Ve svých dotazech SQL tuto novou třídu nebudete muset používat. Doufáme
ale, že budete souhlasit s tím, že se v systému Joomla! jedná o lepší způsob práce s dotazy SQL.





25 PŘEDMLUVA
PHP verze 5.2
Systém Joomla! verze 1.5 musel být kompatibilní s jazykem PHP verze 4. To omezovalo rozsah,
v jakém mohl tento systém využívat výhod objektově orientovaného programování (OOP) ve
zdokonalené verzi 5.0 a 5.2 jazyka PHP.
Počínaje verzí 1.6 je zapotřebí mít verzi PHP 5.2, což této verzi umožňuje použít statické
a abstraktní třídy. Navíc jsou v PHP 5.2 veškeré objekty standardně předávány odkazem, což
znamená, že operátor &= (předání referencí) již nebude ve většině případů zapotřebí.
Nová verze PHP rovněž umožňuje systému Joomla! používat nativní třídu SimpleXML pro
parsování souborů XML a nativní třídu DateTime. Takže objekty JXMLElement a JDate byly podle
toho modifikovány a zjednodušeny.
MySQL verze 5.0.4
Systém Joomla! 1.6 vyžaduje MySQL verze 5.0.4 nebo vyšší. Tato verze MySQL poskytuje mnoho
vylepšení, včetně uložených procedur, spouští, pohledů a mnoha zlepšení výkonu. Rovněž zavádí
sloupce typu varchar.
Formát jazykového souboru
Systém Joomla! verze 1.6 představuje zásadní změnu ve formátu jazykových souborů. Dříve
používal systém Joomla! vlastní formát. Počínaje verzí 1.6 došlo k přechodu na standard
formátu souboru .ini jazyka PHP. To systému Joomla! umožnilo používat standardní příkaz PHP
parse_ini_file, který je mnohem rychlejší a jednodušší než předchozí speciální metoda.
To ale vyžaduje, aby se formát jazykových souborů tomuto novému standardu přizpůsobil.
Aktualizace na jedno kliknutí
Verze 2.5 umožňuje u webových stránek systému Joomla! automatickou aktualizaci. Administrátor
webových stránek je upozorněn, kdykoliv je připravená aktualizace klíčových souborů systému
Joomla! nebo libovolného rozšíření, které se na stránkách používá (za předpokladu, že
vývojář tuto vlastnost podporuje). Stránky mohou být aktualizovány pouhým kliknutím na tlačítko
Update (Aktualizujte). Instrukce pro nastavení této možnosti rozšíření je probírána na
doprovodných stránkách http://Joomlaprogrammingbook.com.
Vylepšený vzor MVC
Návrhový vzor MVC (model-view-controller: model, pohled, řadič) byl ve verzi 1.6 zdokonalen.
To znamená důslednější používání vzorů na straně správce webu a lepší opakované používání
kódu tak, že byl přesunut do standardních knihovních tříd všude, kde to bylo možné. Vzorem
MVC systému Joomla! se budeme podrobněji zabývat v kapitolách 7–10.
Podpora jiných databází
Verze 2.5 zavedla podporu jiných databází (kromě MySQL), počínaje serverem Microsoft SQL.
Podpora PostgreSQL je rovněž ve vývoji a předpokládáme, že bude přidána později.





26 PŘEDMLUVA
Dokonalejší vyhledávání
Verze 2.5 zavedla Smart Search. Jde o zcela nový vyhledavač, který značně zvyšuje kvalitu
a přesnost fulltextového prohledávání obsahu internetových stránek psaných v systému Joomla!.
Doprovodná stránka
Vytvořili jsme anglickou internetovou stránku http://Joomlaprogrammingbook.com, kam jsme
umístili další informace o programování v systému Joomla!. Máme zde rovněž komprimované
archivní soubory s kódy uvedenými v knize, uspořádané podle kapitol.
Uvnitř knihy se odkazujeme na výše uvedené anglické stránky, nicméně stejné soubory s kódy
naleznete i na na adrese http://knihy.cpress.cz/K2053 po klepnutí na odkaz Soubory ke stažení.
Vítejte ve vývoji v systému Joomla!
Vývojáři v systému Joomla! přicházejí z mnoha oblastí a s rozdílnými zkušenostmi v oblasti
vývoje softwaru. Mnoho z nich začínalo se stránkami v HTML a pak se zdokonalovali
v programování webových stránek s tím, jak pracovali se systémem Joomla!. Někteří získali v oboru
informatiky titul, někteří přišli z prostředí programování internetových stránek. Ostatní se učili
prostým používáním systému Joomla!, čtením a spoluprací s jinými.
Komunita vývojářů systému Joomla! se snaží být otevřená a vítá příchod nových lidí včetně
těch, kteří mají malé nebo nemají žádné zkušenosti s programováním, nebo těch, kteří nemají
formální technické vzdělání. Máme k dispozici řadu zdrojů, ve kterých se dočtete o různých
tématech a kde můžete klást otázky. Mezi nejdůležitější patří tyto:
 http://developer.Joomla.org je webová stránka zaměřená výhradně na vývoj v systému
Joomla!. Obsahuje informace o aktuálním stavu projektu a poslední novinky z oblasti
vývoje. Obsahuje rovněž odkazy na diskuzní Skupiny Google, které se zabývají
problematikou vývoje v systému Joomla!.
 http://docs.Joomla.org/Developers je vstupním bodem pro veškerou
dokumentaci online umístěnou na wiki stránkách systému Joomla!, které se týkají jeho vývoje.
Všimněte si, že jde o wiki stránky, které provozuje jeho komunita. Může se zde
kdokoliv zaregistrovat a kdokoliv může aktualizovat jejich obsah či přidávat nové informace.
 http://www.joomlaportal.cz je webová stránka pro práci v českém prostředí systému
Joomla! a je hlavním webem české komunity, která se zabývá propagací, psaním článků
a lokalizací tohoto systému. Obsahuje nové verze systému ke stažení, články a novinky
z webu, diskuzní fórum a často kladené dotazy.
Autoři doufají, že tato kniha usnadní lidem učení, jak vyvíjet programy v systému Joomla! bez
ohledu na jejich předchozí úroveň zkušeností.





27 PŘEDMLUVA
Poděkování
Komunita vyvíjející systém Joomla! vítá nově příchozí a zkušení vývojáři berou jako
samozřejmost jim pomáhat. Tato kniha by zřejmě nevznikla nebýt pomoci mnoha lidí z této komunity,
kteří mi odpovídali na mé otázky a pomáhali mi překlenout množství mezer v mých
znalostech. Chtěl bych zvláště poděkovat těm, kteří si tyto kapitoly přečetli a poskytli neocenitelnou
zpětnou vazbu: Andrea Tarr, Elin Waring, Omar Ramos, a Sam Moffatt. Nakonec bych chtěl
poděkovat své manželce Deb, jejíž podpora a povzbuzování (a příležitostný domácí karamel)
mě udržovaly v práci.
— Mark Dexter
O autorech
Mark Dexter psal programy už od sedmdesátých let minulého století. Je spoluzakladatelem jedné
softwarové společnosti, kterou vedl po dobu 28 let. Pak odešel do důchodu, aby se jako
dobrovolník věnoval práci v oblasti softwaru s otevřeným zdrojovým kódem. Začal se systémem Joomla!
v roce 2008 a v roce 2009 se připojil k týmu Production Leadership Team. Vyvinul značné úsilí
v různých oblastech projektu, včetně uživatelských fór, činnosti v Google Summer of Code, ve
vytváření dokumentace, nápovědy a činnosti v Bug Squad. Aktivně se účastnil vývoje systému
Joomla! od roku 2009 – včetně odstraňování chyb, přidávání nových funkcí a koordinace ve
vydávání nových verzí systému Joomla!. Žije v Seattlu, ve státě Washington.
Louis Landry napsal velkou část systému Joomla! verze 1.5 a 1.6 a po dobu pěti let byl hlavním
architektem tohoto projektu. Jeho první zkušenosti s počítači bylo hraní si s jazykem Basic na
počítači 286 v otcově kanceláři. Programoval v mnoha jazycích od nízkoúrovňového assembleru
X86 až po řízené jazyky, jako je Java nebo skriptovací jazyky, jako třeba PHP. Na své univerzitě
byl zakládajícím členem týmu zabývajícího se robotikou. Louis je nadšenec do aut a rád na nich
ve svém volném čase pracuje. Žije v Silicon Valley v Kalifornii.
Zpětná vazba od čtenářů
Nakladatelství a vydavatelství Computer Press, které pro vás tuto knihu přeložilo, stojí o
zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy:
Computer Press
Albatros Media a.s., pobočka Brno
IBC
Příkop 4
602 00 Brno
nebo
sefredaktor.pc@albatrosmedia.cz
Computer Press neposkytuje rady ani jakýkoli servis pro aplikace třetích stran. Pok ud budete
mít dotaz k programu, obraťte se prosím na jeho tvůrce.





Errata
Přestože jsme udělali maximum pro to, abychom zaji stili přesnost a správnost obsahu, chybám
se úplně vyhnout nelze. Pokud v některé z našich knih najdete chybu, ať už chybu v textu nebo
v kódu, budeme rádi, pokud nám ji oznámíte. Ostatní uživatele tak můžete ušetřit frustrace a
pomoci nám zlepšit následující vydání této knihy.
Veškerá existující errata zobrazíte na adrese http://knihy.cpress.cz/K2053 po klepnutí na odkaz
Soubory ke stažení.





1
KAPITOLA
Témata kapitoly:
 Vývoj v systému Joomla!
není obtížný
 Technické prostředí systému
Joomla!
 Programování v systému
Joomla!: co potřebujete
znát
 Rozšiřování systému
Joomla!: jaké máme
možnosti
 Jaké rozšíření bychom měli
ve svém projektu použít
 Použití systému Joomla!
jako platformy nebo
frameworku
 Shrnutí
Co je to vývoj
systému Joomla!
Tato kapitola popisuje různé způsoby, jakými lze rozšiřovat
a  upravovat funkcionalitu systému Joomla!. Abychom této
činnosti porozuměli, potřebujeme nejdříve popsat různé
programy, které se při tvorbě a běhu systému Joomla! používají.
Vývoj v systému Joomla!
není obtížný
Pokud se systémem Joomla! a s vývojem webových teprve
stránek začínáte, můžete se cítit ohromeni různými akronymy,
odbornou hantýrkou a novými pojmy. Avšak s malou dávkou
pomoci a vytrvalosti můžete při psaní kódu v systému Joomla!
dosáhnout toho, aby fungoval přesně tak, jak si přejete. Systém
Joomla! je navržen od základu tak, aby jej bylo možné
modifikovat a rozšiřovat. Mnoho lidí se v tomto systému úspěšně
naučilo psát programy i bez velkého technického vzdělání.
Při probírání témat této knihy budeme vysvětlovat každou
novou myšlenku či námět. Nebudeme předpokládat, že byste
cokoliv o systému Joomla! nebo o vývoji webových stránek
věděli. V případě potřeby vás odkážeme na obsáhlejší zdroje,
kterými můžete zaplnit své mezery nebo kde můžete studovat
uvedená témata do větších podrobností.
Technické prostředí
systému Joomla!
Během vývoje dynamických webových stránek čelí začátečníci
matoucímu množství akronymů a výrazů z odborné hantýrky.
Joomla! používá webové servery, jako je Apache nebo Microsoft
Internet Information Services (IIS), programovací jazyk PHP,
databázi MySQL, programovací jazyk JavaScript a dokumenty
typu HTML, XHTML a XML nebo CSS.





30 KAPITOLA 1  CO JE TO VÝVOJ SYSTÉMU JOOMLA!
Začněme se serverem. Je to počítač, na kterém jsou uloženy programové soubory systému
Joomla! a kde běží většina jeho kódu (ne všechen kód). Aby fungovala webová stránka systému
Joomla!, musí na serveru běžet následující tři programy:
 Webový server (Apache nebo Microsoft IIS)
 Programovací jazyk PHP
 Databáze (obvykle MySQL)
Webový server je software, který v podstatě umožňuje serveru spolupracovat s prohlížečem. Je
to most mezi vnějším světem a lokálními adresáři na serveru. Když prohlížeč požádá o adresu
URL, webový server ví, na kterém souborovém adresáři na serveru je tato adresa namapovaná,
a najde soubor, který se má spustit (například „index.php“).
PHP je hlavním programovacím jazykem, ve kterém je systém Joomla! napsán, a pro psaní
dynamických webových stránek je nejpopulárnějším programem na světě. Spo lupracuje se
softwarem webového serveru a vytváří dynamické stránky XHTML. Většina vývojových úloh se
v systému Joomla! provádí v PHP.
Server jako systém versus server jako stroj
Pokud hovoříme o  serveru v  souvislosti s  vývojem webové stránky, máme na mysli software,
který „obsluhuje“ kód HTML prohlížeče. V  typickém případě běží funkční webové stránky na
vzdáleném počítači nějaké webhostingové společnosti. Avšak když spouštíte systém Joomla!
lokálně (což během vývoje a testování děláme často), také hovoříme o serveru. V tomto případě
se jedná o serverový software (Apache nebo IIS), který běží na našem počítači.
Z technického hlediska fungují obě prostředí stejně. V obou případech spolu server i prohlížeč
komunikují pomocí protokolu TCP/IP. Jediným rozdílem je, že v  případě vzdáleného serveru
vykonávají odesílané i přijímané pakety TCP/IP mnohem delší cestu.
MySQL je databáze, kterou používá většina stanic systému Joomla!. Je to nejpopulárnější databáze
pro webové aplikace. Obsahuje téměř všechny informace o webových stránkách systému Joomla!.
Například kdykoliv do systému přidáte článek, nabídku nebo modul, ukládá se do databáze.
Pokud používáte systém Joomla! (nebo jakoukoliv jinou webovou stránku), vidíte ve svém
prohlížeči stránky v jazyce XHTML. Zkratka XHTML znamená extensible hypertext markup language
(rozšiřitelný hypertextový značkovací jazyk) a jde o vylepšenou verzi jazyka HTML. Většina
vývojářů v systému Joomla! potřebuje znát pracovní základy jazyka XHTML. Výsledkem
veškerého zpracování, které program Joomla! provádí, je zobrazení XHTML v prohlížeči. Pokud
v této knize budeme používat termín HTML, budeme mít na mysli jak HTML, tak i XHTML.
CSS znamená cascading style sheets – kaskádové styly. Kód CSS se používá ke „stylizaci“ neboli
k formátování kódu XHTML, aby jej prohlížeč zobrazil tak, jak chceme. CSS určuje například
velikost písma, jeho typ, barvu, mezery v textu a všechny ostatní aspekty zobraze


       

internetové knihkupectví ABZ - online prodej knih


Knihy.ABZ.cz - knihkupectví online -  © 2004-2017 - ABZ ABZ knihy, a.s.