Content Management System - CMS : eXV2 
Home
News
Forum
Downloads
Download Module
Sitemap
Partnerseiten
RSS News
Kontakt/Info
Sprache
EnglishFrench
Suchen
Login
Nickname
Passwort

Registrieren?
Passwort?
Navigation
 Home News  Forum Neueste Beiträge  Downloads Download Module eXV² Themes  Weblinks Tutorial Changelog 2.3.1 Jobcenter Gebrauchtmarkt OSMap  Sponsor Kalendersystem Sitemap Partnerseiten RSS News Kontakt/Info Webseiten Wetter
Willkommen im Free Web CMS : eXV² Forum!
  Forenarchiv
     Allgemeines
  Frage zu theme_form Formularen

Forum : Allgemeines

Titel : Frage zu theme_form Formularen

© 2004-2012 www.exv2.de
http://www.exv2.de

URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=4022&forum=8


 molli :

28.02.2008 23:06
 Hallo zusammen,

ich hab da mal wieder eine Frage an Euch. Und zwar ist es bzw. wie ist es möglich, die Formulare in exv2, welche über die theme_form laufen, in "normale" html-form-Tags zu fassen? Könnte mir das jemand an diesem Beispiel erklären?

$feld_cat = $form->f_select(_MD_CATEGORYC, "cid", "", 1, inc_function("makeCnameSelectArray", array("mydownloads_cat","title","title","cid","pid")));
$form->addElement($feld_cat);

im Voraus schon mal Vielen Dank!

 bama :

28.02.2008 23:43
 Hi molly,

das kann man nicht, den mit html kannst du nicht aus einer Datenbank lesen, deshalb bedient man sich hier: php

du könntest mit html natürlich ein Selectfeld erstellen, und alle Kategorien aus mydownloads eintragen, jedoch wenn du eine neue Kategorie haben möchstest, müsstest du jedes Mal dein Selectfeld händisch ändern. Das glaube ich ist nicht Sinn der Sache

 molli :

01.03.2008 00:06
 Hallo Hans,

erstmals Danke für deine schnelle Antwort!
Das form-Tag ist also schon in PHP eingebunden, nur ist mir nicht klar, wie ich den array einbinden kann/soll/muß. Ich dachte da an folgenden Ansatz:


Code:
echo "<form ACTION='test.php' NAME='action' method='post'>";

echo " <select class='select' name='action'>";


$catarray = inc_function("makeCnameSelectArray", array("mydownloads_cat","title","title","cid","pid")));

$result = $db->query("SELECT title,title, cid, pid FROM ".$db->prefix("mydownloads_cat")." WHERE cid ");
while ( list($title, $title, $cid, $pid) = $db->fetch_row($result) ) {
echo "<option value='$catarray'>$title</option>";
}

echo "</select></td><td valign='top'>
<input type='hidden' NAME='action' value='result' />
<INPUT TYPE='submit' class='button2' value='".GO."'></td></form>";



Das ganze funktioniert auch insoweit, dass zumindest die Kategorien angezeigt werden. Das Problem liegt jetzt noch zum einen, wie gesagt, beim array, der nicht übergeben wird und zum anderen werden die zwei Bindestriche vor den Unterkategorien nicht angezeigt. Hintergrund der Geschichte ist, dass ich div. Formulare gern vierspaltig gestalten möchte und nicht wie in der theme_form festgelegt nur zweispaltig.

Gruß Oli

 bama :

02.03.2008 00:08
 Hi Oli,
erstmal gleich, in xhtml (eXV² ab Version 2.0.6) muss das alles klein geschreiben werden
ACTION='test.php' NAME='action'

Code:
<?php
/**
$Id: test_selectfeld.php, V 1.0 - 2008/03/01 23:57:00 bama Exp $
eXV2 Content Management System
Link: http://www.exv2.de
*/
if ( !defined('XOOPS_MAINFILE_INCLUDED') ) {include("mainfile.php");}

inc_xoops_header();

inc_class_form("form", "EXOOPS_FORM_PRODUCER_INCLUDED", "exoops_form_producer.php");

echo "<form action='test.php' name='action' method='post'>";
echo "<table border='0' cellpadding='2' cellspacing='0'>";
$temp = ExoopsFormProducer::f_select("", "cid", (isset($cid) ? $cid : 0), 1, array("0" => "----"));
$temp->addOptionArray(inc_function("makeCnameSelectArray", array("mydownloads_cat","title","title","cid","pid", 0, 0, 0)));
echo "<tr><td align='right'>Kategorie</td><td>".$temp->render()."</td></tr>";
echo "</table>";

inc_xoops_footer();

?>

 molli :

02.03.2008 22:18
 Der Hans, der kann's!!!

Ich Danke Dir tausend Mal.

Abschließend hätte ich da allerdings noch eine klitzekleine Frage und zwar bei einem Formular müsste ich noch ein setExtra "onchange" mit einfügen, und so:

Code:
echo "<form action='test.php' name='action' method='post'>";
echo "<table border='0' cellpadding='2' cellspacing='0'>";

$temp = ExoopsFormProducer::f_hidden("op",$op);
$temp = ExoopsFormProducer::f_select("", "cid", (isset($cid) ? $cid : 0), 1, array("0" => "----"));
$temp->addOptionArray(inc_function("makeCnameSelectArray", array("mydownloads_cat","title","title","cid","pid", 0, 0, 0)));
$temp->setExtra("onchange='op.value="input"; javascript:document.test.submit();'");
echo "<tr><td align='right'>Kategorie</td><td>".$temp->render()."</td></tr>";
echo "</table>";


funktioniert's nicht! Verzeih mir mein NOB-Dasein und nochmals vielen Dank für Deine Mühe.

Gruß Oli

PS: Code bitte mit markieren!

[ Ge&amp;auml;ndert von bama an 02.03.2008 22:41 ]

 bama :

02.03.2008 22:45
 was ich so sehe, ungetestet, müsste das anstatt

javascript:document.test.submit();

javascript:document.action.submit();

heissen, das form hat name action
dann würde ich niemals name='action' machen, denn manche Browser mögen das nicht
Partnerseiten
http://www.contaxe.com/?cref=1674143

Vote für eXV2
php
Kontakt/Info
  Kontakt
  Impressum
  Link zu uns
  AGB
  Datenschutzhinweis
Downloads
  eXV² Core
  Core Sprachfiles
eXV² Filecenter
  Downloads
  Download Module
  eXV² Themes
  Multilanguage Module
  Sprachfiles eXV² Module
eXV² Support
  France