Základ theme.php
Takže takto, veľa ľudí nám písalo čo je čo a ako sa robí hento a tamto...a podobne.Tak som sa rozhodol že vám to stručne popíšem čo je čo :-D.Nič extra to nebude len tak nech viete zhruba o čo ide.
Takže začnem s theme.php.Zobral som si respawnovú tému na vysvetľovanie.(download theme->http://theme.php-...oad_id=236 )
Takže v otvoríme si theme.php a hned na začiatku máme:
1.
<?php
to nám ukazuje že je to PHP súbor, takže sa celé theme.php musí končit
?>
,to nám ukáže koniec php dokumentu.
2.pod tým máme
if (!defined("IN_FUSION")) { die("Access Denied"); }
čo nám ukazuje že je to "fusionovské"
3.Ďalej tam máme
define("THEME_WIDTH", "950");
, tento kód nám definuje šírku vzhľadu,tú meníme zmenením čísla v uvodzovkách, ďalej sa dé definovať aj percentuálne, napr. :
define("THEME_WIDTH", "100%");
,dúfam že percentá vám nemusím vysvetľovať.A ak hej neskor doplním xD...
4.Tak máme tu kód
define("THEME_BULLET", "");
, ktorý nám nieje dobrý kedže v respawnovej téme sa nenachádza bullet.Tu je daný riadok zo základného vzhľadu php fusion v7, Similitude06 :
define("THEME_BULLET", "<img src='".THEME."images/bullet.gif' alt='' style='border:0' />");
,takže máme tam danú adresu k obrázku zo zložky ROOT/THEMES/VAS_VZHLAD/IMAGES.
A ak neviete čo to vlastne ten bullet je tak si ho možete všimnúť aj na našom webe v paneli Databáza módov, tu máte screen :
www.php-f.com/bullet.jpg
5.Ďalej tu máme riadok
require_once INCLUDES."theme_functions_include.php";
čo znamená,ak ste si všimli že to bude "cucať" niečo z zložky ROOT/INCLUDES.Ked si ju otvoríme zistíme že sa tam nachádza súbor theme_functions_include.php (teraz vám ho nejdem opisovať)
6 Tu sa nachádza
function render_page($license=false) {
a nachádza sa na pod footerom.Musí sa taktež ukončit!!! a to opačnou zátvorkou, čiže
}
. (funkciu opíšem neskor.)
7.Tu máme
global $settings, $main_style;
(v prípade našého vzhľadu od respwana je tam "len" to)
tu si definujeme s čím bude mocť vzhľad pracovať, čomu bude chápať.
8.V tomto bode sa začína časť webu,HEADER ,dúfam všetci čo toto čítajú vedia čo je to...,
máme tam riadok :
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border center'>\n<tr>\n";
Tento riadok znamená že sa vytvorila tabuľka veľkosti THEME_WIDTH ,takže podľa šírky vzhľadu,ktorú sme zadávali v bode 3.
9.Ďalej pár základov html preskočím, máme tu riadok na ktorom sa nachádza
echo "<td class='header'></td>\n";
čiže sa vytvorí ďalšia tabuľka v ktorej bude header (hlavný vrchný obrázok webu) , pozor nefunguje to v každom vzhľade lebo v tom k=ode si možme všimnúť že berie údaje z style.css (class) a odtial z časti .header .
10.Ďalej tu máme uzátvaranie html tabuliek.
echo "</tr>\n</table>\n";
echo "</td>\n</tr>\n</table>\n";
11.Na ďalšiom riadku je kód
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border2 center'>\n<tr>\n";
ktorý nám zase vytvoril tabuľku so šírkou webu.
12.Na tomto riadku sa nachádza sublinkové vodorovné menu (sublinky,sublinks)
echo "<td class='sub-header'>".showsublinks(" <span class='bullet'>·</span> ","white")."</td>\n";
zasa si možme všimnúť "výcuci" zo styles.css. , vidíte že budú bielej farby, a mal by byť pred nimi BULLET ale nebude, kedže na začiatku theme.php NEBOL definovaný!!!
12.Ďalej tu máme kód ktorý nám prída vedľa sublinkov aj čas:
echo "<td align='right' class='sub-header'>".showsubdate()."</td>\n";
13.POZOR ".showsubdate()." mysíme mať v uvodzovkách tak isto ako aj ".showsublinks("
14.Tu máme uzatvorenie tabuľky v ktorej sa nachádza SUBLINKS a aj ČAS :
echo "</tr>\n</table>\n";
15.Tak a začíname rozmiestnením webu,v tomto prípade ľavého,stredného,pravého a druhého pravého panelu.
Táto časť sa nazýva Content.
16.Tak na tomto riadku sa nachádza ďalšia tabuľka:
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border center'>\n<tr>\n";
17.Ďalej tu máme riadok :
if (LEFT) { echo "<td class='side-border-left' valign='top'>".LEFT."</td>"; }
ktorý znamená že na ľavej strane bude ľavý panel,(zo srandy si skúste zameniť ".LEFT." na ".RIGHT." a hned ma pochopíte :).
18.Tak a máme tu "stredný" panel:
echo "<td class='main-bg' valign='top'>".U_CENTER.CONTENT.L_CENTER."</td>";
19.A zase pravý panel :
if (RIGHT) { echo "<td class='side-border-right' valign='top'>".RIGHT."</td>"; }
20.A teraz druhý pravý panel, pridaný panel BEZ ADMINISTRACIE :
echo "<td class='side-border-right' valign='top'";
openside("REKLAMA");
echo "REKLAMA 1<br>";
echo "Znalos HTML nutná! www.jakpsatweb.cz<br>";
closeside();
echo "</td>";
Tu sme si mohli všimnúť že ho treba editovať ručne a tak isto aj hned v prvom riadku vytvorenie druhej tabuľky a valign="TOP" znamená že bude umiestený na vrchu panlu.
21. POZOR V ECHU NEMOZME POUZIVAT UVODZOVKY ALE IBA APOSTROF !!!
napríklad:
Nesprávne:
<img scr="url_obrzku">
Správne:
<img scr='urlo_brzku'>
22.Ukon4enie tabuľky
echo "</tr>\n</table>\n";
23.Máme tu spodnú časť webu, FOOTER.
V ňom musí byť sprévne uvedený copyright !
A ten znie:
Powered by PHP-Fusion copyright © 2002 - 2009 by Nick Jones.
Released as free software without warranties under GNU Affero GPL v3.
POZOR musí byť aj správny odkaz na anglickú podporu ! ;)
24.Tu máme vytvorenie najspodnejšej tabuľky webu.
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class=' center'>\n<tr>\n";
echo "<td align='center' class='footer'>
Vidíme zase šírka podľa témy definovanej na začiatku súboru theme.php , ďalej vidíme ďalší výcuc z styles.css a to konkrétne .footer
Ďalej preskocím html ;) (čiže ten copiright a ukončenie tabuľiek)
25.Máme tu :
function render_news($subject, $news, $info) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td> </b>
</tr>
<tr>
<td align='left' class='news-footer'>\n";
echo "";
echo "<b>Pridal:</b> <a href='profile.php?lookup=".$info['user_id']."'>".$info['user_name']."</a>";
echo ", <a href='news.php?readmore=".$info['news_id']."'><b>Komentáre</b> (".$info['news_comments'].")</a>";
echo ", <b>Preèítané</b> ".$info['news_reads']."x,";
echo " <a href='news.php?readmore=".$info['news_id']."'><b><span style='color:#dadada'><b>Èítaj celé</b></span></a>";
echo "</tr>
</table>\n";
}
toto vám moc nejdem vysvetľovať len vám pomožem ukázať čo to vlastne je.Skúste napísať niaku novinku na vašom webe a uvidíte pri nej napíklad Napísal Ferko ...Prečítané 1572 krát....104 komentárov.Toto je vlastne naša časť v render news ;)
26.Presne ten istý zmysel len pre articles (články) :
function render_article($subject, $article, $info) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td class='capmain'>".$subject."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='main-body'>".($info['article_breaks'] == "y" ? nl2br($article) : $article)."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' class='news-footer'>\n";
echo articleposter($info," ·").articleopts($info,"·").itemoptions("A",$info['article_id']);
echo "</td>\n</tr>\n</table>\n";
}
27.(panel-napríklad shoubox,anketa , proste bočné paneli pridané)A sme na riadku :
function opentable($title) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td class='capmain'>".$title."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='main-body'>\n";
}
Tak tam máme definované "vlastnosti panelu" ,takže takto... keď pridáte na web panel aj cez administráciu a potom si skúsime upravovať opentable (napr. meníme classy atď) tak vidíme čo to robí na webe :-) a takisto aj táto funkcia sa musí končiť!
function closetable() {
echo "</td>\n</tr>\n</table>\n";
}
28.(panel-novinky)Tak toto je skoro to isté ako čo sme riešilo bod pred týmto ;) :
function openside($title, $collapse = false, $state = "on") {
global $panel_collapse; $panel_collapse = $collapse;
echo "<table cellpadding='0' cellspacing='0' width='100%' class='border'>\n<tr>\n";
echo "<td class='scapmain'>".$title."</td>\n";
if ($collapse == true) {
$boxname = str_replace(" ", "", $title);
echo "<td class='scapmain' align='right'>".panelbutton($state,$boxname)."</td>\n";
}
echo "</tr>\n<tr>\n";
echo "<td".($collapse == true ? " colspan='2'" : "")." class='side-body'>\n";
if ($collapse == true) { echo panelstate($state, $boxname); }
}
a tak isto sa to musí končiť ;)
function closeside($collapse = false) {
global $panel_collapse;
if ($panel_collapse == true) { echo "</div>\n"; }
echo "</td>\n</tr>\n</table>\n";
}
29.Tak skúste si pridať na web panel takto:
opentable(panel);
echo"";
closetable();
a potom takto a uvidíte tozdiel ! :-)
openside(panel);
echo"";
closeside();
30.Nóóóó a tu máme ako bolo spomínane na začiatku ukočovanie php súboru
?>
Prepáčte ak je to moc nepriehľadné,snažil som sa ale už mi to nepálilo kedže včera bol icehockey a ja som nespal :-D...ak máte dotazy tak píšte ;) BTW styles.css pridám neskor,idem si oddýchnuť od písania. :)
Článok napísal Michael Vodila (eL_Bear,FuN1K,FunReaL...jedna osoba viac nickov ! )
Takže začnem s theme.php.Zobral som si respawnovú tému na vysvetľovanie.(download theme->http://theme.php-...oad_id=236 )
Takže v otvoríme si theme.php a hned na začiatku máme:
1.
<?php
to nám ukazuje že je to PHP súbor, takže sa celé theme.php musí končit
?>
,to nám ukáže koniec php dokumentu.
2.pod tým máme
if (!defined("IN_FUSION")) { die("Access Denied"); }
čo nám ukazuje že je to "fusionovské"
3.Ďalej tam máme
define("THEME_WIDTH", "950");
, tento kód nám definuje šírku vzhľadu,tú meníme zmenením čísla v uvodzovkách, ďalej sa dé definovať aj percentuálne, napr. :
define("THEME_WIDTH", "100%");
,dúfam že percentá vám nemusím vysvetľovať.A ak hej neskor doplním xD...
4.Tak máme tu kód
define("THEME_BULLET", "");
, ktorý nám nieje dobrý kedže v respawnovej téme sa nenachádza bullet.Tu je daný riadok zo základného vzhľadu php fusion v7, Similitude06 :
define("THEME_BULLET", "<img src='".THEME."images/bullet.gif' alt='' style='border:0' />");
,takže máme tam danú adresu k obrázku zo zložky ROOT/THEMES/VAS_VZHLAD/IMAGES.
A ak neviete čo to vlastne ten bullet je tak si ho možete všimnúť aj na našom webe v paneli Databáza módov, tu máte screen :
www.php-f.com/bullet.jpg
5.Ďalej tu máme riadok
require_once INCLUDES."theme_functions_include.php";
čo znamená,ak ste si všimli že to bude "cucať" niečo z zložky ROOT/INCLUDES.Ked si ju otvoríme zistíme že sa tam nachádza súbor theme_functions_include.php (teraz vám ho nejdem opisovať)
6 Tu sa nachádza
function render_page($license=false) {
a nachádza sa na pod footerom.Musí sa taktež ukončit!!! a to opačnou zátvorkou, čiže
}
. (funkciu opíšem neskor.)
7.Tu máme
global $settings, $main_style;
(v prípade našého vzhľadu od respwana je tam "len" to)
tu si definujeme s čím bude mocť vzhľad pracovať, čomu bude chápať.
8.V tomto bode sa začína časť webu,HEADER ,dúfam všetci čo toto čítajú vedia čo je to...,
máme tam riadok :
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border center'>\n<tr>\n";
Tento riadok znamená že sa vytvorila tabuľka veľkosti THEME_WIDTH ,takže podľa šírky vzhľadu,ktorú sme zadávali v bode 3.
9.Ďalej pár základov html preskočím, máme tu riadok na ktorom sa nachádza
echo "<td class='header'></td>\n";
čiže sa vytvorí ďalšia tabuľka v ktorej bude header (hlavný vrchný obrázok webu) , pozor nefunguje to v každom vzhľade lebo v tom k=ode si možme všimnúť že berie údaje z style.css (class) a odtial z časti .header .
10.Ďalej tu máme uzátvaranie html tabuliek.
echo "</tr>\n</table>\n";
echo "</td>\n</tr>\n</table>\n";
11.Na ďalšiom riadku je kód
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border2 center'>\n<tr>\n";
ktorý nám zase vytvoril tabuľku so šírkou webu.
12.Na tomto riadku sa nachádza sublinkové vodorovné menu (sublinky,sublinks)
echo "<td class='sub-header'>".showsublinks(" <span class='bullet'>·</span> ","white")."</td>\n";
zasa si možme všimnúť "výcuci" zo styles.css. , vidíte že budú bielej farby, a mal by byť pred nimi BULLET ale nebude, kedže na začiatku theme.php NEBOL definovaný!!!
12.Ďalej tu máme kód ktorý nám prída vedľa sublinkov aj čas:
echo "<td align='right' class='sub-header'>".showsubdate()."</td>\n";
13.POZOR ".showsubdate()." mysíme mať v uvodzovkách tak isto ako aj ".showsublinks("
14.Tu máme uzatvorenie tabuľky v ktorej sa nachádza SUBLINKS a aj ČAS :
echo "</tr>\n</table>\n";
15.Tak a začíname rozmiestnením webu,v tomto prípade ľavého,stredného,pravého a druhého pravého panelu.
Táto časť sa nazýva Content.
16.Tak na tomto riadku sa nachádza ďalšia tabuľka:
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class='outer-border center'>\n<tr>\n";
17.Ďalej tu máme riadok :
if (LEFT) { echo "<td class='side-border-left' valign='top'>".LEFT."</td>"; }
ktorý znamená že na ľavej strane bude ľavý panel,(zo srandy si skúste zameniť ".LEFT." na ".RIGHT." a hned ma pochopíte :).
18.Tak a máme tu "stredný" panel:
echo "<td class='main-bg' valign='top'>".U_CENTER.CONTENT.L_CENTER."</td>";
19.A zase pravý panel :
if (RIGHT) { echo "<td class='side-border-right' valign='top'>".RIGHT."</td>"; }
20.A teraz druhý pravý panel, pridaný panel BEZ ADMINISTRACIE :
echo "<td class='side-border-right' valign='top'";
openside("REKLAMA");
echo "REKLAMA 1<br>";
echo "Znalos HTML nutná! www.jakpsatweb.cz<br>";
closeside();
echo "</td>";
Tu sme si mohli všimnúť že ho treba editovať ručne a tak isto aj hned v prvom riadku vytvorenie druhej tabuľky a valign="TOP" znamená že bude umiestený na vrchu panlu.
21. POZOR V ECHU NEMOZME POUZIVAT UVODZOVKY ALE IBA APOSTROF !!!
napríklad:
Nesprávne:
<img scr="url_obrzku">
Správne:
<img scr='urlo_brzku'>
22.Ukon4enie tabuľky
echo "</tr>\n</table>\n";
23.Máme tu spodnú časť webu, FOOTER.
V ňom musí byť sprévne uvedený copyright !
A ten znie:
Powered by PHP-Fusion copyright © 2002 - 2009 by Nick Jones.
Released as free software without warranties under GNU Affero GPL v3.
POZOR musí byť aj správny odkaz na anglickú podporu ! ;)
24.Tu máme vytvorenie najspodnejšej tabuľky webu.
echo "<table cellspacing='0' cellpadding='0' width='".THEME_WIDTH."' class=' center'>\n<tr>\n";
echo "<td align='center' class='footer'>
Vidíme zase šírka podľa témy definovanej na začiatku súboru theme.php , ďalej vidíme ďalší výcuc z styles.css a to konkrétne .footer
Ďalej preskocím html ;) (čiže ten copiright a ukončenie tabuľiek)
25.Máme tu :
function render_news($subject, $news, $info) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain'>$subject</td>
</tr>
<tr>
<td class='main-body'>$news</td> </b>
</tr>
<tr>
<td align='left' class='news-footer'>\n";
echo "";
echo "<b>Pridal:</b> <a href='profile.php?lookup=".$info['user_id']."'>".$info['user_name']."</a>";
echo ", <a href='news.php?readmore=".$info['news_id']."'><b>Komentáre</b> (".$info['news_comments'].")</a>";
echo ", <b>Preèítané</b> ".$info['news_reads']."x,";
echo " <a href='news.php?readmore=".$info['news_id']."'><b><span style='color:#dadada'><b>Èítaj celé</b></span></a>";
echo "</tr>
</table>\n";
}
toto vám moc nejdem vysvetľovať len vám pomožem ukázať čo to vlastne je.Skúste napísať niaku novinku na vašom webe a uvidíte pri nej napíklad Napísal Ferko ...Prečítané 1572 krát....104 komentárov.Toto je vlastne naša časť v render news ;)
26.Presne ten istý zmysel len pre articles (články) :
function render_article($subject, $article, $info) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td class='capmain'>".$subject."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='main-body'>".($info['article_breaks'] == "y" ? nl2br($article) : $article)."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' class='news-footer'>\n";
echo articleposter($info," ·").articleopts($info,"·").itemoptions("A",$info['article_id']);
echo "</td>\n</tr>\n</table>\n";
}
27.(panel-napríklad shoubox,anketa , proste bočné paneli pridané)A sme na riadku :
function opentable($title) {
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td class='capmain'>".$title."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='main-body'>\n";
}
Tak tam máme definované "vlastnosti panelu" ,takže takto... keď pridáte na web panel aj cez administráciu a potom si skúsime upravovať opentable (napr. meníme classy atď) tak vidíme čo to robí na webe :-) a takisto aj táto funkcia sa musí končiť!
function closetable() {
echo "</td>\n</tr>\n</table>\n";
}
28.(panel-novinky)Tak toto je skoro to isté ako čo sme riešilo bod pred týmto ;) :
function openside($title, $collapse = false, $state = "on") {
global $panel_collapse; $panel_collapse = $collapse;
echo "<table cellpadding='0' cellspacing='0' width='100%' class='border'>\n<tr>\n";
echo "<td class='scapmain'>".$title."</td>\n";
if ($collapse == true) {
$boxname = str_replace(" ", "", $title);
echo "<td class='scapmain' align='right'>".panelbutton($state,$boxname)."</td>\n";
}
echo "</tr>\n<tr>\n";
echo "<td".($collapse == true ? " colspan='2'" : "")." class='side-body'>\n";
if ($collapse == true) { echo panelstate($state, $boxname); }
}
a tak isto sa to musí končiť ;)
function closeside($collapse = false) {
global $panel_collapse;
if ($panel_collapse == true) { echo "</div>\n"; }
echo "</td>\n</tr>\n</table>\n";
}
29.Tak skúste si pridať na web panel takto:
opentable(panel);
echo"";
closetable();
a potom takto a uvidíte tozdiel ! :-)
openside(panel);
echo"";
closeside();
30.Nóóóó a tu máme ako bolo spomínane na začiatku ukočovanie php súboru
?>
Prepáčte ak je to moc nepriehľadné,snažil som sa ale už mi to nepálilo kedže včera bol icehockey a ja som nespal :-D...ak máte dotazy tak píšte ;) BTW styles.css pridám neskor,idem si oddýchnuť od písania. :)
Článok napísal Michael Vodila (eL_Bear,FuN1K,FunReaL...jedna osoba viac nickov ! )
Komentáre
Pridať komentár
Pre pridanie komentára musíte byť prihlásený.
Hodnotenia
Musíte byť zaregistrovaný, aby ste mohli hodnotiť.
Prosím prihláste, alebo sa zaregistrujte.
Prosím prihláste, alebo sa zaregistrujte.
Zatial nikto neohodnotil tento príspevok.





