Tételadatok form

makgab képe

Üdv!

Van egy formom adatsorok táblázatban, amihez szeretnék tételadatokat rögzíteni. Hasonlóan mint a számla és tételadatok.
Hogy lehet ezt szépen megoldani?

Tehát ez van pl.:

hook_add_form {
// new data form
}
 
hook_list_form{
// sql... stb.
 foreach ($result as $record) {
 
    $rows[] = array(
      'id' => $record->id,
      'field1' => $record->field1,
      'field2' => $record->field2,
      l(t('Edit'), 'hook/admin/list/edit/' . $record->id ),
      l(t('Delete'), 'hook/admin/list/delete/'. $record->id),
    );
    } // foreach
// ...stb.
}

Tegyek a táblázatba mégegy műveletet? Pl.:

      l(t('Add item'), 'hook/admin/additem/' .$record.>id ),
Drupal verzió: 
Sk8erPeter képe

Van egy formom adatsorok táblázatban, amihez szeretnék tételadatokat rögzíteni. Hasonlóan mint a számla és tételadatok.
Hogy lehet ezt szépen megoldani?

Próbálkoztam a kérdésed értelmezésével, de nem jutottam előrébb. Tehát igazából mit is szeretnél? Milyen kimenetet vársz? Hogy néz ki a jelenlegi, működőképes-e, mi nem jó rajta?
Nem értem, mit értesz "tételadatok" alatt...
Ezenkívül az sem tiszta, miért kezdődik minden függvényed hook_ előtaggal (remélem, ez csak szemléltetés valami hook implementálására, bár nem egészen érthető a példád ennyi alapján), valamint hogy az Edit és Delete URL-je miért kezdődik szintén hook-kal. Ha ez az éles kódban van benne, akkor azt tanácsolom, ezeket mielőbb változtasd meg.

0
0
makgab képe

Bocs, ha nem voltam egyértelmű!
A "hook" csak minta volt természetesen, ahogy írtam is.

Van egy táblázatos megjelenítésem, amiben sorok (rekordok) vannak. Annyit szeretnék csak, hogy ezekhez a rekordokhoz (tábla1) egy másik táblába tétel szintű adatokat szeretnék karbantartani (tábla2). Azaz:

tábla1: pid, description ...stb. ("fejszintű" adatok)
tábla2: itemid, pid, name ...stb. ("tételszintű" adatok)

Pl.:

tábla1:
  1, "Első adat"
tábla2:
  1, 1, "Első adat Első tétel"
  2, 1, "Első adat Második tétel"
  3, 1, "Első adat Harmadik tétel"
  ... stb.

A tételszintű adatokat szeretném karbantartani, erre keresek valami jó megoldást. Egyelőre nem a kódra gondolok, hanem a módjára.
Tehát pl. a tábla1 táblázatban levő adatok mellett legyen az "Edit", "Delete" mellett egy "Items" link amivel a rekordhoz tartozó tételadatokat lehet karbantartani? Vagy van esetleg szebb megoldás?

0
0
makgab képe

Igen, azt hiszem ez lesz egy megoldás.
Valami hasonló van itt is.
"forms and table on same page."

0
0
Sk8erPeter képe

Azért ne bízd rá magad erre a kódra teljesen, mert tartalmaz hibákat bőven. Például sehol nem használ placeholdereket, a db_query()-ben, se a drupal_set_message()-ben, ami pedig nagy hiba (mindent csak konkatenál), valamint a .../%/edit útvonalnál típusnak MENU_NORMAL_ITEM-et ad meg, ami sztem szintén nem helyes.

A "hook" csak minta volt természetesen, ahogy írtam is.

Nem láttam, hogy írtad volna. :)

ezekhez a rekordokhoz (tábla1) egy másik táblába tétel szintű adatokat szeretnék karbantartani (tábla2)

Ez a "tételszintű adatok" nem túl egzakt, ez a "tételszint" valami egyedi definíció lehet ismeretlen fogalomra. :))
Ha jól értem, itt arról beszélsz, hogy vannak szülőelemek, azoknak vannak gyerekelemei, tehát egyfajta besorolás van nálad.
Hogy ezt hogyan listázod, az ízlés kérdése. Lehet táblázatban, lehet akárhogy, de ha magával az implementációval kapcsolatos a kérdésed, akkor ez pedig megközelítés kérdése, de mivel nem írtad le a kódod hátterét, hogy node-okkal játszol-e, amihez mondjuk könnyű lenne Views-zal kilistáztatni a node edit linkeket, vagy más Drupal-entitásról, vagy valami teljesen egyedi entitásról van szó, ezért erre sajnos ennyi alapján nem lehet egyértelmű választ adni. Szóval ilyen kérdéshez kéne valami egyértelmű körülírása a problémának.

0
0
makgab képe

Köszönöm fáradozásod! Megoldottam a dolgot.
Megjelenítettem táblázatosan szűlő elemeket, mellette link a gyerekelemekre. Ha rákattint a user a gyerekelemek linkre, akkor táblázatosan megjelennek a gyerekelemek adatai. De alatta közvetlen már új gyerekelem is felvihető az adott szülőelemhez.
Szépen működik.
Mégegyszer köszönöm fáradozásod!

1
0