mam dwie strony, jedna oparta o czysty PHP + MySQL znajduje się pod adresem: http://dawidbtest.home.pl/foreach/index2.php (taki testowy adres), druga, która znajduje się pod adresem http://dawidbtest.home.pl/smarty/ chciałby aby działała na szablonach smarty, problemem jest tu niestety "wyjeżdżanie" tekstu poza cały szablon ( np. na stronie głównej napis "test" znajduje się na samej górze po prawej stronie), wygląda to jakby np. jakiś div nie był domknięty, ale niestety nie znalazłem przyczyny. Może przedstawię nieco kodu:
plik index.php w smarty
<?php ?> <?php //pełne ścieżki // put full path to Smarty.class.php require('./smarty/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir('./templates'); $smarty->setCompileDir('./smarty/templates_c'); $smarty->setCacheDir('./smarty/cache'); $smarty->setConfigDir('./smarty/configs'); 'Strona główna','',); 'Aktualności','aktualnosci',); 'Galeria','galeria'); 'Mapa','gmaps',); 'Kontakt', 'kontakt'); 'Księga gości', 'goscie'); 'Logowanie', 'logowanie'); if($_GET['str']=='') include('podstrony/strona_glowna.php'); elseif($_GET['str']=='aktualnosci') include('podstrony/aktualnosci.php'); elseif($_GET['str']=='galeria') include('podstrony/galeria.php'); elseif($_GET['str']=='mapa') include('podstrony/gmaps.php'); elseif($_GET['str']=='kontakt') include('podstrony/contact_form.php'); elseif($_GET['str']=='goscie') include('podstrony/goscie.php'); elseif($_GET['str']=='logowanie') include('podstrony/logowanie.php'); else; $smarty->assign("site_title", "Strona domowa"); $smarty->assign("str", $_GET["str"]); $smarty->assign("menu", $menu); $smarty->display('site_head.tpl'); $smarty->display('site_header.tpl'); //$smarty->display('footer.tpl'); ?>
w katalogu /templates, znajduje się plik site_header.tpl , który zawiera strukturę strony"
Kod
<div id="content">
<div id="top">
Tutaj będzie nagłówek
</div>
<div id="left">
{include file="site_menu.tpl"}
</div>
<div id="page">
<h1>Witaj na mojej stronie</h1>
{include file="main_site.tpl"}
</div>
<div id="right">
</div>
<div class="clear">
{include file="footer.tpl"}
</div>
</div>
</div>
<div id="top">
Tutaj będzie nagłówek
</div>
<div id="left">
{include file="site_menu.tpl"}
</div>
<div id="page">
<h1>Witaj na mojej stronie</h1>
{include file="main_site.tpl"}
</div>
<div id="right">
</div>
<div class="clear">
{include file="footer.tpl"}
</div>
</div>
</div>
w site_menu.tpl natomiast pętla foreach, która odpowiada za przeskakiwanie po menu:
Kod
<ul>
{foreach item=item from=$menu}
<li><a href = "index.php?str={$item[1]}">{$item[0]}</a></li>
{/foreach}
</ul>
{foreach item=item from=$menu}
<li><a href = "index.php?str={$item[1]}">{$item[0]}</a></li>
{/foreach}
</ul>
jak zrobić aby napis "test" wyświetlał się pod napisem - "Witaj na mojej stronie"?
dodatkowo mam też zakładki takie jak Aktualności, czy Formularz - to też muszę przerobić na smarty, czy istnieje jakiś prostszy sposób (np. dodanie do /templates np. formularz.tpl i tam przeniesienie kodu a następnie odwołanie się do niego przez np. plik formularz.php? )
Byłbym wdzięczny za każdą pomoc. Wiem że pytania dla niektórych wydają się banalne, ale walczę z tym już jakiś czas i nie daje rady
