Pixlie als Galerie einbinden

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Pixlie als Galerie einbinden

Post by kmsmei » Sat May 05, 2012 8:14 pm

Hallo an alle,

habe inzwischen ein paar Stunden rumprobiert, komme jedoch nicht auf einen grünen Zweig :(
Hat irgendjemand schon mal das Galerieframework "Pixlie" (http://www.pixlie.de) in eine Seite eingebunden? Prinzipiell wird der Aufruf über ein <? include (pfad/pixlie.php) ?> gemacht - wenn ich es aber in eine Seite einbinden will, kann ich keinen php-Code verwenden.
Wenn ich es recht verstanden habe, sollte ich also ein plugin draus machen. Bin ein wenig ratlos, zumal mir die Programmierung von plugins noch nicht wirklich einleuchtet.

Gruß Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Pixlie als Galerie einbinden

Post by cmb » Sun May 06, 2012 10:34 am

Hallo Frank,
kmsmei wrote: wenn ich es aber in eine Seite einbinden will, kann ich keinen php-Code verwenden
Na ja, man kann schon PHP-Code in einer CMSimple-Seite nutzen, und zwar in Form von CMSimple-Scripting. Was aber nicht funktioniert, ist die "Template"-Notation von PHP (also HTML mit PHP-Code-Schnipseln). Für Pixlie bietet sich also ein "Plugin" an.

Wie Plugins programmiert werden, ist im Plugin Tutorial und im Tutorial des Example Plugin beschrieben. Beides sicher nicht umfassend, aber für den Anfang dürfte es reichen.

Der wesentliche Unterschied bei einem Plugin im Vergleich zu einem Stand-Alone-Script wie Pixlies beispiel.php ist, dass die Ausgaberoutine in eine Funktion eingebettet werden muss (damit sie per Plugin-Call aufgerufen werden kann), und die Ausgabe nicht direkt ausgegeben werden darf, sondern per return an CMSimple zurück geliefert wird. Diese Funktion definiert man in plugins/PLUGINNAME/index.php.

Konkret: einfach den pixlie/ Ordner nach plugins/ hochladen, und dort eine index.php ergänzen:

Code: Select all

<?php

function pixlie_gallery() {
    global $hjs;

    $response_type = 'php';   //Ausgabe auf php umstellen
    include('pixlie.php');       //Einbinden von Pixlie

    ob_start(); ?>

<!-- Hier die Elemente für den <head> -->
<script type="text/javascript" src="pfad/zu/wasauchimmer.js"></script>

<?php
    $hjs .= ob_get_clean();
    ob_start();
?>

<!-- Hier die eigentliche Ausgabe für den <body> -->
<h2>Beispielausgabe</h2>
<?php
/*Baue Link zu Bildtyp "s" (small): Pfad zu Pixlie / Pfad zum Bild / _s + Dateiendung*/
foreach ($pixlie_table_file as $picture){ ?>
  <img
    src="<?php echo $pixlie_table_env['path_pixlie'].$picture['link_get']; ?>_s<?php echo $picture['extension']; ?>"
    alt="<?php echo $picture['name']; ?>" />
 <?php } ?>

<?php
    return ob_get_clean();
}

?>
Dann an der gewünschten Stelle im Content aufrufen:

Code: Select all

{{{PLUGIN:pixlie_gallery();}}}
Christoph
Christoph M. Becker – Plugins for CMSimple_XH

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Pixlie als Galerie einbinden

Post by kmsmei » Sun May 06, 2012 11:15 am

Hallo Christoph,

da hast du mich ja mal wieder aus der Patsche gerettet - danke Dir!
Was mich beruhigt ist, dass ich schon ziemlich auf dem richtigen Weg war. Nur fehlte mir der konkrete Aufbau des Plugin. Im Wiki hatte ich schon gesucht, das Plugin "Example" aber wirklich nicht für voll genommen. :shock:
Danke noch mal und schönen Sonntag!

Gruß Frank

Post Reply