Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [smarty] strona główna i includowanie
pys1986
post 6.11.2009, 12:09:25
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


witam, chciałbym w pliku index.php zrobić includowanie modułów ale niemam pojęcia jak sad.gif chodzi mi o zaincludowanie pliku np. start.php który coś tam robi i wyświetlenie go w szablonie start.tpl ale w pliku intex.tpl. mam nadzieje że dobrze to wyjaśniłem sad.gif
Go to the top of the page
+Quote Post
Informatic
post 6.11.2009, 12:22:08
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 18.12.2008

Ostrzeżenie: (0%)
-----


Kod
{include_php file="start.php"}

Enjoy.

ps. Oczywiście plik "start.php" sam musi wyświetlać templatkę.

Ten post edytował Informatic 6.11.2009, 12:23:11


--------------------
Pomogłem? Kliknij Pomógł.
Blog TastyCode.pl
Go to the top of the page
+Quote Post
pys1986
post 6.11.2009, 13:59:46
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


no tak, a czy nieda się tego zrobić jakoś bardziej elegancko questionmark.gif bo wtedy w każdym module musze tworzyć nowy obiekt SMARTY sad.gif
Go to the top of the page
+Quote Post
Informatic
post 6.11.2009, 14:27:24
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 3
Dołączył: 18.12.2008

Ostrzeżenie: (0%)
-----


Tak. Wstawiasz na początku danego pliku który inkludujesz, zamiast tworzenia obiektu smarty:
Kod
global $nazwaZmiennejWKtórejTrzymaszInstancjęSmartyTworzonąWPlikuIndexPeHaPe;

biggrin.gif

Ten post edytował Informatic 6.11.2009, 14:27:44


--------------------
Pomogłem? Kliknij Pomógł.
Blog TastyCode.pl
Go to the top of the page
+Quote Post
pys1986
post 6.11.2009, 15:18:29
Post #5





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


SUPER biggrin.gif o to mi chodziło, dzięki.
Go to the top of the page
+Quote Post
macx
post 8.11.2009, 22:10:43
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 8.11.2009

Ostrzeżenie: (0%)
-----


Nie wiem czy dobrze zrozumiałem Twoje pytanie, jeśli tak to czy nie lepiej będzie zrobić to w ten sposób: (po co includować php do szablonu)

plik index.php
CODE
<?php
include_once ('libs/smarty/Smarty.class.php');
$smarty = new smarty();


/* załadowanie odpowiedniego modułu */

$module = (isset($_GET['m']) ? $_GET['m'] : '');

if($module == '') {
$module = 'start'; }

if(file_exists('modules/'.$module.'.php')) {
include('modules/'.$module.'.php');
}
else {
include('modules/start.php');
}

/* koniec ładowania modułu */
?>


potem w pliku nazwa_mudulu.php robisz coś tam z danymi w php i na koniec wyświetlasz templatke.

Takie rozwiązanie pozwoli Ci na załadowanie dowolnego modułu z katalogu modules poprzez np.: ?m=test
unikasz w ten sposób includowania php do tpl.

pozdr.
McX
Go to the top of the page
+Quote Post
f4ll3ns3raf1n
post 28.11.2009, 09:18:06
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.11.2009

Ostrzeżenie: (0%)
-----


witam,
ja z podobnym pytaniem, a mianowicie:
pominmy kwestie bezpieczenstwa danych przekazywanych za pomocą get, chodzi mi o samą ideę.

mam przykladowo plik index.php,
w parametrze "s" jest informacja, jaka strona ma być includowana do konkretnego DIVa, (przykladowo div id="include")
z tym ze, dana strona tez miala by wykorzystywać funkcjonalność szablonów,

przykladowo:
index.php
  1. include($_GET[s].'php');
  2.  
  3. $smarty = new Smarty;
  4. $smarty->assign(toInclude, $_GET[s]);
  5. $smarty->display(index.tpl.php)


strona.php
zawiera jakieś tam skrypty, samo php

index.tpl.php
  1. <div id="include">
  2. {include file={$toInclude}.'tpl.php'}
  3. </div>
  4. </body>


i właśnie sęk w tym, że {include file={$toInclude}.'tpl.php'}, w taki sposób nie mogę....
nie potrafie znalezc odpowiedzi na pytanie, albo slabo wertowalem manual, albo poprostu nie ma tam rozwiązania tego problemu...

ok, poradzilem sobie,
dla potomnych:

index.php => smarty->display(index.tpl)

a w pliku index.tpl sekcja jest, w ktorej jest zczytany include, ktory kieruje do pliku php, a kazdy plik php - do pliku tpl z konkretna zawartoscia :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 07:19