[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Addon + Medienpool? - 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/
Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

Addon + Medienpool?

20. Feb 2007, 11:30

Hallo also wie gesagt bin ich an einer DB-gestützen Konfiguration für comment_rank dran.

Meine Frage ist jetzt: Kann ich in meinem Addon auf den Medienpool zugreifen wie es bei Modulen mit REX_MEDIA_BUTTON[1] möglich ist?

Ich benötige es damit der User die Stern-Bilder einfach aus dem Medienpool auswählen kann, sonst muss ich ihm ein Textfeld bauen indem er den Dateiname relativ zu irgendwas schreiben muss.

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

20. Feb 2007, 12:56

Hej,

ja das geht. Das hängt aber davon ab, welche PHP-Klasse du verwendest.

rexform oder das Framework

vg Thomas

Benutzeravatar
vscope
Beiträge: 477
Registriert: 24. Aug 2004, 22:11
Wohnort: Austria/Vienna
Kontaktdaten: ICQ Website

20. Feb 2007, 14:53

ist meines wissen nur mit dem addon framework und rexform möglich.

sonst musst du nachschauen was ein REX_MEDIA_BUTTON[]
macht.
das kannst du dann eigentlich einfach nachbauen.

lg

vscope

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

20. Feb 2007, 17:16

danke für die Antworten

Das Addon Framework versuche ich zu vermeiden. Habs noch nie probiert, aber dann is man an diese gebunden und Abhängigkeiten sind nie gut.

was genau ist rexform?

REX_MEDIA_BUTTON kommt nur in der class.article.inc.php vor und da wird nur der string ersetzt.

sigg
Beiträge: 43
Registriert: 21. Jan 2007, 17:01

20. Feb 2007, 19:42

Hallo

Ich hatte das gleiche Problem und habe folgendes im Redaxo-Code gefunden (im Formular für Metainformationen / Sonstiges):

Code: Alles auswählen

$media = "<table>
        <input type=hidden name=REX_MEDIA_DELETE_1 value=0 id=REX_MEDIA_DELETE_1>
        <tr>
        <td><input type=text size=30 name=REX_MEDIA_1 value='".$DATEINAME."' id=REX_MEDIA_1 readonly=readonly></td>
        <td><a href=javascript:openREXMedia(1);><img src=pics/file_open.gif width=16 height=16 title='".$I18N->msg('pool_name')."...' border=0></a></td>
        <td><a href=javascript:deleteREXMedia(1);><img src=pics/file_del.gif width=16 height=16 title='-' border=0></a></td>
        <td><a href=javascript:addREXMedia(1)><img src=pics/file_add.gif width=16 height=16 title='+' border=0></a></td>
        </tr></table>";
Dies zeigt ein Eingabefeld für eine Datei an. Wie du mehrere Dateien auf einmal einfügen kannst, ist hier beschrieben: http://forum.redaxo.de/ftopic2266.html

Gruss
Stephan

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

20. Feb 2007, 20:13

sigg hat geschrieben:Hallo

Ich hatte das gleiche Problem und habe folgendes im Redaxo-Code gefunden (im Formular für Metainformationen / Sonstiges):

Code: Alles auswählen

$media = "<table>
        <input type=hidden name=REX_MEDIA_DELETE_1 value=0 id=REX_MEDIA_DELETE_1>
        <tr>
        <td><input type=text size=30 name=REX_MEDIA_1 value='".$DATEINAME."' id=REX_MEDIA_1 readonly=readonly></td>
        <td><a href=javascript:openREXMedia(1);><img src=pics/file_open.gif width=16 height=16 title='".$I18N->msg('pool_name')."...' border=0></a></td>
        <td><a href=javascript:deleteREXMedia(1);><img src=pics/file_del.gif width=16 height=16 title='-' border=0></a></td>
        <td><a href=javascript:addREXMedia(1)><img src=pics/file_add.gif width=16 height=16 title='+' border=0></a></td>
        </tr></table>";
Dies zeigt ein Eingabefeld für eine Datei an. Wie du mehrere Dateien auf einmal einfügen kannst, ist hier beschrieben: http://forum.redaxo.de/ftopic2266.html

Gruss
Stephan
Das sieht sehr gut aus, danke, ich werd mich mal durchkämpfen.

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

20. Feb 2007, 21:13

Hej,

warum nich die angesprochenen Klassen verwenden?

Das bringt sogar noch andere nützliche Dinge mit sich.

vg Thomas

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

20. Feb 2007, 21:36

Ehrlich gesagt bin ich noch nicht sooo fit in php5.

Was rexform ist weiß ich nicht.
Das Addonframework hab ich mir noch nie angesehen weil ich es für sinnvoller halte die Abhängigkeit zu vermeiden, und weil ich mich nicht noch in etwas einarbeiten wollte/will.

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

21. Feb 2007, 08:15

Hej,
franz007 hat geschrieben:Ehrlich gesagt bin ich noch nicht sooo fit in php5.
Du brauchst kein PHP 5 zu können. Du musst nur die Klassen einbinden. Der Rest geht von allein.

franz007 hat geschrieben:Was rexform ist weiß ich nicht.
Eine Klasse die bsplw. beim LangOut bzw beim Shop-Addon Einsatz findet.
franz007 hat geschrieben:Das Addonframework hab ich mir noch nie angesehen weil ich es für sinnvoller halte die Abhängigkeit zu vermeiden
Das ist sicherlich richtig. Aber es hilft dir ungemein bei der Programmierung eigener Addons.


Bspl. rexform Klasse

Code: Alles auswählen

$mita->setValue("mediafile",$I18N_110->msg('image'),"image",0);
Bspl. für Addon Framework

Code: Alles auswählen

$f13 = & new rexMediaButtonField('image', $I18N_110->msg('image'), array ('style' => 'width: 300px'));
vg Thomas

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

21. Feb 2007, 18:38

tbaddade hat geschrieben:Eine Klasse die bsplw. beim LangOut bzw beim Shop-Addon Einsatz findet.
Vielen dank, ist das irgendwo dokumentiert welche methoden es gibt?
Und ist das direkt in Redaxo verfügbar oder über ein Addon?
tbaddade hat geschrieben:Du brauchst kein PHP 5 zu können. Du musst nur die Klassen einbinden. Der Rest geht von allein.
Klasse einbinden? Ich weiß nicht. Die datei includen und dann eine neues Objekt erzeugen und dann müsste es gehen oder?

boogiman
Beiträge: 81
Registriert: 18. Okt 2005, 00:23

22. Feb 2007, 01:04

Ich hab das so gelöst...

in rexform

$mita->setValue("mediaselect","Plan","Plan",0,3);

die 3 ist da, weil ich mehr als ein mediaselect feld habe. damit nummeriere ich die durch....

und in der rexform.class

das hier eingebaut (ich weiß nicht mehr, ob das aus meiner feder war, aber es klappt)

Code: Alles auswählen


case("mediaselect"):

$ausgabe .= "<td valign=middle class=grey width=".$this->labelwidth." >".$this->value_form[$i]."</td>";
$ausgabe .= "<td class=grey colspan=".(1+$addcolspawn).">
<table cellpadding=2 cellspacing=0>
<tr><td><input type=text size=30 name=$name value='$value' id=REX_MEDIA_".$this->type_value1[$i].">
<a href=javascript:openREXMedia(".$this->type_value1[$i].");><img src=pics/file_open.gif width=16 height=16 title='medienpool' border=0></a></td>
<td rowspan=2>&nbsp;&nbsp;&nbsp;</td>
<td valign=middle rowspan=2>";
if($value){ $ausgabe .= "<img src='../files/".$this->type_value2[$i]."$value'>";}else{ $ausgabe .="&nbsp;"; }
$ausgabe .= "</td><td align=right>&nbsp;";
$ausgabe .= "</td></tr></table>\n</td>";




zehbaeh
Beiträge: 556
Registriert: 17. Okt 2006, 11:52
Wohnort: Solingen

22. Feb 2007, 20:46

Also wenn ich als Benutzer deiner Seiten in einem Extrafenster eine Abbildung aus einer Menge von Abbildungen verschieden vieler Sterne auswählen müsste, käme ich mir ein wenig als Vollidiot behandelt vor!)

