ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » IMG - BBCode 2.0 für 1.1I

Geschlossen
  1. #1
    User Pic
    doedel Mitglied
    Registriert seit
    16.12.2007
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    könnte mir jemand sagen,
    in welcher Datei IMG Größe geändert ?

    Damit meine ich die, welche aus den zu großen Bildern,
    ein kleineres macht.

    Ich nutze Ilch 1.1I und den BBCode 2.0 dafür.


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Im Adminbereich gibts dazu Einstellungen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    doedel Mitglied
    Registriert seit
    16.12.2007
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Ja, ich wollte aber die Art davon ändern,
    denn es erstellt ja denn autom. einen
    Link zum Bild in Vollgröße und in dort wollte
    ich Lightbox2 einbauen, damit es nicht in einem Extrafenster,
    sindern direkt in dieser Box geöffnet wird.

    Ich muss ja threoretisch nur noch den Code in <img..> einbauen.

    rel="lightbox"
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Sicher kannst du gerne machen, in der class/bbcode.php oder auch in der BBCodeGlobals.js, hier gabs auch schon mal ein Thema in dem das beschrieben wurde.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    doedel Mitglied
    Registriert seit
    16.12.2007
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Ich bekomme das irgendwie nicht sohin wie ich das möchte.

    So wie ich das hinbekomme wird das genommen,
    was man im URL Tag schreibt, also

    [url=bild.jpg] [img]bild.jpg[/img] [/url]


    Jedoch wollte ich, das die lightbox dann/nur genommen wird,
    wenn man kein URL Tag nutzt aber das Bild zu groß ist.

    [img]bild.jpg[/img] <- Bild größer als erlaubt


    und daraus wird ja per Script irgendwie sowas:

    <a href=\"".$src."\" target="_blank"><img scr=\"".scr."\"></a>


    Naja, auf jedenfalls geht es nur wenn ich den URL Tag davor nutze,
    außerdem wird dadurch jeder Link als Bild per Lightbox genommen


    Edit:

    Ich sehe gerade, das ich auch das falsche geändert habe.

    	//> Links darstellen und ggf. kürzen
    
    [...]
    
        if (substr($string,0,1) == '/' OR strpos($string,$server) !== false) {
    	$target = 'lightbox';
        } else {
    	$target = 'lightbox';
        }
    
    		$count = strlen($caption);
        if($count >= $this->info['UrlMaxLaenge']) {
    			$string = "<a href=\"".$string."\" rel=\"".$target2."\">".$this->_shortcaptions($caption)."</a>";
    		} else {
    			$string = "<a href=\"".$string."\" target=\"".$target."\">".$caption."</a>";
    		}
    		return $string;
    	}



    PS: Ich habe in der Suche nichts wirklich tolles gefunden,
    da PHP für mich generell noch etwas unübersichtlich wirkt.


    Wäre also dankbar wenn man mir noch genauere Infos von dem Code abschnitt geben könnte lächeln


    Zuletzt modifiziert von doedel am 21.01.2008 - 23:17:07
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    doedel Mitglied
    Registriert seit
    16.12.2007
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Ok, ich habe jetzt einiges versucht, kriege es aber nicht hin.

    Dort wo // habe ich rumprobiert
    jedoch bekomme ich es nicht richtig hin.

    <? BBCode.php
    
      //> Bilder auf Verkleinern via Javascript überprüfen.
      function _img($string,$float='') {
        if ($float == 'none' OR $float == 'left' OR $float == 'right') {
          $float = 'style="float:'.$float.'; margin: 5px;" ';
        } else {
          $float = '';
        }
        $image = '<img src="'.$string.'" alt="" title="" border="0" class="bbcode_image" '.$float.'/>';
    //    $image = '<img src="'.$string.'" rel="lightbox" alt="" title="" border="0" class="bbcode_image" '.$float.'/>';
        return $image;
      }
    
    ?>


    <? BBCodeGlobal.js
    
    
    //Funktion zum Ƅndern der BildgrĆ¶ĆŸe fĆ¼r zu groƟe Bilder
    function SetSize(img){
      var w = img.width;
      var h = img.height;
      var toChange = false;
      if (w>bbcodemaximagewidth) {
        h = bbcodemaximagewidth * h / w;
        w = bbcodemaximagewidth;
        toChange = true;
        }
      if (h>bbcodemaximageheight) {
        w = bbcodemaximageheight * w / h;
        h = bbcodemaximageheight;
        toChange = true;
        }
      if (toChange) {
        var src = img.getAttribute('src');
        if ( img.parentNode.nodeName.toLowerCase() == 'a' ) {
          img.setAttribute('width',w);
          img.setAttribute('height',h);
        } else {
          var ersatz = document.createElement('a');
          ersatz.setAttribute('href',src);
    //	ersatz.setAttribute('rel','lightbox');
    // //	ersatz.setAttribute('target','_blank');
    	ersatz.setAttribute('target','_blank');
          var newImg = document.createElement('img');
          newImg.setAttribute('src',src);
          newImg.setAttribute('width',w);
          newImg.setAttribute('height',h);
          newImg.setAttribute('border','0');
          newImg.setAttribute('style',img.getAttribute('style',0));
    //	newImg.setAttribute('rel','lightbox');
          ersatz.appendChild(newImg);
          img.parentNode.replaceChild(ersatz,img);
        }
      }
    }
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ob es funktioniert weiß ich nicht, aber du kannst mal folgendes probieren, verändert werden müsste nur die BBCodeGlobal.js
    //Funktion die alle Bilder des BBCodes der Funktion SetSize übergibt
    function ResizeBBCodeImages() {
      imgs = document.getElementsByTagName("img");
      for (ti=0;ti<imgs.length;ti++) {
        if (imgs[ti].className.indexOf("bbcode_image") != -1) {
          SetSize(imgs[ti]);
        }
      }
      initLightbox();
    }
    
    //Funktion zum Ändern der Bildgröße für zu große Bilder
    function SetSize(img){
      var w = img.width;
      var h = img.height;
      var toChange = false;
      if (w>bbcodemaximagewidth) {
        h = bbcodemaximagewidth * h / w;
        w = bbcodemaximagewidth;
        toChange = true;
        }
      if (h>bbcodemaximageheight) {
        w = bbcodemaximageheight * w / h;
        h = bbcodemaximageheight;
        toChange = true;
        }
      if (toChange) {
        var src = img.getAttribute('src');
        if ( img.parentNode.nodeName.toLowerCase() == 'a' ) {
          img.setAttribute('width',w);
          img.setAttribute('height',h);
        } else {
          var ersatz = document.createElement('a');
          ersatz.setAttribute('href',src);
          ersatz.setAttribute('rel','lightbox');
          ersatz.setAttribute('target','_blank');
          var newImg = document.createElement('img');
          newImg.setAttribute('src',src);
          newImg.setAttribute('width',w);
          newImg.setAttribute('height',h);
          newImg.setAttribute('border','0');
          newImg.setAttribute('style',img.getAttribute('style',0));
          ersatz.appendChild(newImg);
          img.parentNode.replaceChild(ersatz,img);
        }
      }
    }
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    doedel Mitglied
    Registriert seit
    16.12.2007
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    OK, danke es klappt einwandfrei,
    auf "initLightbox();" wäre ich garnicht gekommen lächeln
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten