Seite 1 von 1

PhP Abfrage

Verfasst: 20.11.2005, 20:30
von workershop
Hallo,

ich möchte in einem Verzeichnis von mir für jede Kategorie eine Beschreibung einfügen.

Im Layout habe ich dieses Include eingefügt: {include file="rotator.tpl"}

in dem Rotator Template steht folgendes:
{php}
$catid = $this->get_template_vars('category');
$this->assign('rotatorFile', ($catid['ID'] .".inc"));
{/php}
{include file=$rotatorFile}


Pro Kategorie wird jeweils eine .inc mit der jeweiligen Beschreibung eingefügt. Funktioniert ganz gut, auser das in den Kategorien für die noch keine .inc vorhanden ist eine smarty Fehlermeldung kommt.

Jetzt zu meiner Frage. Wie kann ich das Rotator Template dahingehend umändern, das die Abfrage so ist : wenn eine .inc für die Cat ID vorhanden dann nimm diese, sonnst nimm diese.

Ronny

Verfasst:
von

PhP Abfrage

Verfasst: 20.11.2005, 21:50
von Cole
Vielleicht mit file_exists() abfragen ob diese .inc existiert?

Also ungefähr so:

Code: Alles auswählen

if (file_exists($catid['ID'] .".inc")) { 
  // Fall 1: Datei existiert
}
else {
  // Fall 2: Datei existiert nicht
}

Verfasst: 26.11.2005, 18:52
von workershop
Danke für deine Antwort, aber wie verbinde ich das mit dem Teil:

{php}
$catid = $this->get_template_vars('category');
$this->assign('rotatorFile', ($catid['ID'] .".inc"));
{/php}
{include file=$rotatorFile}

PhP Abfrage

Verfasst: 26.11.2005, 19:11
von Cole
So sollte es doch eigentlich gehen:

Code: Alles auswählen

{php}
$catid = $this->get_template_vars('category'); 
if (file_exists($catid['ID'] .".inc")) {
 $this->assign('rotatorFile', ($catid['ID'] .".inc")); 
}
else {
  $this->assign('rotatorFile', (default.inc)); 
} 
{/php}
{include file=$rotatorFile}
Wenn eine .inc für die catid existiert wird diese benutzt, ansonsten default.inc.

PhP Abfrage

Verfasst: 26.11.2005, 19:35
von workershop
{php}
$catid = $this->get_template_vars('category');
if (file_exists($catid['ID'] .".inc")) {
$this->assign('rotatorFile', ($catid['ID'] .".inc"));
}
else {
$this->assign('rotatorFile', (d .".inc"));
}
{/php}
{include file=$rotatorFile}


So funktioniert es - danke für deine Unterstützung.

PhP Abfrage

Verfasst: 26.11.2005, 19:42
von workershop
Nein, doch nicht-er nimmt für alle die d.inc :-(

PhP Abfrage

Verfasst: 26.11.2005, 20:01
von Cole
Hmm, versuchs vielleicht mal mit dem absoluten Pfad, also ungefähr so:

Code: Alles auswählen

file_exists("/path/to/". $catid['ID'] .".inc")

PhP Abfrage

Verfasst: 26.11.2005, 20:14
von workershop
Nein, funktioniert nicht

Re: PhP Abfrage

Verfasst: 27.11.2005, 12:44
von Babelfisch
workershop hat geschrieben:Nein, funktioniert nicht
Dann hast du einen falschen Pfad angegeben. Korrigiere das und du wirst sehen, dass es funktioniert. Ich kenne mich mit Sparty nicht aus aber nach einem kurzen Blick in die Doku würde ich es so machen:

Code: Alles auswählen

{php}
$catid = $this->get_template_vars('category');
if (file_exists($this->template_dir.'/'.$catid['ID'] .'.inc')) {
  $this->assign('rotatorFile', $catid['ID'] .'.inc');
} else {
  $this->assign('rotatorFile', 'default.inc');
}
{/php}
{include file=$rotatorFile}

Verfasst: 29.11.2005, 20:38
von workershop
Das funktioniert - Dankeschön Jungs für Eure Hilfe.