Aus einem Modul einen Ordner des Dateisystems aufrufen

Gesperrt
CharlyBrown
Beiträge: 77
Registriert: Sa 13. Feb 2010, 16:07
Kontaktdaten:

Aus einem Modul einen Ordner des Dateisystems aufrufen

Beitrag von CharlyBrown » Do 21. Apr 2011, 11:11

Liebe Gemeinde,

mit Eurer Hilfe habe ich ein kleines Modul entwickelt, welches Thumbnails aus einem Ordner des Dateisystems erstellt. Das funktioniert ganz gut. Derzeit zeigt es nur die Vorschaubilder eines von mir händisch in der Konfiguration eingetragenen Ordners an.

Ich möchte das Modul jetzt dahingehend erweitern, das folgendes möglich ist.

1) In der Konfiguration des Moduls soll zunächst der Ordner mit den anzuzeigenden Bildern aufrufbar sein und zwar komfortabel.
2) Dann sollen aus dem Ordner alle Bildnamen gelistet werden, die der Redakteur dann mit einem Bildnamen (Titel) versehen kann. Idealerweise wird das Bild dazu angezeigt und das Textfeld für den Titel erscheint daneben.

Zugegebenermaßen ein recht ehrgeiziges Vorhaben :) . Zunächst möchte ich dazu wissen, ob es aus Contenido heraus die Möglichkeit gibt, dem Redakteur die Auswahl des gesamten Ordners zu ermöglichen mittels eines geeigneten Dialogs.

Für Anregungen wäre ich dankbar.

Frank

McHubi
Beiträge: 1210
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Aus einem Modul einen Ordner des Dateisystems aufrufen

Beitrag von McHubi » Do 28. Apr 2011, 12:03

Schau Dir mal das Modul hier an, dürfte in die Richtung gehen die Du gerne hättest :wink:

Beschreibung

Code: Alles auswählen

http://forum.contenido.org/viewtopic.php?t=21774
Hinweis auf:
http://www.ittool.de/cms/front_content.php?idcat=27&idart=50

Zum Einfügen von Bildern und Flash Dateien.
Hinweise zu den Modifikationen von Phillip Baumgaertner:
Letzte aenderung: 15.02.2007
Version 2.1 - W3C valider Coder der Flash Ausgabe
Version 2.2 - Das Flash geht nun auch in Firefox
INPUT

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modified    :     15.02.2007 Philipp Baumgaertner
                    04.06.2008 Markus Hübner
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";

if ($cms_dirname == '' || $cms_dirname == '0') {
    $cms_dirname = 'bilder/';
}

#Get paths
$sql = "SELECT
    htmlpath, frontendpath
    FROM
    ".$cfg["tab"]["clients"]." 
    WHERE
    idclient = ".$client." ";

$db->query($sql);

if ($db->next_record()) {
    $htmlpath = $db->f('htmlpath');
    $frontendpath = $db->f('frontendpath');
}

#Choose image folder
echo '<table cellpadding="0" cellspacing="0" border="0">
    <tr><td class="text_medium" style="padding:5px">'.mi18n("Verzeichnis w&auml;hlen").': </td>
    <td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[1]" style="width:200px">';

#Get upload directories
$sql = "SELECT DISTINCT
    dirname
    FROM
    ".$cfg["tab"]["upl"]."
    WHERE
    idclient='$client' AND
    filetype IN ('jpeg','jpg','gif','png', 'swf')
    ORDER BY
    dirname";

$db->query($sql);

$selected = false;
while ($db->next_record()) {
    $dirname = $db->f('dirname');
    if ($cms_dirname != $dirname) {
        echo '<option value="'.$dirname.'">&nbsp;'.$dirname.'</option>';
    } else {
        $selected = true;
        echo '<option value="'.$dirname.'" selected="selected">&nbsp;'.$dirname.'</option>';
    }
}

if (!$selected) {
    echo '<option value="0" selected="selected">'.i18n("Bitte w&auml;hlen").'</option>';
} else {
    echo '<option value="0">'.i18n("Bitte w&auml;hlen").'</option>';
}

#Choose image file
echo '</select>&nbsp;<input type="image" src="images/submit.gif">
    <tr><td class="text_medium" style="padding:5px">'.mi18n("Bild- oder Flashdatei w&auml;hlen").': </td>
    <td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[2]" style="width:200px">';
echo '<option value="0" selected="selected">'.i18n("Bitte w&auml;hlen").'</option>';

if ($cms_dirname != '0') {
    #Get uploaded files
    $sql = "SELECT 
            filename
            FROM
            ".$cfg["tab"]["upl"]."
            WHERE
            idclient = '$client' AND
            filetype IN ('jpeg','jpg','gif','png','swf') AND
            dirname = '$cms_dirname' 
            ORDER BY
            filename";

    $db->query($sql);

    while ($db->next_record()) {
        $img_name = $db->f('filename');
        if ($cms_filename != $img_name) {
            echo '<option value="'.$img_name.'">&nbsp;'.$img_name.'</option>';
        } else {
            echo '<option selected="selected" value="'.$img_name.'">&nbsp;'.$img_name.'</option>';
        }
    }
}

echo '</select>&nbsp;<input type="image" src="images/submit.gif">';

