TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Beispielbilder mit eigenen Bilder austauschen


Autor Nachricht
Verfasst am: 06. 04. 2009 [13:31]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
Hallo,

wie meine Überschrift schon sagt .. kann man die Beispielbilder, die angezeigt werden, wenn man einen Inhalt "Text mit Bild" erstellen will, mit den Bildern des eigenen Bilderordners (vielleicht fileadmin/contentimg/) bestücken?

Gruß, Grille
Profil
Verfasst am: 06. 04. 2009 [16:11]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
Ich habe jetzt soviel herrausbekommen:

Die Bilder sind von der Extension "lorem_ipsum" (sie erstellt auf Knopfdruck Blindtexte) ...

in der php-Datei "class.tx_loremipsum_wiz.php in der Zeile 119 wird der Pfad zur extension in die Variable $extPath gespeichert.

PHP
$extPath = t3lib_extMgm::extPath('lorem_ipsum');


ich weis leider noch nicht wie man daraus den Pfad zum Fileadmin bastelt.
Profil
Verfasst am: 06. 04. 2009 [19:46]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
wenn ich es richtig verstehe, wird hier der Pfad ermittelt:
PHP
$extPath = t3lib_extMgm::extPath('lorem_ipsum');

und hier wird aufgrund der merkwürdigen Namensgebung der Bilder von a1 bis f6, eine Tabelle aufgebaut die alle Bilder zeigt:
PHP
for($a=0;$a<6;$a++){
  $tCells = array();
  for($b=0;$b<7;$b++){
    $absfile = $extPath.'images/'.chr($ordA+$a).($b+1).'.jpg';
    $onclick = "setFormValueFromBrowseWin('".$PA['itemName']."',unescape('".rawurlencode($absfile)."'),unescape('".rawurlencode(basename($absfile))."')); return false;";
    $tCells[].= '<a href="#" onclick="'.htmlspecialchars($onclick).'">'.t3lib_BEfunc::getThumbNail('thumbs.php', $absfile).'</a>';
  }
 
  $tdAttrib = ' style="width: 56px;" align="center" bgcolor="#cccccc"';
  $tRows[] = '
    <tr>
      <td'.$tdAttrib.'>
        '.implode('</td><td'.$tdAttrib.'>', $tCells).'
      </td>
    </tr>';
}


also muss man diese Schleife entfernen, und alle dateien aus dem gewünschten Ordner auslesen und dann diese auflisten.
Profil
Verfasst am: 07. 04. 2009 [02:02]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
OK .. fertig!

