mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 19.03.2024 04:18 Benutzername: Passwort: Auto-Login

Thema: Brauche hilfe bei Smarty vom 21.12.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Brauche hilfe bei Smarty
Autor Nachricht
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Do 21.12.2006 08:40
Titel

Brauche hilfe bei Smarty

Antworten mit Zitat Zum Seitenanfang

Guten morgen,

also ich habe mich mal ein bisschen mit Smarty beschäftigt. Habe im Internet folgendes Script gefunden:

Code:

<?php
// put full path to Smarty.class.php
require('Pfad/');
$smarty = new Smarty();

$smarty->template_dir = 'Pfad/';
$smarty->compile_dir = 'Pfad/';
$smarty->cache_dir = 'Pfad/';

//Setup the url var we are looking for to control page display
$page_var = 'page';

//Using the $_REQUEST scope so that the page can be passed in via $_POST or $_GET
$page_request = $_REQUEST[$page_var];

//This array holds the relationship between the page variable and the template to load.. This info could also be retrieved from a db
$menu = array (
   'home' => 'home.tpl',
   'about us' => 'aboutus.tpl',
);

//Check if the requested page was found in the menu
if ( array_key_exists ( $page_request, $menu ) ){
   $template = $menu[$page_request];
   //If not set the default page
}else{
   $template = 'home.tpl';
}

//Assign info to Smarty and display
$smarty->compile_id = $template;
$smarty->caching = 1;
$smarty->assign('menu', $menu);
$smarty->assign('template', $template);
$smarty->assign('page_var', $page_var);
$smarty->assign('notice',$notice);
$smarty->display('index.tpl');
?>   


Nun wollte ich wohl gerne die einzelnen Seiten wie z.B. Home, About_us mittels Smarty bearbeiten. Ich weiß aber nicht wie? Ich müsste das ja dann z.B über home.php laufen lassen und da z.B. ne DB - Abfrage erstellen und die dann in der home.tpl auslesen.

Hab ihr da ne Idee?

vielen dank schonmal

gruß
j.r
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Do 21.12.2006 10:04
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
$smarty->display('index.tpl');

Hier gibst Du das jeweilige Template an. Da kannst Du dann die entsprechende
Seite anzeigen.

Allerdings habe ich deine Fragestellung nicht ganz verstanden.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Do 21.12.2006 10:30
Titel

Antworten mit Zitat Zum Seitenanfang

Meine Frage war die das ich ja wie in dem Beispiel eine home.tpl und eine aboutus.tpl reinladen.
Nun möchte ich gerne den Inhalt der home.tpl und der aboutus.tpl per Smarty steuern z.B. eine Datenbankabfrage erstellen und die dann in die home.tpl laden.

Hoffe ich hab das jetzt verständlich erklärt.

gruß
j.r
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Do 21.12.2006 10:32
Titel

Antworten mit Zitat Zum Seitenanfang

Siehe hierzu die Smarty-Dokumentation: Variablen
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Do 21.12.2006 10:37
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank, aber wie genau muss ich das in der index.php definieren das der nicht die home.tml lädt sondern die home.php?

Wenn ich bei der Abfrage:

Code:
$menu = array (
   'home' => 'home.tpl',
   'about us' => 'aboutus.tpl',
);


home.php angebe anstatt home.tpl und die Seite dann aufrufe lädt der mit den ganzen inhlat von der home.php da rein.
  View user's profile Private Nachricht senden
ottscho

Dabei seit: 10.01.2006
Ort: Nähe Freiburg
Alter: 40
Geschlecht: Männlich
Verfasst Do 21.12.2006 21:45
Titel

Antworten mit Zitat Zum Seitenanfang

also ich mache es so:
Code:

//Ausgabe der Seite
switch ($seite) {
case 1:
$smarty->display('template_a.tpl');
break;
case 2:
$smarty->display('template_a.tpl');
break;
case 3:
$smarty->display('template_b.tpl');
break;
case 4:
$smarty->display('template_c.tpl');
break;
case 5:
include_once"inc/function.php";
include_once"inc/search.php";
break;
default:
$smarty->display('index.tpl');


vllt hilft es dir weiter.

Gruß
ottscho
  View user's profile Private Nachricht senden
Kraat

Dabei seit: 05.10.2006
Ort: Köln
Alter: 42
Geschlecht: Männlich
Verfasst Fr 22.12.2006 09:17
Titel

Antworten mit Zitat Zum Seitenanfang

http://smarty.php.net/crashcourse.php
http://smarty.php.net/manual/de/
http://smarty.incutio.com/

Speziell für Dich könnte helfen :
---------------------------------------------
http://smarty.php.net/manual/de/language.syntax.variables.php

Gruß und en frohes Fest
  View user's profile Private Nachricht senden
 
Ähnliche Themen SMARTY to PHP
templates mit smarty
Link per Smarty und Get übergeben
Ordner auslesen mit Smarty
[Dreamweaver CS5.5] Smarty Tags?
Switch Content & Smarty (JQuery)
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.