[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
PopUp - 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/
jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

PopUp

31. Aug 2005, 00:14

Hallo zusammen!

Wie kann ich denn folgendes realisieren? - Komm gerade nicht weiter (Denkblokade)

Ich habe ein Modul in dem ich ein Datum eingebe, einen Titel und ein Textfeld in dem ich ein Bericht eingeben kann. (funktioniert)

Nun wird das Datum und der Titel angezeigt. Nun soll noch ein Link angezeigt werden, wodurch ein PopUp-Fenster geöffnet wird und darin der Bericht stehen soll.

Verständlich?

Danke schonmal für Tipps.

Grüße
jerome

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

31. Aug 2005, 00:53

Hi,

du musst in dem PopUp eben auch wieder die index.php?article_id=3 etc aufrufen...

Ein PopUp ist nichts anderes als ein Frame oder Fenster

Gruß,
Markus

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

31. Aug 2005, 01:06

kills hat geschrieben:Hi,

du musst in dem PopUp eben auch wieder die index.php?article_id=3 etc aufrufen...

Ein PopUp ist nichts anderes als ein Frame oder Fenster

Gruß,
Markus
Hallo Markus,

soweit war ich auch. :cry:
Nur jetzt das eigentlich Problem:

Code: Alles auswählen

<a href="#" onClick="SommerAktion=window.open('HIER MUSS DER LINK HIN',''
,'toolbar=0,location=0,directories=0,status=0,menubar=0,
scrollbars=0,resizable=0,width=550,height=400,top=,left='); return false;">
Welche Code muss ich "'HIER MUSS DER LINK HIN" einfügen?
Ich muss doch eine extra Datei anlegen, die den Befehl hat, lese den Artikel aus. (getArticle())

Und jetzt ein weiteres Problem:
Wie bekomm ich in der Datei hin, dass nur ein REX_VALUE-Feld ausgelesen wird?

Oder geht dass auch einfacher??

Grüße + Danke
jerome

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

31. Aug 2005, 01:38

Hi,

folgendes Beispielmodul:

Code: Alles auswählen

if ( @$_GET['do'] == 'report') {
  echo 'Hier ist der Bericht';
} else {
  echo 'Hier ist Datum und Uhrzeit';
}
wenn du das ganze jetzt mit "index.php?article_id=4" aufrufst, dann kommt "Hier ist Datum und Uhrzeit". Wenn du das ganze jetzt mit "index.php?article_id=4&do=report" aufrufst, dann kommt "Hier ist der Bericht".

d.h. für "HIER MUSS DER LINK HIN" einfach "index.php?article_id=4&do=report" und fertig.

Gruß,
Markus

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

31. Aug 2005, 01:42

Hi,

danke!
Werde es nachher gleich ausprobieren.

Schönen Morgen noch :D

jerome

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

31. Aug 2005, 01:52

Ich hau mich aufs Ohr. ;)

Bye,
Markus

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

1. Sep 2005, 14:05

Es hat nun fast alles geklappt mit dem PopUp und dem Auslesen.

Nur habe ich noch ein Problem, dass ich nicht lösen kann.

Dass ist nun mein Code für die Modulausgabe:

Code: Alles auswählen

<?php
if ( @$_GET['do'] == 'report') {
  echo '<br />REX_VALUE[6]';
} else {
  echo "
       <table border=\"0\" width=\"600\">
        <tr>
          <td width=\"100\">REX_VALUE[1]</td>
          <td width=\"205\">REX_VALUE[2]</td>
          <td width=\"20\">REX_VALUE[3]</td>
          <td width=\"5\">:</td>
          <td width=\"20\">REX_VALUE[5]</td>
          <td width=\"205\">REX_VALUE[4]</td>
          <td width=\"45\">";
  if ('REX_VALUE[6]' == "") {
                        echo '';
                        }
  else {
                        echo "<a class=\"erg-bericht\" href=\"#\" onClick=\"mehr=window.open('index.php?article_id=".$this->getValue(article_id)."&do=report',
'','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,
resizable=0,width=350,height=325,top=165,left=160'); return false;\">
mehr...</a>";
       }
 echo "</td></tr></table>";
}
?>
Mein Problem:
Wenn ich jetzt einen Artikel anlegen und darin zwei mal das Modul verwende.
Dann wird mir im PopUp-Fenster alle Inhalte von REX_VALUE[6] angezeigt, obwohl ich ja nur, dass dazugehörige möchte.

