PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : If condition und Variable aus excludescript


james_55
08.12.2007, 09:48
Hallo,
ich habe ein externes PHP Script eingebunden (global).
Das Script liest bestimmte ForenIds aus.
$fids = "6,56,66";

Wenn ich jetzt in das Template schreibe
<if condition="in_array($foruminfo['forumid'], array($fids))">
geht das auch.

Das Problem ist, dass er immer nur die erste ID nimmt (wahrscheinlich wegen dem array).

Hat einer eine Idee was man da machen kann?
Gruss James

PS: Ich könnte die IDs ja reinschreiben .... da ich aber die condition öfters verwende und nicht jedesmal alle Templates neu überarbeiten möchte (wenn ein neues Forum dazugekommen ist), geht das leider nicht :(

Znaper
08.12.2007, 10:48
Wenn Du die Variable $fids füllst wie in deinem obigen Beispiel
$fids = "6,56,66"; dann ist es kein Array sondern ein String.
So wäre die Variable korrekt zu befüllen um ein Array zu erhalten:
$fids = array("6", "56", "66");
Dann funktioniert auch die PHP-Funktion in_array.

Für ein paar Beispiel siehe hier: http://de2.php.net/manual/de/function.in-array.php

mfg Znaper

StGaensler
08.12.2007, 17:47
Hallo,

wenn die Lösung von Znaper nicht einfach umsetzbar ist, kannst du den String mit der Funktion explode() auch in ein Array umwandeln lassen:$fids = explode(',', $fids);
Viele Grüße,
Stefan

james_55
09.12.2007, 22:12
danke für eure Hilfe ... klappt aber leider beides nicht :(
Vielleicht habe ich es nicht gut genug erklärt. Ich versuche es nochmal.

Ich habe ein PlugIn erstellt

Einstiegspunkt (Hook): global_start
Titel: Externes PHP-Skript

PHP-Code des Plug-ins:
if (THIS_SCRIPT != 'external')
{
ob_start();
include('L:\xampp\htdocs\meinscript.php');
$externalscript = ob_get_contents();
ob_end_clean();
}dann habe ich im Templatesystem "header"
das hier eingefüt

<if condition="in_array($foruminfo['forumid'], array($fids))"> ... </if>meinscript.php
$fids = "54,148,59";

StGaensler
09.12.2007, 22:27
Eine Kleinigkeit haben wir nicht deutlich ausgdrückt: Im Template selbst musst du das array() dann weglassen - egal, welchen Weg du gehst.<if condition="in_array($foruminfo['forumid'], $fids)">
Viele Grüße,
Stefan

james_55
09.12.2007, 23:10
funktioniert. danke dir !