rafalzamojski
1.05.2009, 13:09:35
Witam!
Wywalili mnie z tym tematem z Peb.pl to przybyłem tu. Może ktoś mi pomoże.
Chodzi o to że musze podmienić grafike w szablonie smarty i nie wiem jak sie do tego zabrać.
Html/css znam dosyć dobrze PHP podstawy, ale struktura tego szablonu mnie troche przeraża.
Podołać bym podołał, tylko trzeba mnie wprowadzić w temat.
Z góry dzięki!
W klamerkach masz zapisane instrukcje sterujące dla parsera szablonów, tj. gdzie wyświetlić jakie dane ze skryptu i w jaki sposób. Jak znasz PHP, powinieneś sobie poradzić, bo akurat w przypadku Smarty'ego (Smarty'ego, a nie żadnych "smartów") są one dość podobne w działaniu do tego, co ma PHP: jakieś instrukcje warunkowe, pętle... problem jest taki, że przy tego typu programowaniu ciężko się rozeznać, co taki kod właściwie robi z HTML-em (to samo miałbyś zresztą, jakby szablony były w PHP zrobione). Twoje zadanie polega na tym, że musisz zmodyfikować HTML, a treści w klamerkach zostawić w spokoju.
rafalzamojski
3.05.2009, 07:24:51
To jest szablon smarty i szablon w html'u z którego musze zapożyczyć grafike:
http://chomikuj.pl/rafalzamojskitemplate i parafia!
Niech mi ktoś rozjaśni sytuacje!
To może napisz, CZEGO nie rozumiesz, bo już bardziej łopatologicznie jest trudno:
- Tekstu w klamerkach nie ruszasz. Jak znasz trochę PHP, na pewno zobaczysz analogie między programowaniem w PHP, a tym, co jest w treści klamerek, bo de facto jest to to samo tylko z inną składnią.
- Tekst poza klamerkami podmieniasz na nowy kod HTML.
Wydaje mi się, że nawet nie próbujesz tego zrozumieć, tylko czekasz, aż ktoś się złamie i zrobi to za Ciebie.
rafalzamojski
4.05.2009, 08:34:01
Musiałem kompa formatnąć i konfiguruje od nowa smarty i taki problem jest:
Warning: Smarty error: unable to read resource: "templates/index.tpl" in c:\usr\apache\httpd\html\sm\libs\Smarty.class.php on line 1092
Czy to znaczy, że index.tpl jest nie do odczytu?
Bo jeśli chodzi o Smarty.class.php to tam nic nie powinienem zmieniać?
revyag
4.05.2009, 08:53:33
A ustawiłeś katalog z szablonami ?
<?php
$smarty->template_dir = 'templates/';
?>
rafalzamojski
4.05.2009, 09:33:49
<?php
define( 'SMARTY_DIR', 'c:/usr/apache/httpd/html/sm/libs/' );
require( SMARTY_DIR.'Smarty.class.php' );
$smarty = new Smarty;
$smarty->template_dir = $_home_path.'templates/';
$smarty->compile_dir = $_home_path.'templates_c/';
$smarty->config_dir = $_home_path.'configs/';
$smarty->cache_dir = $_home_path.'cache/';
$smarty->assign( 'title', 'Test strony');
$smarty->assign( 'text', 'test');
$smarty->display( 'templates/index.tpl' );
?>
tak to wygląda
nospor
4.05.2009, 09:35:22
skoro juz ustawiles katalog szablonow to nie:
<?php
$smarty->display( 'templates/index.tpl' );
?>
a:
<?php
$smarty->display( 'index.tpl' );
?>
uzywaj bbcode!
rafalzamojski
4.05.2009, 10:22:14
no i robie, robie.... i wszystko jest ok do momentu:
Fatal error: Call to a member function on a non-object in c:\usr\apache\httpd\html\sm\templates_c\%%45^45E^45E480CD%%index.tpl.php(7) : eval()'d code on line 1
<?php /* Smarty version 2.6.22, created on 2009-05-04 11:13:30
compiled from index.tpl */ ?>
<?php $this->assign('szer', '775'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta name="generator" content="WebSite PRO 4.3" />
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertMetaTags(); return $_foo;'); ?>
<title>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->title; return $_foo;'); ?></title>
<link rel="stylesheet" type="text/css" href="
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->cssFileName; return $_foo;'); ?>" />
<script type="text/javascript" src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/menu.js"></script>
</head>
<body>
<div id="main">
<div id="logo"><center>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->logo; $_foo = $_foo->draw(); return $_foo;'); ?></center></div>
<div id="search_date">
<?php echo 'psi_search_box_form'; ?>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertBox('search'); return $_foo;'); ?>
<td style="text-align: right;"><img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 10px; width: 10px;" /></td>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertBox('date'); return $_foo;'); ?>
</tr>
</table>
<?php echo '/psi_search_box_form'; ?>
</div>
<div id="center">
<table id="in_the_center" cellspacing="0" cellpadding="0"><tr>
<td class="left" style="padding: 0px;"><img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 2px; width: 185px;" /></td>
<td class="middle" style="padding: 0px;"><img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 2px; width: 300px;" /></td>
<td class="right" style="padding: 0px;"><img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 2px; width: 185px;" /></td>
</tr><tr>
<td class="left" valign="top">
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertPanel('left'); return $_foo;'); ?></td>
<td class="middle" valign="top">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td style="width: 21px; height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>page_01.jpg);">
<img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 10px; width: 21px;" />
</td>
<td style="height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_02.jpg);">
<img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 10px; width: 50px;" />
</td>
<td style="width: 21px; height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_03.jpg);">
<img src="
<?php echo $this->_tpl_vars
['templatePath']; ?>/guard.gif" style="height: 10px; width: 21px;" />
</td>
</tr>
<tr>
<td style="width: 21px; height: 7px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_08.jpg);">
</td>
<td style="background-color: white;">
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertContent(); return $_foo;'); ?>
</td>
<td style="width: 21px; height: 7px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_04.jpg);"></td>
</tr>
<tr>
<td style="width: 21px; height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_07.jpg);"></td>
<td style="height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_06.jpg);"> </td>
<td style="width: 21px; height: 21px; background-image: url(
<?php echo $this->_tpl_vars
['cssPath']; ?>/page_05.jpg);"> </td>
</tr>
</table>
</td>
<td class="right" valign="top">
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertPanel('right'); return $_foo;'); ?></td>
</tr>
</table>
</div>
<div id="bottom">
<div style="margin: 0px 30px 0px 30px;">
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->footer; return $_foo;'); ?></div>
<center>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertPSIMarkup(); return $_foo;'); ?></center><br>
</div>
</div>
<?php echo eval('$_foo = $this->_tpl_vars['service']; $_foo = $_foo->insertSoundTag(); return $_foo;'); ?>
</body>
</html>
nospor
4.05.2009, 10:27:36
a te wstawki php w kodzie szablonu to po co? Rozumiesz wogole na czym polega istota szablonow?
co do samego bledu: w eval() odwolujesz sie do zmiennej jak do obiektu, mimo ze ta zmienna nie jest obiektem
rafalzamojski
4.05.2009, 10:52:52
Ja dostałem ten szablon tylko do podmiany grafiki! Z szablonami nie miałem do czynienia a na jakąś literature zwyczajnie nie mam czasu...
ps. 'błąd apostrofy', trzeba było całe polecenie eval w apostrofe
<?php
...'echo eval (...) '
?>
jest jakiś prostszy sposób na odpalenie szablonów smart'yego??
może jakiś program, bo te błędy mnie zeżrą!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.