Was spricht den dagegen dem Benutzer eine Kombobox mit Inhalt
1 Stern
2 Sterne
3 Sterne
....
nebst Passenden Label "Bewertung:" anzubieten und in deinem Code die Auswahl in die entsprechenden Abbildungen umzusetzen?

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

25. Feb 2007, 20:37

Mal danke für die Antworten

@zehbaeh
So ganz habe ich zwar nicht verstanden was du gemeint hast aber ich glaube das beruht auf Gegenseitigkeit.

Was ich wollte war für mein Addon "comment_rank" in der neuen Backend-Konfiguration eine Möglichkeit bieten die Bilder für die Sterne aus dem MedienPool auszuwählen.

Zur zeit sind es noch Textfelder in die man den Dateiname für zb das Bild mit den 4 Sternen schreiben muss die aber im /pics/comment_rank Ordner liegen müssen. Dh der User muss diese Bilder per ftp hochladen oder aktualisieren.

Wenn das über den Mediapool gehen würde könnte man die Bilder bei einem Design wechsel auch austauschen ohne per ftp was zu machen zu müssen.

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

23. Apr 2007, 17:15

Hallo zusammen ich grab das Thema wieder aus da ich endlich zeit und Gelegenheit hatte das ganze zu testen und auch so weit bin das ich das ganze brauchen könnte.
Die angegebene Medialiste funktioniert einwandfrei, vielen Dank. Gibts auch eine Möglichkeit den rexbutton zu verwenden?

