|
Čtvrtek, 11 Únor 2010 23:09 |
Při práci s Joomlou uživatel ať už chce nebo ne narazí téměř vždy na nějaký problém. Někdy je to naše chyba, někdy třeba špatná konfigurace hostingu, jindy obojí. Joomla je bezesporu kvalitní systém, ale ani u ní se nevyvarujeme všem problémům. Dnes si ukážeme jak ty základní řešit.
- Error:"xml file is missing in package" - Tato chybová hláška se zobrazuje při instalaci nové komponenty, modulu, pluginu, nebo jakéhokoliv jiného rozšíření. Pokud se Vám zobrazí, je možné, že jste stáhli komponentu pro verzi 1.0 ač máte verzi 1.5, další možnost je ta, že balík se nejprve musí rozbalit na lokálním disku a až poté instalovat.
- JFolder::create: Could not create directory - Zřejmě nejčastější potíž při instalaci komponent a modulů. Ve většině případů je způsobena špatným nastavením přístupových práv ke složkám. Řešení je jednoduché. V administraci zobrazíme "Help>System Info (Pomoc>Systémové informace)" a zvolíme záložku Directory Permission. Zde by u všech složek mělo svítit zeleně Writable, pokud ne, postupujeme dle tohoto návodu, je třeba zvolit práva ke složce na 766 popř. 777
- Po přidání modulu se nzobrazí na stránkách - Možností je několik. Buď je možné že pozici, kterou jsme pro modul zvolil v šabloně neexistuje. Většinou jsou v šablonách použity pozice top, header, left, user1-userx. Ale je možné vytvořit si jakékoliv další. Pokud chceme znát jaké pozice v šabloně jsou použity. Můžeme se podívat do zdrojového kódu: "Extensions>Template Manager vybereme šablonu a klikneme na Edit HTML" pote hledame tento kód: <jdoc:include type="modules" name="left" /> atribut name udává název pozice. Další možnost proč se modul nezobrazuje je prostě důvod, že jsme ho zapomněli aktivovat. V seznamu modulů musí být u aktivního modulu zelené zatržítko viz. obrázek

