Domů

Minule jsme skončili u vytvoření formuláře pro zadávání dat. Dneska si hotovou část komponenty počeštíme a konečně vytvoříme i instalační balíček.

Lokalizace

Jazykové soubory v administraci se pojmenovávají ve tvaru kod-jazyka.com_nazev_komponenty.ini a kod-jazyka.com_nazev_komponenty.menu.ini. Prvně jmenovaný slouží pro překlad komponenty jako takové a ten s příponou menu.ini, jak lze z názvu odvodit překládá položky v menu v administraci. Překlad se tvoři zvlášť pro administraci a zvlášť pro veřejnou část stránek. Ve veřejné části z pochopitelných důvodů nalezneme pouze prvně jmenovaný překladový soubor.

Jak následně uvidímě překlad se tvoří vlastně velice jednoduše. Ini soubor používá syntaxi ve tvaru PŘEKLADOVÝ ŘETĚZEC ZADANÝ VELKÝMI PÍSMENY=překlad. Překladový řetězec je ten text, který jsme zadali do metody JText::_(). V připadě překladu menu v administraci přijde na začátek COM_KOMPONENTA.POLOŽKA_MENU, kde POLOŽKA_MENU je text, který zadáme v instalačním XML souboru.  V našem případě se soubory budou jmenovat cs-CZ.com_simpleforum.ini a cs-CZ.com_simpleforum.menu.ini. V souboru s koncovkou menu.ini nám prozatím stačí dva řádky:

COM_SIMPLEFORUM=Fórum
COM_SIMPLEFORUM.SECTIONS=Sekce

Ani překladový soubor komponenty nebude o moc delší:

SECTIONS=Sekce
SECTION=Sekce
SUCCESSFULLY SAVED SECTION=Sekce byla úspěšně uložena
THIS ITEM IS CURRENTLY BEING EDITOR BY ANOTHER USER=Tato položka je právě upravována jiným uživatelem

I z této krátké ukázky můžeme zjistit několik faktů. Překladovým souborem menu.ini se nepřekládají titulky v panelu nástrojů, takže ty musíme uvést také zde. Druhou zajímavostí je, že i když jsme v naší komponentě použili texty jako Title, nebo Details, tak i když jsme je zde neuvedli, přesto budou přeloženy. V tomto nám Joomla vychází vstříc, tyto texty totiž překládá základní jazykový soubor, takže se o ně nemusíme starat.

Pro takto kratičké překlady není problém dělat vše ručně, ale v případě rozsáhlejších projektů nám přichází na pomoc Joomla. Stačí si v administraci v Globálním nastavení na záložce Systém v oddílu Nastavení Debug přepnout Debug jazyk na Ano a poté se v dolní části stránky začnou vypisovat nepřeložené řetězce včetně převedení na velká písmena. Jediná nevýhoda toho spočívá v tom, že takto nejsou zpracovány stavové informace typy SUCCESSFULLY SAVED ....

Vytvoření instalačního balíčku

Jelikož při instalaci se vytvářejí tabulky v databázi, tak začneme jak jinak právě souborem s SQL dotazy vytvářejícími potřebné tabulky:

CREATE TABLE IF NOT EXISTS #__sf_sections(id int(5) NOT NULL auto_increment, title varchar(255) NOT NULL,
checked_out int(5) NOT NULL, checked_out_time datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(id));

CREATE TABLE IF NOT EXISTS #__sf_categories(id int(5) NOT NULL auto_increment, title varchar(255) NOT NULL,
section_id int(5) NOT NULL,
checked_out int(5) NOT NULL, checked_out_time datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(id));

CREATE TABLE IF NOT EXISTS #__sf_posts(id int(5) NOT NULL auto_increment, title varchar(255) NOT NULL, description mediumtext NOT NULL,
section_id int(5) NOT NULL, category_id int(5) NOT NULL,
checked_out int(5) NOT NULL, checked_out_time datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(id));

V tomto souboru najdeme jedinou zajímavější informaci a to datové typy interních polí Joomla checked_out a checked_out_time. Protože id uživatele Joomla ukládá jako int(5) vytvoříme ve stejném datovém typu i pole checked_out. Druhé interní pole checked_out_time má předepsaný typ datetime s výchozí hodnotou 0000-00-00 00:00:00.

