php-script einbinden

CMSimple 4.0 und höher
Post Reply
Bulkington
Posts: 28
Joined: Tue 4. Jun 2013, 13:55
Contact:

php-script einbinden

Post by Bulkington » Sat 31. May 2014, 14:22

Hallo zusammen,
ich möchte ein php-Script auf unsererHomepage www.scroterturm.de einbinden. Das Script kann man ansehen auf http://www.schachbund.de/api.html, siehe "DWZ-Vereinsliste aus einem serialisierten Array". Dieser Code erzeugt eine Tabelle indem Daten von einem zentralen Server gelesen werden.

Folgendes habe ich versucht:
1. Seite geöffnet im Bearbeitungsmodus
2. HTML-Fenster im Seiteneditor geöffnet ("HTML Quellcode bearbeiten")
3. hier dann rumgespielt, indem ich mittels php echo-Anweisung "Hello World" auf der Seite ausgeben lassen wollte, folgendermaßen: <?php echo '<p>Hallo Welt</p>'; ?>

Tja, hat nicht funktioniert. Vielleicht kann mir jemand weiterhelfen ?

Vielen Dank,
Peter

Gert
Posts: 1305
Joined: Sun 18. Nov 2012, 14:18

Re: php-script einbinden

Post by Gert » Sat 31. May 2014, 14:48

Hallo Peter,

php coden im Inhalt geht nicht.

Du kannst höchstens eine Funktion in die ./cmsimple/userfuncs.php schreiben (wenn noch nicht da => Datei erzeugen) und im Inhalt aufrufen.

Funktion:

Code: Select all

<?php // wenn noch nicht vorhanden

function vereinsliste($zps)
{
    // Daten als Array laden (Zeichensatz UTF-8!)
    $array = unserialize(file_get_contents("http://www.schachbund.de/php/dewis/verein.php?zps=" . $zps . "&format=array"));
     
    // Array für die Sortierung umbauen (nur relevante Spalten)
    foreach($array as $key => $value)
    {
        $id[$key] = $value["id"];
        $nachname[$key] = $value["nachname"];
        $vorname[$key] = $value["vorname"];
        $dwz[$key] = $value["dwz"];
        $dwzindex[$key] = $value["dwzindex"];
    }
     
    // Nach DWZ und Index sortieren
    array_multisort($dwz,SORT_DESC,SORT_NUMERIC,$dwzindex,SORT_DESC,SORT_NUMERIC,$id,$nachname,$vorname);
     
    // Liste ausgeben
    $output = "<table>\n";
    $output.= "<tr>\n";
    $output.= "<th>Pl.</th>\n";
    $output.= "<th>Name</th>\n";
    $output.= "<th>DWZ</th>\n";
    $output.= "<th>Index</th>\n";
    $output.= "</tr>\n";
    for($x=0;$x<count($dwz);$x++)
    {
        $platz = $x+1;
        $output.= "<tr>\n";
        $output.= "<td>$platz</td>\n";
        $output.= "<td><a href=\"http://www.schachbund.de/spieler.html?pkz=".$id[$x]."\" target=\"_blank\">".$nachname[$x].",".$vorname[$x]."</a></td>\n";
        $output.= "<td>$dwz[$x]</td>\n";
        $output.= "<td>$dwzindex[$x]</td>\n";
        $output.= "</tr>\n";
    }
    $output.= "</table>\n";
    return $output;
}

?> // wenn noch nicht vorhanden
Der php Code muss zwischen <?php ... ?> stehen. Wenn Du die userfuncs.php neu anlegst, musst Du das selbst eingeben, wenn sie schon da ist, sollte das schon vorhanden sein.

Aufruf im Inhalt:

Code: Select all

{{{function:vereinsliste('30052');}}}
Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Bulkington
Posts: 28
Joined: Tue 4. Jun 2013, 13:55
Contact:

Re: php-script einbinden

Post by Bulkington » Sun 1. Jun 2014, 17:37

Hallo Gert,
vielen Dank! Das funktioniert und was dazu gelernt habe ich auch.

Mit den allerbesten Grüßen,
Peter

Post Reply