Poslední problém proč by se modul nezorbazoval je prostě ten, že není žádný obsah k zobrazení, proto se na stránkách neukáže. Například pokud chceme ukázat modul nejčtenější články, ale zatím žádný článek není publikovaný.
- Stránky se načítají pomalu - opět může být více důvodů. Pomalý hosting, náročná a špatně zpracovaná šablona, mnoho nainstalovaných komponent, atd. Doporučuji zapnout cachování. Neboli dočasné ukládání obsahu, ten se poté nenačítá pokaždé z databáze, ale pouze ze složky na FTP. Cachování zapneme v "Site>Global Configuration>System Cache Settings" pokud stránku aktializujeme pouze jednou za čas doporučuju dobu cachování nastavit alespoň na 1 hodinu
- MySQL Server has gone away - opět chyba při instalaci komponent a to zvláště velkých jako je Community Builder, Virtuemart,.. Pokud máte nastavenou FTP vrstvu, zkuste ji zakázat, poté by mělo jít nainstalovat. FTP vrstvu vypnete v "Global Configuration -> Server -> FTP Settings"
- Ve vzhledávačích se u mé stránky zobrazuje"Joomla! - nástroj pro dynamický portál a redakční systém" - toto vlastně není ani chyba, ale pouze defaultní nastavení joomly a indexace vyhledávačů. Často vyhledávače berou jako popis stránky popis z tzv. meta tagů. Pokud chceme popis stránky, a klíčová slova změnit. Najedeme do "Global Configuration -> Site -> Metadata Settings" a zde popisek a klíčová slova změníme, klíčová slova oddělujeme čárkami.
- Vyhledávače indexují místo klasických html stránek PDF soubory. Jak jistě víte Joomla umožňuje zobrazit webovou stránku jako PDF, slouží k tomu ikona na vrchu článku (pokud je aktivovaná) vyhledávače pak občas tyto vygenerované soubory indexují výše než-li samotné články. Jak tomu zabránit je popsáno zde: http://www.redakcni-systemy.com/index.php/joomla/clanky/95-vyrazeni-pdf-z-indexace-google-a-yahoo
To je vše co mě napadá. Pokud máte další nápady, co by zde nemělo chybět budu rád a uvítám Vaše připomínky popř. dotazy. |
Detail inkriminované šablony je následující:
Joomla 1.5.x
Demo ( Live Preview )
DETAIL INFO
- Name : Computer Society (Themza_j15_11)
- Size : 198 Kb
- Price : FREE
- Version : 1.0
- Compatibility :
- Type : Site Templates (Front End)
- Category : Computer & Technology
- Format : Zip
- Author : Themza Team
- URL : http://www.themza.com
- Design Layout
* 3 column
* Module position : Left, right, user1, user 2, user 3, user 4, top, syndicate, -
breadcrumb & debug
- Other feature
* Page alignment (left, center & right)
* Color variation (red, blue, green and orange)
* Show / hide : Logo, banner and Date display
Uvedený problém se objevuje i u dalších šablon tohoto typu.
vasi chybu odstranite budte takto:
global $html;
global $list;
$pagination_list = 'tdo';
$html .= ' '.$list['next']['data'];
$html .= ' '.$list['end']['data'];
$html .= ' »';
echo ((strlen($t)==5)? call_user_func($pagination_list,$t):'').JText::_($t);
}
nebo tak ze zakomentujete radky 150-153. Zkousel jsem oboji. Po obojim funguje strankovani v poradku. Tak snad pomuze
http://www.freejoomlatemplatez.com/
a tam již lze najít rúzné šablony typu Themza_jXX_XX
včetně Themza_j15_11 se svými 3939hits v tuto chvíli.
a zde zvolte zadny
Tim by mela chyba zmizet. Nejsem si ale jist jestli bude pote spravne fungovat strankovani.
Notice: Undefined variable: html in C:\wamp\www\MSA\templates\themza_j15_11\html\pagination.php on line 150
Notice: Undefined variable: list in C:\wamp\www\MSA\templates\themza_j15_11\html\pagination.php on line 151
Založeno na Joomla!.
Notice: Undefined variable: list in C:\wamp\www\MSA\templates\themza_j15_11\html\pagination.php on line 150
Notice: Undefined variable: html in C:\wamp\www\MSA\templates\themza_j15_11\html\pagination.php on line 150
Notice: Undefined variable: list in C:\wamp\www\MSA\templates\themza_j15_11\html\pagination.php on line 151
Tyto poznámky o chybějících (nedefinovaných) proměnných jsem našla i dalších webech na síti, používajících tuto šablonu. Můžete poradit řešení, díky
a img{
border:0;
}
nebo se to da myslim nastavit ve vlastnostech obrazku v editoru
Jinak musite joomlu instalovat do kazdeho adresare zvlast.
napr. /projekt1/administrator , projekt2/...
Ale napriklad pokud tvorite pouze sablony staci jedna instalace. A vzhledy komponent a modulu ukladat do slozky html v sablone.
Takže volání jednotlivých projektů je následující:
http://127.0.0.1/projekt1
http://127.0.0.1/projekt2
v tomto smeru asi nebudu odbornik, ale vetsinou to resim normalne pomoci adresarove struktury a jedne promenne. kazdy projekt ma svuj adresar v adresari www napriklad wamp/www/projekt1 pak zadavam
http://127.0.0.1/projekt1
a v kodu mam nadefinovanou jednu promennou $base_url kterou pak volim jestli se jedna o projekt na localu nebo na webu. Vsude pouzivam absolutni adresovani.
Co se tyce pripojeni k databazi. Pouzivam vlastni tridu kde na zacatku definuju pripojeni nejak takto:
Class db{
var $host='webovyserver';
var $pass='hesl';
var $user='user';
var $datab='datab';
var $db='';
function db(){
//pokud jde o localhost pouzij jine nastaveni
if($_SERVER['HTTP_HOST']=='127.0.0.1'){
$this->host='localhost';
$this->pass='';
$this->user='root';
$this->datab='projekt1';
}
}
}