Nyní již následuje instalační XML soubor:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE install PUBLIC "SYSTEM" "http://dev.joomla.org/xml/1.5/component-self.install.dtd">
<install version='1.5.0' type='component' method='upgrade'>
<name>SimpleForum</name>
<creationDate>June 2010</creationDate>
<author>Filip Bartmann</author>
<authorEmail> Tato emailová adresa je chráněna před spamboty, abyste ji viděli, povolte JavaScript </authorEmail>
<authorUrl>http://joomladev.eu</authorUrl>
<copyright>(C) Filip Bartmann 2010. All rights reserved</copyright>
<license>GNU/GPL</license>
<version>0.1</version>
<description>
<![CDATA[Simple forum component
]]>
</description>
<install>
<sql>
<file charset='utf8' driver='mysql'>install.mysql.utf8.sql</file>
</sql>
</install>
<administration>
<menu>SimleForum</menu>
<submenu>
<menu controller="sections">Sections</menu>
</submenu>
<files folder='admin'>
<filename>install.mysql.utf8.sql</filename>
<filename>admin.simpleforum.php</filename>
<filename>controller.php</filename>
<filename>controllers/sections.php</filename>
<filename>models/sections.php</filename>
<filename>models/section.php</filename>
<filename>tables/section.php</filename>
<fileneme>tables/post.php</fileneme>
<filename>views/sections/view.html.php</filename>
<filename>views/sections/tmpl/default.php</filename>
<filename>views/section/view.html.php</filename>
<filename>views/section/tmpl/form.php</filename>
</files>
<languages folder='admin/languages'>
<language tag='cs-CZ'>cs-CZ.com_simpleforum.menu.ini</language>
<language tag='cs-CZ'>cs-CZ.com_simpleforum.ini</language>
</languages>
</administration>
</install>

Na první pohled se dá rozdělit na dvě části a to hlavičku(části <name><version>) a hlavní část. V hlavičce uvádíme jméno komponenty, to na rozdíl od modulů a pluginů musí odpovídat názvu komponenty za řetězcem com_ a pak naše údaje licenci a verzi a popis komponenty. Následuje uvedení jména souboru s SQL příkazy pro vytvoření tabulek, který jsme si před chvilkou vytvořili a pak část věnovaná samotné administraci. U SQL souboru si všimněte, že musí být uvedený i v části files v administrátorské části. Jeho neuvedení způsobí, že jej Joomla nenalezne. Zde můžeme zpozorovat vytvoření administrátorkého menu, které se skládá z položky uvedené v tagu <menu>, která se při instalaci vkládá přímo do menu Komponenty v administraci Joomly. Položky uvedené v tagu <submenu> se zobrazují jako podmenu hlavní položky. Položky <menu> v tomto tagu mohou obsahovat parametry jako controller(určuje, který který controller se použije), nebo url určující přímo URL v administraci. Jako předposlední oddíl následuje výpis souborů komponenty zabalený v tagu <files> s parametrem určujícím, kde v jakém adresáři v instalačním balíčku se nalézají. Podobně vypadá i poslední oddíl s vyjmenování jazykových souboru. I zde může být v obalujícím tagu <languages> uveden adresář v instalačním balíčku, který tyto soubory obsahuje.

Jako poslední krok nám zbývá instalační adresář komponenty zabalit nejlépe do zip souboru a ten poté nahrát do Joomly. Jelikož již máme vytvořený balíček, tak od toho dílu naleznete vždy na konci článku aktuální verzi komponenty ke stažení.

Příště

Základ komponenty sice máme hotový, ale stále nám zbývá ještě hodně práce. Takže si naší komponentu rozšíříme o kategorie příspěvků, na kterých si ukážeme tvorbu filtrů v zobrazení seznamu.

 00:00:00
Komentářů (0)
Přidat komentář
YOUR_CONTACT_DETAILS:
Komentářů:
[b] [i] [u] [s] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
SECURITY
Prosím=vložte text z obrázku (anti-SPAM ochrana

Zprávičky

Napsat novou zprávičku  |  Vše

sh404SEF 2.0.3.545

Nová verze

Napsal Peter Smrčák | 13.08 22:12

Kunena 1.6 RC1

Nová verze

Napsal Peter Smrčák |  9.08 15:28

Vyšla nová Kunena RC1 pre pripravovanú Joomlu 1.6.

EasyBook reloaded!

Nová verze

Napsal Peter Smrčák |  4.08 06:41

Vyšla stabilná verzia obľúbenej návštevnej knihy EasyBook reloaded vo verzii 2.0.4.

VirtueMart 1.1.5

Nová verze

Napsal Peter Smrčák | 28.07 15:11

Práve vyšiel nový VirtueMart.

Táto verzia opravuje rôzne problémy.

changelog | download

Joomla 1.5.19

Bezpečnost

Napsal Filip Bartmann | 16.07 18:30

Dnešním dnem spatřila světlo světa další aktualizace stabilní řady Joomly 1.5, tentokrát s pořadovým číslem 19 a kódovým jménem Wojmamni ama batani. Jedná se o opravu několika menších bezpečnostních chyb v administraci a také novou verzi js frameworku Mootools.

Více...

Jméno Joomla!® je použito pod limitovanou licenci od Open Source Matters ve Spojených státech a ostatních zemích. Joomladev nemá spojení s Open Source Matters, nebo projektem Joomla! a není součástí jejich podpory
Logo Joomla!® je použito pod limitovanou licenci od Open Source Matters ve Spojených státech a ostatních zemích. http://joomladev.eu nemá spojení s Open Source Matters, nebo projektem Joomla! a není součástí jejich podpory