habe basierend auf dem tutorial "Creating a basic extension" mir eine ähnliche Extension gebastelt.
Auch mit Bild und so.
Nur würd ich jetzt gern die Bildgrösse des Bildes einstellen. Die Bilder werden jetzt nämlich in ihrer tatsächlichen Grösse angezeigt und 1024x1536 is mir ein bisschen gross.
Ich denke das man das in der pi1/class.tx_*_pi1.php machen könnte, aber ich werde aus
while(list($c,$row)=each($rows)){
$this->conf["image."]["file"] = "uploads/tx_ext/".($row["image"]); //The image field
$theImgCode=$this->cObj->IMAGE($this->conf["image."]);
$content.=$theImgCode."<br>";
nicht wirklich schlau!
Wo muss ich das einstellen oder wo muss ich ansetzen?
Hi
ich habe ein ähnliches Problem allerdings bin ich schon etwas weiter.
Die Bilder werden im FE angezeigt. Die maximale Bildbreite lese ich aus einem Flexform (nicht Typoscript!) für meine php-Funktionen aus.
Nun weiss ich nicht wie ich ansetzen muss um die Bilder auf die gewünschte Größe zu "trimmen". Wie kann ich erreichen, dass <img src="" width="..."> mit der maximalen Bildbreite befüllt wird? (oder das Bild per ImageMagick direkt erstmal verkleinert wird).
Hier mein PHP fürs Bildauslesen:
$image_array = explode(',',$row['pictures']);
foreach ($image_array as $wert)
{
$img['file']= 'uploads/tx_spaextension/'.$wert;
$img_final = $img_final.$this->cObj->IMAGE($img);
$markerArray['###IMAGES###'] = $img_final;
}
Thx + Grüsse
Sissi
hmmm aber da steht nix von bildbreite........
#paralyzed#
oder so:
@coffemug:
$this->conf["image."]["maxW"] = 130;
@sissi:
$img['maxW'] = 130;
fast 🙂
maxW,maxH,width oder height sind Unterobjekte von file.
TS:
10.file=dateiname
10.file.maxW=240
10.file.maxH=200
php:
$img['file']='dateiname';
$img['file.']['maxW']=240;
$img['file']['maxH']=200;
hi
alles klar, hab den entscheidenden hinweis hierzu auch in der doku "frontend programming" gefunden, abschnitt "TypoScript cObjects from within your PHP-class" ab seite 33.
jetzt muss ich nur noch herausfinden wie t3 mein flexform gegenüber TS-einträgen bevorzugt und gut is ;-)
grüsse + thx
sissi
ps: wisst ihr eigentlich ob auch zukünftig weiter auf flexforms gesetzt wird? hab gerüchte gehört das die doch nicht weiter benutzt werden sollen......aber ich finde diese methode eigentlich recht nett.
grüsse
sissi
so hier noch die lösung für falls flexform befüllt ist:
if ($this->imageWidth) { $conf['image.']['file.']['width'] = $this->imageWidth;
}
eigentlich selbsterklärend ;-)
@sissi:
Total Falsch! Wenn Du Dich mit OO-Programmierung auskennen würdest, hättest Du einen kurzen Blick in die TS-Referenz geworfen:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Image/Index.html
(Kapitel 8.7)
und hier
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/ImgResource/Index.html
(Kapitel 8.6).
Das Tutorial "TypoScript cObjects from within your PHP-class" behandelt doch ein ganz anderes Thema!
Bis Später!
Nochmal zum Link:
http://www.hachmeister.org/en/typo/tutorials/development/create-your-own-frontend-plugin/?tx_kharticlepages_pi1%5Bpage%5D=2&cHash=026faa3068
In der Beschreibung steht, wie man ein IMAGE wrappen kann.
plugin.tx_imagegallery_pi1 {
templateFile = {$plugin.tx_imagegallery_pi1.templateFile}
columns = {$plugin.tx_imagegallery_pi1.columns}
image {
file.maxW = 120
imageLinkWrap = 1
imageLinkWrap {
enable = 1
bodyTag (
<body bgcolor="#000000" leftmargin="2" topmargin="2" marginwidth="2" marginheight="2">
)
wrap = <a href="javascript:close();"> | </a>
width = 640m
height = 640m
JSwindow = 1
JSwindow.newWindow = 1
JSwindow.expand = 4,4
}
}
}
Hier lassen sich Breite und Höhe angeben.
In der Extension muss man dann so was in der Art machen:
if ($row) {
// 010: Create one item
$img = $this->conf["image."];
$img["file"] = "uploads/tx_imagegallery/" .
$row["image"];
$markerArray["###GALLERY_IMAGE###"] =
$this->cObj->IMAGE($img);
} else {
// 011: Create one dummy icon
$markerArray["###GALLERY_IMAGE###"] = " ";
}
Oder verstehe ich was falsch an eurem Problem ?
@waldosparding:
Da steht eigentlich nur file.maxW=120 (max. Bildbreite). Die Bildbreite (width) steht da nicht.
Gruß,
T.
Hast du dir die TSREF - Doku schon mal angesehen. Da stehen die Parameter wie maxW und maxH beschrieben.
Meine letzte Version war manual-doc_core_tsref-07-10-2005_13-15-59.pdf. Da stehts drin.
Hier http://sourceforge.net/project/showfiles.php?group_id=20391&package_id=14725 gibts übrigens neue Versionen.
Diese Doku ist ein Muss genau wie die API-Doku.
Waldo
@waldo: Wem sagst Du das? Mir? Genau das selbe habe ich geschrieben. Das solltest Du vielleicht besser der Sissi sagen!