[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
gerenderte überschrift als modul kombinierbar? - 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/
joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

gerenderte überschrift als modul kombinierbar?

22. Aug 2006, 21:15

hallo,

habe das modul "gerenderte überschrift" erfolgreich in verwendung und habe meinem kunden nun ein kombiniertes modul zusammengeflickt, das aus einem bild, einer gerenderten überschrift, einem textile (nur text) und einem link-modul besteht.

leider bringt er nun bei der bildnummern-vergabe der überschriften einiges durcheinander, so dass manchmal in einem artikel bei mehreren überschriften teilweise dasselbe überschrift-bild zweimal geladen wird, überschriften durcheinandergeraten etc.

ich vermute, der fehler liegt irgendwo in der modul ausgabe..aber wo..

(...)

Code: Alles auswählen

<div class="spalte_2">
<?php
$name = ereg_replace("([^_A-Za-z0-9\.-])","","REX_VALUE[6]");
$text = "REX_VALUE[6]";
$color = "REX_VALUE[10]";
$bgcolor = "ffffff";
$slice_id = strlen( "REX_VALUE[7]" ) == 0 ? $_POST["slice_id"] : "REX_VALUE[7]";
$imgsrc = REX_CATEGORY_ID ."_". REX_ARTICLE_ID ."_". $slice_id ."_". $REX['LANG'] .".png";
$font = $REX[INCLUDE_PATH]."/ttf/REX_VALUE[8].ttf";
$fontsize = (int)"REX_VALUE[9]";
$imgfile = $REX[INCLUDE_PATH]."/../../pics/headlines/$imgsrc";

// save
if( $_POST["save"] == 1 ) {
    // create Image
    $abox = imagettfbbox( $fontsize, 0, $font, "A" );
    $bbox = imagettfbbox( $fontsize, 0, $font, $text );
    $width = 1 + abs(min($bbox[2], $bbox[4])-max($bbox[0],$bbox[6]));
    $height = abs(min($bbox[5],$bbox[7])-max($bbox[1],$bbox[3]));
    $xpos = 0; //-1 * min($bbox[0],$bbox[6]);
    $ypos = abs(max($abox[5],$abox[7]));
    $im = imagecreatetruecolor( $width, $height );
    $clr = imagecolorallocate( $im, intval("0x". substr( $color, 0, 2 ), 16), intval("0x". substr( $color, 2, 2 ), 16), intval("0x". substr( $color, 4, 2 ), 16 ));
    $bgclr = imagecolorallocate( $im, intval("0x". substr( $bgcolor, 0, 2 ), 16), intval("0x". substr( $bgcolor, 2, 2 ), 16), intval("0x". substr( $bgcolor, 4, 2 ), 16 ));
    imagefilledrectangle( $im, 0, 0, $width, $height, $bgclr );
    imagettftext($im, $fontsize, 0, $xpos, $ypos, $clr, $font, $text );
    imagepng( $im, $imgfile );
    imagedestroy( $im );
}

// output
list( $width, $height, $info, $attr ) = getimagesize( $imgfile );
echo '<img style="'. "REX_VALUE[6]" .'" src="/pics/headlines/'. $imgsrc .'" alt="'. $text .'" title="'. $text .'"  '. $attr .'><br /><br />';
?>
(...)

zusätzlich gibt es in der modul-eingabe dieses versteckte feld, das die slice-id übermittelt..

Code: Alles auswählen

<input type="hidden" name="VALUE[7]" value="<?=$_GET['slice_id']?>">
bin für jeden sachdienlichen hinweis dankbar
:-)

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

22. Aug 2006, 21:24

Hej,

wenn in der Ausgabe eines Moduls etwas auftaucht, was in einem oberen Slice eingegeben wurde, dann liegt dies zumeist daran, das die Variablen zuvor für die ausgabe nicht deklariert wurden.

also einfach
$text = '';
$text = "REX_VALUE[1]"


vg Thomas

joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

22. Aug 2006, 23:00

hallo thomas,

vielen dank für deinen hinweis, ich glaube ich habe den fehler gefunden, ich habe mich irgendwie mit den rex_values zw. eingabe und ausgabe vertan, da wurde etwas doppelt und verkehrt definiert.

tatsache ist, dass das problem hier begraben liegt:

Code: Alles auswählen

$slice_id = strlen( "REX_VALUE[7]" ) == 0 ? $_POST
["slice_id"] : "REX_VALUE[7]"; 
$imgsrc = REX_CATEGORY_ID ."_". REX_ARTICLE_ID ."_". $slice_id ."_". 
$REX['LANG'] .".png";
die slice-variable wurde da irgendwie falsch von der eingabe übernommen bzw. definiert. da sie ein bestandteil des image-namens ist, tauchte der fehler dann auf.

nun hoffe ich mal, dass mein problem nimmer auftaucht 8)

dancefan
Beiträge: 246
Registriert: 10. Feb 2006, 22:09
Wohnort: Nidderau

23. Aug 2006, 07:56

Hi,
dein Code steht hier zwar nur auszugsweise, aber:
Wie kommt die 'slice_id' in das POST array ?
Und wenn der Artikel mehrere Slices enthält, welche slice_id steht dann da drin?
Es kann ja nur eine sein.
Könnte dein Problem auch daran liegen /gelegen haben?
dancefan

Mensch lerne tanzen, sonst wissen die Engel im Himmel nichts mit dir anzufangen

joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

23. Aug 2006, 09:36

öhm.. da bin ich jetzt überfragt.. hab den code für die gerenderte überschrift 1:1 aus dem redaxo-downloadbereich übernommen und nur in ein flickwerk weiterer module integriert..

der name der neuen überschrift definiert sich immer aus den elementen
"category id + article id + slice id + lang .png"

die slice id übernimmt er dabei bei der moduleingabe als hidden field..
($_GET['slice_id'])

bin aber noch ein redaxo-newbie und ein php-anfänger, blick also noch nicht überall durch warum was wie im hardcode funktioniert ;-)

Zurück zu „Allgemeines [R3]“