Leider kenn ich mich in der Struktur der Datenbank noch nicht so gut aus.

Aber wie kann ich, dass hin bekommen?
Dass wenn ich auf "mehr" von Modul1 klicke nur REX-VALUE von Modul1 angezeigt bekomme?

Danke schonmal!

Grüße
jerome

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

1. Sep 2005, 14:17

Hi,

Also, du müsstest die ArtikelSlice ID anhängen, aber wie man die hier am schnellsten bekommt, kann ich dir nicht sagen.

@jan: Papa Jan bitte sag auch ma was ;)

Gruß,
Markus

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

1. Sep 2005, 14:34

@jan: Papa Jan bitte sag auch ma was ;)

;) .. da muss ich ja nun antworten mein sohn ;)

ich würde das vielleicht anders angehen.. einen artikel mit einem artikellistenmodul erstellen in dem du über die metadaten das datum den titel und die beschreibung eingibst (-> siehe moduldownloads). fuer jedes popup machst du einen artikel und dann wird über die artikelliste dann das popup (der eigentliche artikel) aufgerufen. das waere quasi eine ganz andere variante.

bei deiner version willst du alles in einem modul machen. da würde ich einen div/layer bauen und display:none machen. dort die inhalte rein, die du fuers popup moechtest. dann das popup öffnen (einen festen artikel) und dem eine id übergeben (z.b. über ein fortlaufenden counter im modul) . dann den layer vom popup aus auslesen (document.write(opener.document.getElementById("layername_ueber_id").innerHTML);) .. das sollte gehen.. ich hoffe ich konnte mich verstaendlich ausdruecken ;)

lg

jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

1. Sep 2005, 14:39

Hallo,

danke für die schnellen Reaktionen.
jan hat geschrieben: ich hoffe ich konnte mich verstaendlich ausdruecken ;)
Mal schauen :D Ich werde die Varianten mal probieren und wenn ich nicht weiter komme, werde ich mich einfach nochmal melden. :D

Grüße
jerome

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

1. Sep 2005, 15:15

jan hat geschrieben: bei deiner version willst du alles in einem modul machen. da würde ich einen div/layer bauen und display:none machen. dort die inhalte rein, die du fuers popup moechtest. dann das popup öffnen (einen festen artikel) und dem eine id übergeben (z.b. über ein fortlaufenden counter im modul) . dann den layer vom popup aus auslesen (document.write(opener.document.getElementById("layername_ueber_id").innerHTML);) .. das sollte gehen.. ich hoffe ich konnte mich verstaendlich ausdruecken ;)

lg

jan
Hallo Jan,

muss jetzt doch mal fragen und zwar:

>da würde ich einen div/layer bauen und display:none machen.
>dort die inhalte rein, die du fuers popup moechtest.
d.h. bei mir ich lese REX-VALUE[6] im Artikel mit aus, allerdings wird REX_VALUE[6] ja aber nicht angezeigt?!

>dann das popup öffnen (einen festen artikel) und dem eine id übergeben
>(z.b. über ein fortlaufenden counter im modul)
d.h. ich lege einen Artikel an, der einfach einen Artikel nach einer bestimmten ID ausliest?!

Aber welche ID bzw. welcher Counter?
Das kapier ich nicht so ganz.

Grüße
jerome

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

1. Sep 2005, 16:16

hi jerome,

habe ich mir leider fast gedacht das ich das zu kompliziert ausgedrueckt habe..

ich schreib das mal in code (nicht getestet und auch nur beispielhaft)

ausgabe:

Code: Alles auswählen

<?php
if ($mcounter == "") $mcounter = 0;
$mcounter++;

echo "<div id=layer$mcounter style='display:none;'><br />REX_VALUE[6]</div>";


echo "
       <table border=\"0\" width=\"600\">
        <tr>
          <td width=\"100\">REX_VALUE[1]</td>
          <td width=\"205\">REX_VALUE[2]</td>
          <td width=\"20\">REX_VALUE[3]</td>
          <td width=\"5\">:</td>
          <td width=\"20\">REX_VALUE[5]</td>
          <td width=\"205\">REX_VALUE[4]</td>
          <td width=\"45\">";
  if ('REX_IS_VALUE[6]' == 1) {
                        echo '';
                        }
  else {
                        echo "<a class=\"erg-bericht\" href=\"#\" onClick=\"mehr=window.open('index.php?article_id=xy&layer=layer$mcounter',
'','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,
resizable=0,width=350,height=325,top=165,left=160'); return false;\">
mehr...</a>";
       }
 echo "</td></tr></table>";
}
?>
nun noch einen artikel erstellen und den irgendwo ablegen und die id fuer xy eintragen. dort dann das javascript mit dem opener reinsetzen... ein wenig klarer ?

