Zum Inhalt springen

tt_news um bilder erweitern

Erstellt am 5. April 2012 · 4 Antworten · letzte Antwort am 7. April 2012

Tags: Bilder, tt_news, Frage

grisub ·

hallo Forum,

ich habe mit dem kickstarter eine kleine extension zusammengeklickt.
soweit funktionieren die neu angelegten felder schon ganz gut. nur ein problem bekomme ich nicht in den grff, hier mal der php-code

<?php
class tx_ttnewserweiterung_marker {
    function extraItemMarkerProcessor($markerArray, $row, $lConf, $obj) {
    
    $bild_innen = explode(",",$row['tx_ttnewserweiterung_bilder_innen']);
    foreach($bild_innen as $k => $v) {   
         $markerArray['###BOOT_BILDER_INNEN###'] .= '<img src="'.'uploads/tx_ttnewserweiterung/'.$v.'"/>';
      } 
      
      $bild_aussen= explode(",",$row['tx_ttnewserweiterung_bilder_aussen']);
    foreach($bild_aussen as $k => $v) {   
         $markerArray['###BOOT_BILDER_AUSSEN###'] .= '<img src="'.'uploads/tx_ttnewserweiterung/'.$v.'"/>';
      }   
      
        $markerArray['###BOOT_TECHNISCHE_DATEN###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_technische_daten'], $lConf['tx_ttnewserweiterung_technische_daten_stdWrap.']));
        $markerArray['###BOOT_MOTORISIERUNG###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_motorisierung'], $lConf['tx_ttnewserweiterung_motorisierung_stdWrap.']));
        $markerArray['###BOOT_STANDORT###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_standort'], $lConf['tx_ttnewserweiterung_standort_stdWrap.']));
        $markerArray['###BOOT_VERKAUFSPREIS###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_verkaufspreis'], $lConf['tx_ttnewserweiterung_verkaufspreis_stdWrap.']));
        return $markerArray;
    }
}
?>

kann mir jemand bitte sagen, wie ich es schaffe dass die bilder klichbar werden. sie werden zwar schön angezeigt, aber ich kann sie nicht zum vergrößern anklicken.

danke
grisub

LuP ·

Hallo,

Stichwort: cObject & stdWrap

<?php
class tx_ttnewserweiterung_marker {
    function extraItemMarkerProcessor($markerArray, $row, $lConf, &$obj) {

        $bild_innen = t3lib_div::trimExplode(',', $row['tx_ttnewserweiterung_bilder_innen'], 1);
        $bild_aussen = t3lib_div::trimExplode(',', $row['tx_ttnewserweiterung_bilder_aussen'], 1);

        $imageMode = $lConf['listImageMode'];

        $suf = '';
        if (is_numeric(substr($lConf['image.']['file.']['maxW'], - 1))) { // 'm' or 'c' not set by TS
            if ($imageMode) {
                switch ($imageMode) {
                    case 'resize2max' :
                        $suf = 'm';
                        break;
                    case 'crop' :
                        $suf = 'c';
                        break;
                    case 'resize' :
                        $suf = '';
                        break;
                    }
                }
            }
        }

        if ($lConf['image.']['file.']['maxW'] && ! $lConf['image.']['file.']['width']) {
            $lConf['image.']['file.']['width'] = $lConf['image.']['file.']['maxW'] . $suf;
            unset($lConf['image.']['file.']['maxW']);
        }
        if ($lConf['image.']['file.']['maxH'] && ! $lConf['image.']['file.']['height']) {
            $lConf['image.']['file.']['height'] = $lConf['image.']['file.']['maxH'] . $suf;
            unset($lConf['image.']['file.']['maxH']);
        }

        foreach($bild_innen as $v) {
            if($v) {
                $lConf['image.']['file'] = 'uploads/tx_ttnewserweiterung/' . $v;
                $theImgCode .= $obj->local_cObj->IMAGE($lConf['image.']);
        }

        $markerArray['###BOOT_BILDER_INNEN###'] = $obj->local_cObj->wrap($theImgCode, $lConf['imageWrapIfAny']);

        // ... hier kommt der Rest
    }
}

?>

Dann noch im TS Constant von tt_news die max. Breite/Höhe angeben:

