Autor Zpráva
kelvin
Profil
Snažím se upravit jeden redakční systém (Bloxxy). Vybírání kategorií článků v redakčním systému je řešeno pomocí rozevíracího seznamu (<select>). Každá kategorie je zobrazena jako položka seznamu (option).

Chtěl bych to zrealizovat pomocí obyčejných odkazů nebo tlačítek (každá kategorie by byla prezentovaná jedním tlačítkem - jeho value by byla název kategorie). Ten kód je ale silně nad mé síly.

Ten select je realizován následovně:

function makeSelect($label,$name,$values,$val,$from=0) {
$buff = '';
if ($label) $buff .= '<label for="'.$name.'">'.$label.'</label>: '."\n";
$buff .= '<select name="'.$name.'">'."\n";
for ($i=$from;$i<count($values);$i++) {
$l = $values[$i];
$buff .= '<option value="'.$l[1].'"';
if ($l[1]==$val) $buff .= ' selected="selected"';
$buff .= '>'.$l[0].'</option>'."\n";
}
$buff .= '</select>'."\n";
return $buff;
}

Ve stránce je zobrazen kódem:

if ($stateStart) {
ePar(
makeSubmit('action',$BLXS['Action_Newitem']),
'actions'
);
eH2($BLXS['Editor_Lbl_Groups']);
ePar(
makeSelect('','itemgroup',$grp_list,$itemgroup,0) .
makeSubmit('action',$BLXS['Action_Listitems']) . ' --- ' .
makeSubmit('action',$BLXS['Action_Newgroup']) . ' --- ' .
makeSubmit('action',$BLXS['Action_ListitemsAll']),
'actions'
);
Nejdříve se v seznamu vybere kategorie a následně se tlačítkem makeSubmit('action',$BLXS['Action_Listitems']) . ' --- ' odešle.

Toto tlačítko má funkci :

function makeSubmit($name,$value) { return '<input type="submit" name="'.$name.'" value="'.$value.'" />'."\n"; }


Zkoušel jsem (spíše hodně od oka):
function makeTlacitko ($label,$name,$values,$val,$value,$from=0) {
$buff = '';
if ($label) $buff .= '<label for="'.$name.'">'.$label.'</label>: '."\n";
$buff .= '<input type="submit" "name="'.$name.'" "value="'.$name.'">'."\n";
for ($i=$from;$i<count($values);$i++) {
$l = $values[$i];
$buff .= '<form value="'.$l[1].'"';
if ($l[1]==$val) $buff .= ' selected="selected"';
$buff .= '>'.$l[0].'</form>'."\n";
}
$buff .= '</select>'."\n";
return $buff;
}

a zobrazit to kódem:

makeTlacitko('','itemgroup',$grp_list,$itemgroup,0) .

Ale zobrazilo se jen jedno tlačítko s value odeslat a pod ním plain text seznam kategorií :(.

Formulář pro odeslání používá post:
e('<form method="post" enctype="multipart/form-data" action="'.$SCRIPT_NAME.'">');

Pro názornost připojuji screenshot rozbalovacího seznamu a mého pokusu: http://www.milichovsky.com/bordel/bloxxy-kategorie.png .

Zde je celý zdroj toho souboru http://www.milichovsky.com/bordel/gui.php.txt .
Toto téma je uzamčeno. Odpověď nelze zaslat.