Pfad zum KonfigurationsTab

Gesperrt
junior0007
Beiträge: 20
Registriert: So 16. Jan 2005, 17:25
Kontaktdaten:

Pfad zum KonfigurationsTab

Beitrag von junior0007 »

Hallo

Ich würde gern im INPUT-Bereich eines Moduls ein extra Menue (einfache Links) einbauen, damit man je nach Wahl verschiedene Punkte Konfigurieren kann. (Dieses Modul hält ziehmlich viel information).

Mein Problem: Dafür müsste ich ein Reload des Konfig-Tabs erzwingen, und ich kann die url nicht finden!!! Ist ein Reload des Konfig-Tabs auf Link-Klick überhaupt möglich?

Weiß jemand Rat?

Danke

Junior
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Doch, das sollte möglich sein. Ohne, dass ich das jetzt getestet hätte, sollte es so funktionieren:

- hidden-input-feld "myaction" definieren
- Optionsflächen (oder Links) anlegen, mit JS bei onClick unterlegen. JS enthält document.forms[0].myaction.value='<GewünschteOption>';document.forms[0].submit();
- Im PHP-Code Wert von $myaction auswerten und entsprechende Elemente anzeigen

Ein Reload selbst wäre natürlich auch möglich, dann würden aber die Werte nicht gespeichert werden. Kleiner Haken: Schon der Klick auf einen Link/eine Option speichert die Einstellungen.

Ich hoffe, das war jetzt verständlich.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
junior0007
Beiträge: 20
Registriert: So 16. Jan 2005, 17:25
Kontaktdaten:

Re

Beitrag von junior0007 »

Wow - das ging aber schnell!

Also für die langsamen unter uns:
Ich versuche den reload über JAVA Script?
Die Zeile von dir ist die einzigste, die ich in Java script formulieren muß? ... Java Script ist nich wirklich mein Fachgebiet... :?

Kannst du mal ein beispiel angeben? Das würds mir deutlich vereinfachen.

Danke
Junior
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ungetestet:

Unter Verwendung von Radio-Buttons:

Code: Alles auswählen

echo '        <table cellspacing="0" cellpadding="5" border="0" width="100%">',chr(10);
echo '           <tr valign="top">',chr(10);
echo '              <td>&nbsp;</td>',chr(10);

switch ($_REQUEST['myaction']) {
	case "option2":
		echo '              <td><input type="radio" name="myaction" value="option1" onClick="document.forms[0].submit();">Option 1&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option2" checked>Option 2&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option3" onClick="document.forms[0].submit();">Option 3',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Option 2...
		break;
	case "option3":
		echo '              <td><input type="radio" name="myaction" value="option1" onClick="document.forms[0].submit();">Option 1&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option2" onClick="document.forms[0].submit();">Option 2&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option3" checked>Option 3',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Option 3...
		break;
	default:
		echo '              <td><input type="radio" name="myaction" value="option1" checked>Option 1&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option2" onClick="document.forms[0].submit();">Option 2&nbsp;',chr(10);
		echo '                  <input type="radio" name="myaction" value="option3" onClick="document.forms[0].submit();">Option 3',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Standardoption bzw. Option 1...
}

echo '        </table>',chr(10);
Unter Verwendung von Links:

Code: Alles auswählen

echo '        <table cellspacing="0" cellpadding="5" border="0" width="100%">',chr(10);
echo '           <tr valign="top">',chr(10);

