[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Lightboxgalerie mit definiertem Thumb triggern - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Lightboxgalerie mit definiertem Thumb triggern

12. Aug 2013, 16:59

Hallo,

Ich habe eine lightbox galerie. Diese funktioniert uch soweit ganz wunderbar. nur würde ich die gerne triggern ohne Thumnail, bzw. mit nur einem definiertem Thumbnail. Leider funzt das bei mir nicht so richtig. Hat jemand eine Idee wie ich das besser machen könnte?

Eingbe

Code: Alles auswählen

Logo ausw&auml;hlen<br><br>
REX_MEDIA_BUTTON[1]<br />

<select name="VALUE[1]" class="inp100">
<?php
   function getSubCats($catId, $levelMarker)
   {
      $subCat = OOMediaCategory::getCategoryById($catId);

      $selected = '';
      if('REX_VALUE[1]' == $subCat->getId())
      {
         $selected = ' selected="selected"';
      }
      $catSelect .= '<option value='.$subCat->getId().' '.$selected.'>'.$levelMarker.$subCat->getName().'</option>';
      
      if($subCat->countChildren()>0)
      {
         $levelMarker.= $levelMarker;
         foreach($subCat->getChildren() as $subCatChild)
         {
            $catSelect .= getSubCats($subCatChild->getId(), $levelMarker);
         }
      }
      return $catSelect;
   }

   // Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
   // Vorgabe sind zwei feste Leerzeichen wie auch in der Auswahl des Redaxo-Medienpools,
   // könnten aber beliebige andere Zeichen sein (z.B. $levelMarker = '--')
   $levelMarker = '&nbsp;&nbsp;';
   
   // Vorbereitung der Auswahlliste mit den Redaxo-OOF
   $mediaCats = OOMediaCategory::getRootCategories();
   $mediaCatSelect = '<option value=0 selected="selected">Keine Kategorie</option>';
   // Auswahlliste aufbauen, beginnend mit den Rootkategorien des Medienpools
   foreach ($mediaCats as $mediaCat)
   {
      $selected = '';
      if("REX_VALUE[1]" == $mediaCat->getId())
      {
         $selected = ' selected="selected"';
      }
      
      $mediaCatSelect .= '<option value='.$mediaCat->getId().' '.$selected.'>'.$mediaCat->getName().'</option>';

        // Sollten Unterkategorien vorhanden sein, werden diese durch
        // die Funktion getSubCats in die Auswahlliste eingebaut
      if($mediaCat->countChildren()>'0')
      {
         foreach($mediaCat->getChildren() as $mediaCatChild)
         {
            $mediaCatSelect .= getSubCats($mediaCatChild->getId(),$levelMarker);
         }
      }
   }
   print $mediaCatSelect;
?>
</select><br />
<br />
Ausgabe

Code: Alles auswählen

<?php 
// code geklaut vom "Kategorie Medienpool bereitstellen"- Modul ... thanks to all of us
$mediaCat = OOMediaCategory::getCategoryById("REX_VALUE[1]"); 
	// Zufallszahl für Ausgabe
	   srand((double)microtime()*1000000);
	   $rxmodule['random'] = rand (100,900) . rand (100,900);
	   $bild = "REX_MEDIA[1]";

$ResultPointer = mysql_query("SELECT * FROM `rex_file` WHERE category_id = 'REX_VALUE[1]' ORDER BY title ASC"); 
if($ResultPointer != null) 
{ 
  echo "<div class='jaosg_galerie'>\n"; 
   $a=0; 
  for($i=0; $i<mysql_num_rows($ResultPointer); $i++) 
  { 
    $a++; 
    $Result=mysql_fetch_object($ResultPointer); 
    $fname = $Result->filename; 
    $file_ext = substr(strrchr($fname, "."),1); 

    // code for resizing 
   if ($a==1) echo ''; 
    echo '<a rel="lightbox[lb' . $rxmodule['random']
					. ']" href="'.$REX['HTDOCS_PATH'].'index.php?rex_img_type=lightbox_view&rex_img_file='.$Result->filename.'" title="'.$Result->title.'"></a>'; 
if ($a==4){ 
echo ""; 
         $a=0; 
               } 
  
    // end resize code 

  } 
echo '<div class="jaosg_thumbnail_2" style="background:url('.$REX['HTDOCS_PATH'].'index.php?rex_img_type=logo_galerie_132x132&rex_img_file='.$bild.') center center no-repeat #fff;"><a rel="lightbox[lb' . $rxmodule['random']
					. ']" href="#"></a></div></div>'; 
} 
else 
{ 
   echo"<b>FEHLER !!! Es konnten keine Daten gelesen werden.</b>"; 
} 
?>


Das manuel angegebene Bild soll nicht angezeigt werden. Nur die aus der Liste. Für anregungen oder Ideen bin ich dankbar.

Eric

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: Lightboxgalerie mit definiertem Thumb triggern

12. Aug 2013, 17:37

Hallo,
Leider funzt das bei mir nicht so richtig. Hat jemand eine Idee wie ich das besser machen könnte?
Ja, eine bessere Fehlerbeschreibung :O)
und vieleicht was genau möchtest.