Ich habe mir nach dem obigen Beispiel und dem html-Code des rexbuttons folgendes zusammengebaut:

Code: Alles auswählen

if (!function_exists(rex_media_button)) {
		function rex_media_button($i, $medialistvalue = ""){
			$n = "\n";
			$media = '<table class="rexbutton">' .
			'<input type="hidden" name="REX_MEDIA_DELETE_'.$i.'" value="0" id="REX_MEDIA_DELETE_'.$i.'">' .
			'<tr>' .
			'<td><input type=text size=30 name=REX_MEDIA_'.$i.' value="'.$medialistvalue.'" class="inpgrey100" id="REX_MEDIA_'.$i.'" readonly="readonly"></td>' .
			'<td class="inpicon"><a href="javascript:openREXMedia('.$i.',0);"><img src="pics/file_open.gif" width="16" height="16" title="medienpool" border="0"></a></td>' .
			'<td class="inpicon"><a href="javascript:deleteREXMedia('.$i.',0);"><img src="pics/file_del.gif" width="16" height="16" title="-" border="0"></a></td>' .
			'<td class="inpicon"><a href="javascript:addREXMedia('.$i.',0);"><img src="pics/file_add.gif" width="16" height="16" title="+" border="0"></a></td>' .
			'</tr>' .
			'</table>'.'<br>';
	        return $media;
		}
	}
Nur leider funktioniert das ganze nicht wie gewollt. Der Medapool öffnet sich zwar aber ich kann die files nicht übernehmen.
Folgender javascript fehler tritt auf:

Code: Alles auswählen

Fehler: opener.document.REX_FORM has no properties
Quelldatei: http://localhost/sandbox/redaxo_3.2_test/redaxo/index.php?page=medienpool&opener_form=&opener_input_field=REX_MEDIA_1
Zeile: 16

Benutzeravatar
franz007
Beiträge: 276
Registriert: 16. Aug 2006, 00:36

29. Apr 2007, 12:07

Wenn man das Forumlar in dem man die Dateiauswahlbox verwendet REX_FORM nennt, also name="REX_FORM", dann funktioniert auch das.

Zurück zu „Allgemeines [R3]“