switch ($_REQUEST['myaction']) {
	case "option2":
		echo '              <td>&nbsp;<input type="hidden" name="myaction" value="'.$_REQUEST['myaction'].'"></td>',chr(10);
		echo '              <td><a href="#" onClick="document.forms[0].myaction.value=\'option1\';document.forms[0].submit();">Option 1</a>&nbsp;',chr(10);
		echo '                  Option 2&nbsp;',chr(10);
		echo '                  <a href="#" onClick="document.forms[0].myaction.value=\'option3\';document.forms[0].submit();">Option 3</a>',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Option 2...
		break;
	case "option3":
		echo '              <td>&nbsp;<input type="hidden" name="myaction" value="'.$_REQUEST['myaction'].'"></td>',chr(10);
		echo '              <td><a href="#" onClick="document.forms[0].myaction.value=\'option1\';document.forms[0].submit();">Option 1</a>&nbsp;',chr(10);
		echo '                  <a href="#" onClick="document.forms[0].myaction.value=\'option2\';document.forms[0].submit();">Option 2</a>&nbsp;',chr(10);
		echo '                  Option 3',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Option 3...
		break;
	default:
		echo '              <td>&nbsp;<input type="hidden" name="myaction" value="option1"></td>',chr(10);
		echo '              <td>Option 1&nbsp;',chr(10);
		echo '                  <a href="#" onClick="document.forms[0].myaction.value=\'option2\';document.forms[0].submit();">Option 2</a>&nbsp;',chr(10);
		echo '                  <a href="#" onClick="document.forms[0].myaction.value=\'option3\';document.forms[0].submit();">Option 3</a>;',chr(10);
		echo '              </td>';
		echo '           </tr>';
		// ... Nun spezifischer Code für Standardoption bzw. Option 1...
}

echo '        </table>',chr(10);
So wie angegeben, werden Einstellungen der aktiven Option über OK gespeichert (nicht über das Anklicken des Radio-Buttons oder des Links für die aktive Option) oder wenn eine andere Option gewählt wird.

Die eigentlichen Daten werden wie gehabt mit CMS_VAR und CMS_Value gespeichert.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
junior0007
Beiträge: 20
Registriert: So 16. Jan 2005, 17:25
Kontaktdaten:

Re:

Beitrag von junior0007 »

Supi - danke ;-)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

ich hab deine Idee aufgegriffen und sie funktioniert wunderbar - danke

Eine weitere Frage hätt ich allerdings. Ich hab versucht diese Art von Menues in verschieden Containern einzubauen - mein Problem - dann geht nix mehr.
Ich schätze jetzt mal das liegt daran, daß ich in javascript immer auf die Elemente von von form[0] zugreife, und jscipt wohl etwas irritiert ist, wenn zwei Formulare angezeigt werden...

Kann man da irgendwas machen, daß ich mehrere solcher menues in verschiedenen Containern definieren kann? - so was wie ne zuweisung von den feldern zu form[x]???

Ich sag schon einmal danke Wink

Gruß
Junior
Es bleibt ein Formular (alle Elemente in der Konfiguration sind in einem Formular vom Anfang bis zum Ende des Seite).

Aber natürlich irritiert es, dass die gleichen Felder mehrfach vorkommen. Bei den CMS-Werten ist das nicht relevant, da diese auf der fertigen Konfigurationswebseite entsprechend der Container-Nummer benannt werden (z.B. C5CMS_VAR...).

Bei den fest verdrahteten Elementen, in dem Beispiel eigentlich nur die Optionsfelder "myaction" geht es dann natürlich nicht - entweder man kann mehrere Module verwenden (und ensprechend "myaction" in "myaction_modulkennung" ändern) oder man könnte versuchen, in den Namen die Container-ID zu integrieren.

Ich weiss gar nicht, ob es die Variable $container oder so was gibt, probier's doch mal (zunächst mit "echo $container;"):

Code: Alles auswählen

switch ($_REQUEST['C'.$container.'myaction']) {
   case "option2":
      echo '              <td><input type="radio" name="C'.$container.'myaction" value="option1" onClick="document.forms[0].submit();">Option
...
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
junior0007
Beiträge: 20
Registriert: So 16. Jan 2005, 17:25
Kontaktdaten:

File-Upload im Konfigtab?

Beitrag von junior0007 »

Klappt auch... cool!

Die hoffentlich letzte Frage ist, wie man in das bestehende noch einen Fileupload einbauen koennte. Geht das?
Hab versucht hinter action $PHP_SELF zu schreiben, aber das klappt nicht, weil wir irgendwie mit .htaccess die $PHP_SELF beeinflussen...
Gibts da trotzdem irgendwas mit dem ich einen Fileupload realisieren koennte? Da gibts doch bestimmt was mit $sess->url(), nur was?

Danke ;-)

Junior
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Mit Fileupload usw. kenne ich mich nicht so aus - da solltest Du mal einen Blick in den Contenido-Sourcecode werfen, z.B. in includes\include.upl_files_upload.php und vielleicht in includes\functions.upl.php.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt