Créer un Templates !
Posté : 10 nov. 2006, 13:06
Bonjour !
Alors voilà, j'aimerai créer un site-web, avec un système de templates...
J'ai regarder celui du MK-Portal que je trouve très bien et.. simple (Bien que je n'y arrive pas à faire le même :'()
Alors, dans le templates que je créer, il y a quatre pages.. une page functions.php qui a ceci :
Ensuite il y a la page main_tpl.php :
Et une page login.php (Le block login, qui prend le design du main_tpl.php et donc il n'y a que le code dans le login.php)
Et ensuite l'index.php, qui appelle le block login.php (d'ailleurs, comment le faire appeller... un simple :
Bon j'ai vu que dans functions.php, le mk-portal demander à la base de donnée si il faut afficher ou non le block...
Je sais qu'il y a pleins de fautes, mais je vois pas lesquels (Oui j'suis débutant
) et donc j'ai des questions..
Est-il possible de faire le même genre de templates sans passer par une BDD ? (Comment le faire ? Quel code a enlever/rajouter ?)
Et savoir quel sont les fautes dans mon code... ^^
J'espère que vous me comprendrez, sinon je me repèterai, merci
Alors voilà, j'aimerai créer un site-web, avec un système de templates...
J'ai regarder celui du MK-Portal que je trouve très bien et.. simple (Bien que je n'y arrive pas à faire le même :'()
Alors, dans le templates que je créer, il y a quatre pages.. une page functions.php qui a ceci :
<?
$Skin = "templates/default/tpl_main.php";
function get_column($position = "sinistra") {
global $mkportals, $DB, $std, $Skin, $mklib_board;
$this->init_blocks();
foreach($this->blocks as $row) {
if ($row['position'] == $position ) {
$content = "";
$perms = array();
$indarr = "blt".$row['id'];
$titlem = isset($this->lang[$indarr])?$this->lang[$indarr]:$row['title'];
$active = $row['active'];
if ($row['perms']) {
$perms = unserialize($row['perms']);
}
if(!$perms) {
$perms = array();
}
if ($active == "checked" && !in_array($mkportals->member['mgroup'], $perms)) {
switch($row['personal']) {
case '1': if ($row['content'] != "") {
$content = "<tr><td class=\"blocks\">".$row['content']."</td></tr>";
if ($this->mkeditor == "BBCODE") {
$content = $this->decode_bb($content);
}
}
break;
case '2': if ($row['content'] != "") {
$content = "<tr><td class=\"blocks\">".$row['content']."</td></tr>";
$content = str_replace ("frec.gif", "$this->images/frec.gif", $content);
}
break;
case '3': $file = $this->sitepath."mkportal/".$row['file'];
if (is_file($file)) {
@require $file;
if ($content != "") {
$content ="<tr><td class=\"blocks\">".$content."</td></tr>";
}
}
break;
default: $file = $this->sitepath."mkportal/blocks/".$row['file'];
$content = "";
if (is_file($file)) {
require $file;
}
break;
}
if ($content != "") {
$column .= $Skin->view_block($titlem, $content);
}
}
}
}
return $column;
}
function block ($content) {
global $Skin;
$output = $Skin->view_block($content);
return $output;
}
function block_center ($content) {
global $Skin;
$output = $Skin->view_column_center($content);
return $output;
}
?>
(Par contre je sais qu'il y a des fautes, mais je vois pas lesquels..)Ensuite il y a la page main_tpl.php :
<?
class tpl_main {
function view_header($title, $css) {
global $title, $css;
return <<<EOF
function view_block($title, $content) {
global $title, $content;
return <<<EOF
<!-- begin block template -->
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="tdmenblock" width="1%"><img src="templates/default/images/m_sx.gif" border="0" class="tdmenblock" alt="" />
</td>
<td class="sottotitolo" width="99%" style="background-image: url('templates/default/images/m_sf.gif')" valign="middle" nowrap="nowrap">{$title}
</td>
<td class="tdmenblock" width="1%"><img src="templates/default/images/m_dx.gif" border="0" class="tdmenblock" alt="" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="tablemenu" width="100%">
<table border="0" width="100%" cellpadding="1" cellspacing="1">
{$content}
</table>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td class="tdmenblock" width="1%" align="right" valign="top"><img src="templates/default/images/m_sx2.gif" class="tdmenblock" alt="" />
</td>
<td class="tdmenblock" width="99%" style="background-image: url('templates/default/images/m_sf2.gif')"><img src="templates/default/->images/m_sf2.gif" border="0" class="tdmenblock" alt="" />
</td>
<td class="tdmenblock" width="1%"><img src="templates/default/images/m_dx2.gif" class="tdmenblock" alt="" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="tdspacer">
</td>
</tr>
<!-- end block template -->
EOF;
}
?>
C'est le design du block, et dans cette page je metterai plusieurs design, par exemple le design du titre etc...Et une page login.php (Le block login, qui prend le design du main_tpl.php et donc il n'y a que le code dans le login.php)
Et ensuite l'index.php, qui appelle le block login.php (d'ailleurs, comment le faire appeller... un simple :
<?
include("blocks/login.php");
?>
?Bon j'ai vu que dans functions.php, le mk-portal demander à la base de donnée si il faut afficher ou non le block...
Je sais qu'il y a pleins de fautes, mais je vois pas lesquels (Oui j'suis débutant
Est-il possible de faire le même genre de templates sans passer par une BDD ? (Comment le faire ? Quel code a enlever/rajouter ?)
Et savoir quel sont les fautes dans mon code... ^^
J'espère que vous me comprendrez, sinon je me repèterai, merci