#Preview image
if ($cms_dirname != '0' AND $cms_filename != '0' AND strlen($cms_dirname) > 0 AND strlen($cms_filename) > 0) {
    $img_path = $htmlpath.$cfgClient[$client]['upload'].$cms_dirname.$cms_filename;
    $img_split = preg_split("/\./", $cms_filename);
    $count = count($img_split);
    $type = $img_split[$count -1];

    echo '<tr><td colspan="2" style="padding:5px">';

    if (substr($img_path,-3) != "swf") {
        echo '<img src="'.$img_path.'">';
    } else {
        $size = getimagesize ("$img_path");
        echo '<object type="application/x-shockwave-flash" data="'.$img_path.'" id="Flash" '.$size[3].'>
                <param name="movie" value="'.$img_path.'" />
                <param name="bgcolor" value ="#FFFFFF" />
                <param name="quality" value ="high" />
                <param name="loop" value="false" />
                <param name="menu" value="false" />
                <param name="swliveconnect" value="true" />
                </object>';
    }

    echo '</td></tr>';
}

echo '</td></tr>';
echo '</table>';







echo "<table>";
echo "<tr><td>Alternativtext (nur bei Bildern) </td><td><input size=30 type=\"text\" name=\"CMS_VAR[20]\" value=\"CMS_VALUE[20]\"></td></tr>";
echo "<tr><td>horizontale Ausrichtung</td><td>";
if ("CMS_VALUE[80]" != "left") { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="left"> links'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="left" checked> links'; 
} 
if ("CMS_VALUE[80]" != "center") { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="center"> zentriert'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="center" checked> zentriert'; 
} 
if ("CMS_VALUE[80]" != "right") { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="right"> rechts'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[80]" value="right" checked> rechts'; 
} 

echo "</td></tr>";
echo "<tr><td>Abstand oben</td><td><input size=3 type=\"text\" name=\"CMS_VAR[70]\" value=\"CMS_VALUE[70]\"> Pixel</td></tr>";
echo "</table>";



echo "<hr>";
echo "<strong>Folgende Punkte gelten nur für Flash-Dateien</strong>";
echo "<hr>";
echo "<table>";
echo "<tr><td>Qualität</td><td>";
if ("CMS_VALUE[30]" != "best") { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="best"> optimal'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="best" checked> optimal'; 
} 
if ("CMS_VALUE[30]" != "high") { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="high"> hoch'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="high" checked> hoch'; 
} 
if ("CMS_VALUE[30]" != "medium") { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="medium"> mittel'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="medium" checked> mittel'; 
} 
if ("CMS_VALUE[30]" != "low") { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="low"> niedrig'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[30]" value="low" checked> niedrig'; 
} 
echo "</td></tr>";

echo "<tr><td>Auto-Wiederholung</td><td>";
if ("CMS_VALUE[40]" != "true") { 
   echo '          <input type="radio" name="CMS_VAR[40]" value="true"> ja'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[40]" value="true" checked> ja'; 
} 
if ("CMS_VALUE[40]" != "false") { 
   echo '          <input type="radio" name="CMS_VAR[40]" value="false"> nein'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[40]" value="false" checked> nein'; 
} 
echo "</td></tr>";

echo "<tr><td>Menü anzeigen</td><td>";
if ("CMS_VALUE[50]" != "true") { 
   echo '          <input type="radio" name="CMS_VAR[50]" value="true"> ja'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[50]" value="true" checked> ja'; 
} 
if ("CMS_VALUE[50]" != "false") { 
   echo '          <input type="radio" name="CMS_VAR[50]" value="false"> nein'; 
} else { 
   echo '          <input type="radio" name="CMS_VAR[50]" value="false" checked> nein'; 
} 
echo "</td></tr>";

echo "<tr><td>Hintergrundfarbe</td><td><input size=5 type=\"text\" name=\"CMS_VAR[60]\" value=\"CMS_VALUE[60]\"> (bitte als #... eintragen)</td></tr>";
echo "</table>";
OUTPUT

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Illustration
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modified    :     15.02.2007 Philipp Baumgaertner
                    04.06.2008 Markus Hübner
************************************************/

#Selected img directory
$cms_dirname = "CMS_VALUE[1]";
#Selected img
$cms_filename = "CMS_VALUE[2]";

#Default settings
$defaultImage = 'upload/bilder_02/header_left_02b.jpg';

if ($cms_filename != '0') {
    $image = "upload/".$cms_dirname.$cms_filename;
} else {
    $image = $defaultImage;
}

#Output image tag
echo "<div align=\"CMS_VALUE[80]\" style=\"padding-top:CMS_VALUE[70]px;\">";

if (substr($image,-3) == "swf") {
    $size = getimagesize ("$image");
    echo '<object type="application/x-shockwave-flash" data="'.$image.'" id="Flash" '.$size[3].'>
            <param name="movie" value="'.$image.'"></param>
            <param name="bgcolor" value="CMS_VALUE[60]"></param>
            <param name="quality" value="CMS_VALUE[30]"></param>
            <param name="loop" value="CMS_VALUE[40]"></param>
            <param name="menu" value="CMS_VALUE[50]"></param>
            <param name="swliveconnect" value="true"></param>
            </object>';
} else {
    echo '<a title="zur Startseite" href="front_content.php"><img src="'.$image.'" alt="CMS_VALUE[20]" title="CMS_VALUE[20]"/></a>';
}

echo "</div>";
?>
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

Gesperrt