plugin.tt_news.listMaxW = 200
plugin.tt_news.listMaxH = 112

Ich habe nicht getestet aber es müsste so ähnlich funktionieren.

VG,
LuP

grisub ·

Hallo LuP,

danke!!!! jetzt funktioniert alees bis auf eine kleinigkeit.

hier nochmals der code den ich jetzt habe.

<?php
class tx_ttnewserweiterung_marker {
    function extraItemMarkerProcessor($markerArray, $row, $lConf, &$obj) {
 
        $bild_innen = t3lib_div::trimExplode(',', $row['tx_ttnewserweiterung_bilder_innen'], 1);
        $bild_aussen = t3lib_div::trimExplode(',', $row['tx_ttnewserweiterung_bilder_aussen'], 1);
 
        $imageMode = $lConf['listImageMode'];
 
        $suf = '';
        if (is_numeric(substr($lConf['image.']['file.']['maxW'], - 1))) { // 'm' or 'c' not set by TS
            if ($imageMode) {
                switch ($imageMode) {
                    case 'resize2max' :
                        $suf = 'm';
                        break;
                    case 'crop' :
                        $suf = 'c';
                        break;
                    case 'resize' :
                        $suf = '';
                        break;
                    }
                }
		}
 
        if ($lConf['image.']['file.']['maxW'] && ! $lConf['image.']['file.']['width']) {
            $lConf['image.']['file.']['width'] = $lConf['image.']['file.']['maxW'] . $suf;
            unset($lConf['image.']['file.']['maxW']);
        }
        if ($lConf['image.']['file.']['maxH'] && ! $lConf['image.']['file.']['height']) {
            $lConf['image.']['file.']['height'] = $lConf['image.']['file.']['maxH'] . $suf;
            unset($lConf['image.']['file.']['maxH']);
        }
 
        foreach($bild_innen as $v) {
            if($v) {
                $lConf['image.']['file'] = 'uploads/tx_ttnewserweiterung/' . $v;
                $theImgCode .= $obj->local_cObj->IMAGE($lConf['image.']);
        }
 
        $markerArray['###BOOT_BILDER_INNEN###'] = $obj->local_cObj->wrap($theImgCode, $lConf['imageWrapIfAny']);
		}
        
          foreach($bild_aussen as $v) {
            if($v) {
                $lConf['image.']['file'] = 'uploads/tx_ttnewserweiterung/' . $v;
                $theImgCode .= $obj->local_cObj->IMAGE($lConf['image.']);
        }
 
        $markerArray['###BOOT_BILDER_AUSSEN###'] = $obj->local_cObj->wrap($theImgCode, $lConf['imageWrapIfAny']);
		  }
          $markerArray['###BOOT_TECHNISCHE_DATEN###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_technische_daten'], $lConf['tx_ttnewserweiterung_technische_daten_stdWrap.']));
        $markerArray['###BOOT_MOTORISIERUNG###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_motorisierung'], $lConf['tx_ttnewserweiterung_motorisierung_stdWrap.']));
        $markerArray['###BOOT_STANDORT###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_standort'], $lConf['tx_ttnewserweiterung_standort_stdWrap.']));
        $markerArray['###BOOT_VERKAUFSPREIS###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewserweiterung_verkaufspreis'], $lConf['tx_ttnewserweiterung_verkaufspreis_stdWrap.']));
        return $markerArray;

    }
}
 
?>

das Problem ist folgendes:
er liest mir jetzt beim MARKER ###BOOT_BILDER_AUSSEN### auch die Bilder von der Innenansicht aus??

#paralyzed#

LuP ·
grisub schrieb

er liest mir jetzt beim MARKER ###BOOT_BILDER_AUSSEN### auch die Bilder von der Innenansicht aus??

vor der Schleife für $bild_aussen musst Du die Variable $theImgCode einmal leeren, sonst schleppt sie den Wert aus $bild_innen mit.

        // ...
        $theImgCode = '';
        foreach($bild_aussen as $v) {
            if($v) {
                $lConf['image.']['file'] = 'uploads/tx_ttnewserweiterung/' . $v;
                $theImgCode .= $obj->local_cObj->IMAGE($lConf['image.']);
        }
        // ...

VG,
LuP