Cheffchen

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Lightboxgalerie mit definiertem Thumb triggern

13. Aug 2013, 08:15

Hi,

Ok sorry wenn es nicht so klar ist. Ich würde gerne die Lightbox über ein Logo aktivierbar machen. Also nicht über ein generiertes Thumbnail sondern einem von mir zugewiesenem Bild. Dieses Bild soll aber selber nicht in der Lightbox erscheinen.

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

Re: Lightboxgalerie mit definiertem Thumb triggern

13. Aug 2013, 10:02

Hallo,

also ich habe das jetzt so verstanden:
1. ein Bild suchst aus medienpoll aus, nur dies soll angezeigt werden
2. suchst eine Kategorie aus und nach klick auf dem 1bild sollen nur diese als Lightboxgalerie sich öffnen.
richtig?

In dein code waren einige fehler } haben gefehlt oder waren falsch, schliesende div´s waren auch zu viel drin auch schließende.
versuch das mal damait.
Eingabe ist unverändert

Code: Alles auswählen

    Logo ausw&auml;hlen<br><br>
    REX_MEDIA_BUTTON[1]<br />

    <select name="VALUE[1]" class="inp100">
    <?php
       function getSubCats($catId, $levelMarker)
       {
          $subCat = OOMediaCategory::getCategoryById($catId);

          $selected = '';
          if('REX_VALUE[1]' == $subCat->getId())
          {
             $selected = ' selected="selected"';
          }
          $catSelect .= '<option value='.$subCat->getId().' '.$selected.'>'.$levelMarker.$subCat->getName().'</option>';
         
          if($subCat->countChildren()>0)
          {
             $levelMarker.= $levelMarker;
             foreach($subCat->getChildren() as $subCatChild)
             {
                $catSelect .= getSubCats($subCatChild->getId(), $levelMarker);
             }
          }
          return $catSelect;
       }

       // Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
       // Vorgabe sind zwei feste Leerzeichen wie auch in der Auswahl des Redaxo-Medienpools,
       // könnten aber beliebige andere Zeichen sein (z.B. $levelMarker = '--')
       $levelMarker = '&nbsp;&nbsp;';
       
       // Vorbereitung der Auswahlliste mit den Redaxo-OOF
       $mediaCats = OOMediaCategory::getRootCategories();
       $mediaCatSelect = '<option value=0 selected="selected">Keine Kategorie</option>';
       // Auswahlliste aufbauen, beginnend mit den Rootkategorien des Medienpools
       foreach ($mediaCats as $mediaCat)
       {
          $selected = '';
          if("REX_VALUE[1]" == $mediaCat->getId())
          {
             $selected = ' selected="selected"';
          }
         
          $mediaCatSelect .= '<option value='.$mediaCat->getId().' '.$selected.'>'.$mediaCat->getName().'</option>';

            // Sollten Unterkategorien vorhanden sein, werden diese durch
            // die Funktion getSubCats in die Auswahlliste eingebaut
          if($mediaCat->countChildren()>'0')
          {
             foreach($mediaCat->getChildren() as $mediaCatChild)
             {
                $mediaCatSelect .= getSubCats($mediaCatChild->getId(),$levelMarker);
             }
          }
       }
       print $mediaCatSelect;
    ?>
    </select><br />
    <br />
Ausgabe sind einige änderungen

Code: Alles auswählen

<?php
    // Zufallszahl für Ausgabe
    srand((double)microtime()*1000000);
    $rxmodule['random'] = rand (100,900) . rand (100,900);
    $bild = "REX_MEDIA[1]";


$ResultPointer = mysql_query("SELECT * FROM `rex_file` WHERE category_id = 'REX_VALUE[1]' ORDER BY title ASC");
if($ResultPointer != null)
{
    echo "<div class='jaosg_galerie'>\n";
    for($i=0; $i<mysql_num_rows($ResultPointer); $i++)
    {
        $Result=mysql_fetch_object($ResultPointer);
        $fname = $Result->filename;
        
        #$file_ext = substr(strrchr($fname, "."),1);
        
        // code for resizing
        if ($i==0)
        {
            echo ' <a rel="lightbox[lb' . $rxmodule['random'].']" href="'.$REX['HTDOCS_PATH'].'index.php?rex_img_type=lightbox_view&rex_img_file='.$fname.'" title="'.$Result->title.'">
                <img src="'.$REX['HTDOCS_PATH'].'index.php?rex_img_type=logo_galerie_132x132&rex_img_file='.$fname.'"></a>';
            // end resize code
        }else{
            echo ' <a rel="lightbox[lb' . $rxmodule['random']. ']" href="'.$REX['HTDOCS_PATH'].'index.php?rex_img_type=logo_galerie_132x132&rex_img_file='.$fname.'"></a>';
        }
    }
    echo "</div>\n";    
}
else
{
    echo"<b>FEHLER !!! Es konnten keine Daten gelesen werden.</b>";
}
?>
Cheffchen

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Lightboxgalerie mit definiertem Thumb triggern

13. Aug 2013, 11:00

Vielen Vielen Dank!

Und sorry für diese etwas ungenauen Formulierungen. Bin etwas übernächtigt :wink:

Eric

Zurück zu „Allgemeines [R4]“