ich habe meine erste pre beta komponente geschrieben (liest mir eine mysql datenbank aus)
und habe folgendes (grundlegendes) problem
ich muss meiner komponente ja unterschiedliche informationen übergeben können (z.B. userid=4475, action=show)
wie funktioniert das (stehe auf dem schlauch) ich meine nicht die parameter box im menu wo ich irgendwie (keine ahnung wie) statische informationen übergeben kann.
oder kann ich einfach beleibige infos über die Adresszeile übergeben - das mag doch die joomla api sichelich nicht.
Danke für die hilfe
ich brauche eine möglichkeit das:
Uid=574742
text="was weiss ich"
Action= (search, show, edit, delete, new)
an meine komponente zu übergeben und die information auszulesen, damit ich in der komponente darauf reagieren kann
Danke
Eigene Komponente - Grundlegendes
Moderator: General Support Moderators
Forum rules
Forumregeln
Forumregeln
-
- Joomla! Apprentice
- Posts: 18
- Joined: Wed Nov 09, 2005 4:22 pm
- alexhokamp
- Joomla! Guru
- Posts: 723
- Joined: Sun Nov 20, 2005 7:04 pm
- Location: Germany
- Contact:
Re: Eigene Komponente - Grundlegendes
@Vincent2004
also aus sicherheitsgründen, würde ich auf keinen fall irgentwelche parameter über die adresszeile übergeben. um was für informationen handelt es sich denn? wenn es Joomla variablen sind dürftest du doch keine probleme haben die globals zu benutzen, aber wenn es daten sind die von einem deiner programme aus der datenbank ausgelesen werden, und dann an deine komonente übergeben werden sollen, kannst du doch so viele unterschiedliche wege gehen mit php. ich würde php sessions benutzen um variablen übergreifend zu benutzen. starte einfach eine session in dem ausleseprogramm, definere die variablen mit der $_session superglobal und dann kannst du sie einfach in jedem programm dannach benutzen.
ich hoffe mein deutsch ist nicht zu schlecht zu verstehen.
Alex ...
also aus sicherheitsgründen, würde ich auf keinen fall irgentwelche parameter über die adresszeile übergeben. um was für informationen handelt es sich denn? wenn es Joomla variablen sind dürftest du doch keine probleme haben die globals zu benutzen, aber wenn es daten sind die von einem deiner programme aus der datenbank ausgelesen werden, und dann an deine komonente übergeben werden sollen, kannst du doch so viele unterschiedliche wege gehen mit php. ich würde php sessions benutzen um variablen übergreifend zu benutzen. starte einfach eine session in dem ausleseprogramm, definere die variablen mit der $_session superglobal und dann kannst du sie einfach in jedem programm dannach benutzen.
ich hoffe mein deutsch ist nicht zu schlecht zu verstehen.
Alex ...
-
- Joomla! Apprentice
- Posts: 18
- Joined: Wed Nov 09, 2005 4:22 pm
Re: Eigene Komponente - Grundlegendes
ok das übergeben funktioniert
setzen z.B. über einen Bot
innerhalb eines SELECT mit CONCAT
."CONCAT( 'index.php?option=com_eigenekomponente&Itemid=40&Action=SHOW&ID=', #__eigenername.id ) AS href, "
."'2' AS browsernav "
Action =SHOW
ID = .... aus datenbank
// ------------------ Auslesen der übergben Parameter ------------------
$ID = mosGetParam( $_REQUEST, 'ID', 0 );
$action = mosGetParam( $_REQUEST, 'Action', '');
hier lese ich die ID und action aus.
das wars ...
ich hoffe das hilft auch anderen
ich habe z.Z. folgendes problem
meine Komponente hat ein ein selct form name='select_kategorie' wenn dort etwas ausgewählt wird ruft sich die seite selbst auf und soll die auswahl auslesen leider funktioniert das nicht mit
die form wird so eröffnet
$aktive_auswahl ist immer 0
wer weis wie ich sich selbst aufrufende selct forms auswerte ?
Danke
Der Wald hat viele Bäume ...
Vincent
setzen z.B. über einen Bot
innerhalb eines SELECT mit CONCAT
."CONCAT( 'index.php?option=com_eigenekomponente&Itemid=40&Action=SHOW&ID=', #__eigenername.id ) AS href, "
."'2' AS browsernav "
Action =SHOW
ID = .... aus datenbank
// ------------------ Auslesen der übergben Parameter ------------------
$ID = mosGetParam( $_REQUEST, 'ID', 0 );
$action = mosGetParam( $_REQUEST, 'Action', '');
hier lese ich die ID und action aus.
das wars ...
ich hoffe das hilft auch anderen
ich habe z.Z. folgendes problem
meine Komponente hat ein ein selct form name='select_kategorie' wenn dort etwas ausgewählt wird ruft sich die seite selbst auf und soll die auswahl auslesen leider funktioniert das nicht mit
Code: Select all
// F U N C T I O N - check_auswahl
function check_auswahl()
{
$aktive_auswahl = mosGetParam( $_POST, 'select_kategorie', 0 );
Code: Select all
echo "<form name='form_kategorie' method='post' action='http://www.meineseite.de/?index.php?option=com_meinekomponente&Itemid=40'>\r\n <select name='select_kategorie' onChange='javascript: document.form_kategorie.submit()'>\r\n";
wer weis wie ich sich selbst aufrufende selct forms auswerte ?
Danke
Der Wald hat viele Bäume ...
Vincent
- alexhokamp
- Joomla! Guru
- Posts: 723
- Joined: Sun Nov 20, 2005 7:04 pm
- Location: Germany
- Contact:
Re: Eigene Komponente - Grundlegendes
@Vincent2004
Ich weiss nicht ob dir dies helfen wird, aber ich benutze die folgenden scripts etc um farben von einem file an sich selbst zu übergeben.
JavaScript:
Form:
Vielleicht hilft dir das ja weiter ...
Alex ...
Ich weiss nicht ob dir dies helfen wird, aber ich benutze die folgenden scripts etc um farben von einem file an sich selbst zu übergeben.
JavaScript:
Code: Select all
<script type="text/JavaScript">
<!--
function Style_Menu(targ,selObj,restore){
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
Form:
Code: Select all
<select name="menu1" onchange="Style_Menu('parent',this,0)" class="style_box">
<option value="<?php print(get_color_link('074882')); ?>" style="background-color:inherit" selected>Style</option>
<option value="<?php print(get_color_link('990000')); ?>" style="background-color:#990000">Red Liquid</option>
<option value="<?php print(get_color_link('da053b')); ?>" style="background-color:#da053b">Fruit</option>
<option value="<?php print(get_color_link('088333')); ?>" style="background-color:#088333">Petri Green</option>
<option value="<?php print(get_color_link('017cca')); ?>" style="background-color:#017cca">School Blue</option>
<option value="<?php print(get_color_link('000000')); ?>" style="background-color:#000000">Fingerprint</option>
<option value="<?php print(get_color_link('074882')); ?>" style="background-color:#074882">Normal</option>
</select>
Vielleicht hilft dir das ja weiter ...
Alex ...