Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: powialajacy sie wpis w plikach tpl
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
mkapi
Witam.
Mam problem z moim menu.
Jak wyczytałem i z tego co rozumie to po to się wprowadza sysyem szablonów smarty żeby nie powielać sobie kodu wiele razy tylko napisać go raz ,a on będzie tam gdzie chcemy. Oddzielić część logiczną od części prezentacyjnej...

Ale wracając do tematu ...
Interesuje mnie jak zrobić coś takiego.

Na początek wyjaśnię że moje podstrony w szablonach *.tpl.

Przykładowo 1.tpl , 2.tpl, 3.tpl itp.

No i każdy szablon zawiera to samo menu napisane w css.
Oto przykład jednego z plików. np: (1.tpl)

  1. <html xmlns="http://www.w3.org/1999/xhtml" lang="{$Interface->getMessage('html_symbol')}" [html]xml:lang="{$Interface->getMessage('html_symbol')}">
  2.  
  3.  
  4.  
  5. <script> {literal}
  6.  
  7. function displayWindow(url, width, height) {
  8. var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no' );
  9. }
  10. {/literal}
  11.  
  12. </head>
  13.  
  14.  
  15.  
  16. <style type="text/css" media="screen">
  17. @import "tanfa.css";
  18. {literal}
  19.  
  20. #menu {
  21. width: 12em;
  22. background: #eee;
  23. itp....
  24. itd...
  25. {/literal}
  26. <!-- Potem jest to menu które chce aby bylo widzoczne na każdej z tych 1,2,3 podstron. -->
  27.  
  28.  
  29. <table cellspacing="0" cellpadding="0" border="0" frame="void" rules="none" style="WIDTH: 705px; HEIGHT: auto">
  30. <tr >
  31. <td valign="top" >
  32.  
  33. <div id="menu">
  34. <ul>
  35. <li>
  36. <h2 align="center">{$Interface->getMessage('menu')}</h2>
  37. <ul>
  38. <li><a href="">{$Interface->getMessage('lang')}</a>
  39. <ul>
  40. <li><a href="index.php?go=1&lang={$Interface->getMessage('lang')}</a>1</li>
  41. <li><a href="index.php?go=2&lang={$Interface->getMessage('lang')}</a>1</li>
  42. <li><a href="index.php?go=3&lang={$Interface->getMessage('lang')}</a>1</li>
  43. </li>
  44.  
  45.  
  46.  
  47. </td></tr></table>


Próbowałem cały ten tekst wżucić w tablice (index.php) ale wywala mi błąd na moich ..
  1. {$Interface->getMessage('lang')}

Musiał bym nie zachowywyać tego wpisu, ale jest mi potrzebny żeby zmieniała się nazwa menu.
To mam po to by zmieniał się jezyk strony.
NO i nie wiem co tu wymyślić.
Próbowałem też przez opcję wczytywania pliku menu.tpl Ale wtedy nie ma go w template_c i serwer nic z nim nie robi czyli wczytuje caly tekst z zywca .. A ja chce zeby mi przyokazji tlumaczyl z moich plikow xml.

Lub moze zrobic tak że jak stronka jest w PL to wczytuje menupl.tpl ,a jak jest stronka w UK to wczytuje menuuk.tpl
Wtedy ominol bym opcję
  1. {$Interface->getMessage('lang')}
tylko jak to zrobic questionmark.gif

Napisze jeszcze ze ten wpis
  1. {$Interface->getMessage('lang')}
kiruje czy stronka ma pobierac opisy z pliku pl.xml lub z uk.xml

Nakierujcie mnie prosze.
sf
Nie możesz zrobić po prostu:
Kod
{if $lang eq 'pl'}
{include file="menuPL.tpl"}
{else}
{include file="menuEN.tpl"}
{/if}
mkapi
co to jest to eq Napisałeś
  1. {if $lang eq 'pl'}
I mam to umiescic w pliku index.php jak rozumiem. Pomylka . Skrypt który mi napisałeś mam umieścić w jednym z szablonów . Oraz zrobić . dwa pliki. Zobacze. I rozumiem że mam to zrobić tak. Zamiast tej całej tabelki zawierającej odnośniki wkleić kod który mi napisałeś. TAk. </td></tr></table>[/html]JUZ SOBIE PORADZIŁEM> TEMAT UWAZAM ZA ZAKNIĘTY> DZIEKUJE
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.