das unten folgende Skript ermöglicht die Anzeige von Bildern die sich in Ordner befinden (in meinem Beispiel : im Typo3-Verzeichnis "fileadmin/contentimg/"icon_wink.gif

Nochmal zur Erklärung, bei der Extension "lorem_ipsum" werden Dummy-Bilder in einer Tabelle gezeigt, wenn man einen Seiteninhalt "Text mit Bild" erstellen will.
Nachfolgendes Script verhindert die Ausgabe der Dummy-Bilder und ermöglicht stattdessen die Ausgabe eigener Bilder.

bearbeitet werden muss die Datei "class.tx_loremipsum_wiz.php" im verzeichnis "typo3conf/ext/lorem_ipsum"

ich möchte auch darauf hinweisen, dass diese Änderung sicher sehr unsauber ist, und jeder echte Typo3-Profi darüber die Nase rümpfen würde/wird!

dieser Code muss unterhalb der Zeile "case 'images':" eingefügt werden:

PHP
// Der Bilderpfad im Typo3 Verzeichnis ... muss man selbst angeben
$mein_bilderpfad = '/fileadmin/contentimg/';
 
// Ausgabecontainer
$ausgabe='';
// ermittelt den absoluten Pfad und verlängert ihn um /fileadmin/contentimg/ (wo sich die Bilder befinden)
$verzeichnis = $_SERVER["DOCUMENT_ROOT"].$mein_bilderpfad;
// oeffnet das Verzeichnis
$verzeichnis_res = openDir($verzeichnis);
 
// liest das Verzeichnis
while ($file = readDir($verzeichnis_res)) {
  // verhindert dass höhere Verzeichnisse mit ausgelesen werden
  if ($file != "." && $file != "..&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" /> {
    // ermittelt die Dateiinformationen der gerade sich in der Schleife befindlichen Datei
    $dateiinfo = pathinfo($verzeichnis.$file);
    // Es sollen nur Bilddateien "GIF", "PNG" und "JPG" weiterbearbeitet werden
    if ($dateiinfo["extension"] == 'png' or $dateiinfo["extension"] == 'gif' or $dateiinfo["extension"] == 'jpg'){
      // ist der komplette absolute Pfad zur Datei und der Dateiname
      $absfile = $verzeichnis.$file;
      // erstellt die onClick-Funktion für das Bild
      $onclick = "setFormValueFromBrowseWin('".$PA['itemName']."',unescape('".rawurlencode($absfile)."'),unescape('".rawurlencode(basename($absfile))."')); return false;";
      // erstellt ein Vorschaubildchen vom Bild und schließt es in einen Link ein der die oben erstellte onClick-Funktion ermoeglicht
      $ausgabe.= '<div style="padding:5px; display:inline;"><a href="#" onclick="'.htmlspecialchars($onclick).'">'.t3lib_BEfunc::getThumbNail('thumbs.php', $absfile).'</a></div>';
    }
  }
}
 
// übergibt die Bilderliste (ausgabe) an die "output-Variable"
$output = '<div style="width:400px;">'.$ausgabe.'</div>';
										// verschönerungen bitte selbst erstellen (Tabellenausgabe oder andere Faxen)


und dieser code muss dafür gelöscht oder auskommentiert werden:
PHP
/*
$ordA = ord('a');
$extPath = t3lib_extMgm::extPath('lorem_ipsum');
 
$tRows = array();
for($a=0;$a<6;$a++)	{
  $tCells = array();
  for($b=0;$b<7;$b++)	{
    $absfile = $extPath.'images/'.chr($ordA+$a).($b+1).'.jpg';		
    $onclick = "setFormValueFromBrowseWin('".$PA['itemName']."',unescape('".rawurlencode($absfile)."'),unescape('".rawurlencode(basename($absfile))."')); return false;";
    $tCells[].= '<a href="#" onclick="'.htmlspecialchars($onclick).'">'.
        t3lib_BEfunc::getThumbNail('thumbs.php', $absfile).
        '</a>';
    }
  $tdAttrib = ' style="width: 56px;" align="center" bgcolor="#cccccc"';
  $tRows[] = '
    <tr>
      <td'.$tdAttrib.'>
        '.implode('</td><td'.$tdAttrib.'>', $tCells).'
      </td>
    </tr>';
  }
 
$output = '
  <table border="0" cellpadding="2" cellspacing="2" style="border: 1px solid black; margin-top: 5px; margin-bottom: 15px;">
    <tr><td colspan="7" bgcolor="#aaaaaa"><b>Click a dummy image to select it:</b></td></tr>
      '.implode('',$tRows).'
    <tr><td colspan="7"><em>All images are copyright © Kasper Skårhøj 2001-2004 and licensed in these resolutions under Open Content License.</em></td></tr>
  </table>';
*/
Profil
Verfasst am: 07. 04. 2009 [19:12]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
etwas erweitert, damit mehrere Bild-Verzeichnisse gleichzeitig nutzen kann:

PHP
case 'images':
  $ausgabe='';
 
  $mein_bilderpfad_array = array(
    '/fileadmin/contentimg/',
    '/uploads/tf/',
    '/uploads/pics/'
    );
 
  foreach ( $mein_bilderpfad_array as $mein_bilderpfad){
    $verzeichnis = $_SERVER["DOCUMENT_ROOT"].$mein_bilderpfad;
    $verzeichnis_res = openDir($verzeichnis);	
    while ($file = readDir($verzeichnis_res)) {
      if ($file != "." && $file != "..&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" /> {
        $dateiinfo = pathinfo($verzeichnis.$file);
        if ($dateiinfo["extension"] == 'png' or $dateiinfo["extension"] == 'gif' or $dateiinfo["extension"] == 'jpg'){
          $absfile = $verzeichnis.$file;
          $onclick = "setFormValueFromBrowseWin('".$PA['itemName']."',unescape('".rawurlencode($absfile)."'),unescape('".rawurlencode(basename($absfile))."')); return false;";
          $ausgabe.= '<div style="padding:5px; display:inline;"><a href="#" onclick="'.htmlspecialchars($onclick).'">'.t3lib_BEfunc::getThumbNail('thumbs.php', $absfile).'</a></div>';
        }
      }
    }
  } //ende der foreach-schleife
$output = '<div style="width:400px;">'.$ausgabe.'</div>';
break;
Profil