gruss

jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

1. Sep 2005, 19:06

Hi jerome,

durch Jans Stichwort mit dem Counter, ist mir folgendes noch eingefallen.

Code: Alles auswählen

<?php
if ( !isset( $ModuleCounter)) {
  $ModuleCounter = 0;
}
$ModuleCounter++;
if ( @$_GET['do'] == 'report' && @$_GET['module'] == $ModuleCounter) {
  echo '<br />REX_VALUE[6]';
} else {
  echo "
       <table border=\"0\" width=\"600\">
        <tr>
          <td width=\"100\">REX_VALUE[1]</td>
          <td width=\"205\">REX_VALUE[2]</td>
          <td width=\"20\">REX_VALUE[3]</td>
          <td width=\"5\">:</td>
          <td width=\"20\">REX_VALUE[5]</td>
          <td width=\"205\">REX_VALUE[4]</td>
          <td width=\"45\">";
  if ('REX_VALUE[6]' == "") {
                        echo '';
                        }
  else {
                        echo "<a class=\"erg-bericht\" href=\"#\" onClick=\"mehr=window.open('index.php?article_id=".$this->getValue(article_id)."&module=".  $ModuleCounter."&do=report',
'','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,
resizable=0,width=350,height=325,top=165,left=160'); return false;\">
mehr...</a>";
       }
 echo "</td></tr></table>";
}
?>
Gruß,
Markus

jerome
Beiträge: 83
Registriert: 29. Jun 2005, 12:52
Wohnort: FFM

9. Sep 2005, 19:10

Hi!

Erst mal vielen Dank und großes Lob.
Wenn man mal nicht weiter weiß wird echt immer geholfen!

Ich habe eure Codes mal kurz getestet, jedoch haben diese noch nicht so funktioniert wie ich wollte. Werde Sie demnächst mal ausführlicher testen!

Desweiteren hatte ich mir überlegt, dass ich das PopUp bzw. den Text der im PopUp angezeigt werden soll, mittels einer speziellen MySQL-Abfrage realisiere könnte.
Aber auf welche Datenbank etc. muss ich für einen Artikel zugreifen?
Verschiedene Versuche haben jeweils fehlgeschlagen. :(

Habe vorerst einfach die Methode verwendet, für Text der ein PopUp benötigt, ein eigenen Artikel zu verwenden.

Grüße
jerome

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

10. Sep 2005, 13:42

Hi jerome,
jerome hat geschrieben: Erst mal vielen Dank und großes Lob.
Wenn man mal nicht weiter weiß wird echt immer geholfen!
Solche Komplimente nehmen wir natürlich gerne dankend an ;)
jerome hat geschrieben: Ich habe eure Codes mal kurz getestet, jedoch haben diese noch nicht so funktioniert wie ich wollte. Werde Sie demnächst mal ausführlicher testen!
Gib einfach nochmal bescheid, was wie nicht funktioniert.
Das bekommen wir dann zusammen hin :)
jerome hat geschrieben: Desweiteren hatte ich mir überlegt, dass ich das PopUp bzw. den Text der im PopUp angezeigt werden soll, mittels einer speziellen MySQL-Abfrage realisiere könnte.
Aber auf welche Datenbank etc. muss ich für einen Artikel zugreifen?
Verschiedene Versuche haben jeweils fehlgeschlagen. :(
Welche Datenbank du verwendest, und wie man die Verbindung dazu herstellt, darum brauchst du dich nicht zu kümmern.

Einfach mit der SQL Klasse arbeiten.

Beispiel:

Code: Alles auswählen

$sql = new sql();
$qry = 'SELEC * FROM rex_article WHERE status = 1 ORDER BY createdate LIMIT 5';
$sql->setQuery($qry);
$result = $sql->get_array();
if ( is_array( $result)) {
  foreach ( $result as $row) {
     echo 'ArtikelId:'. $row['id'] . '<br/>';
     echo 'Ersteller:'. $row['createuser'] . '<br/>';
     // etc
  }
}
Gruß,
Markus

Zurück zu „Allgemeines [R3]“