Honnan tudom a hook_validate-ben, hogy épp inserting, updating vagy deleting van-e?
A $node->nid és $node->op alapján rá lehet jönni, de abban magyarul vannak a szövegek.
Nincs valami $state vagy valami hasonló változó?
Így mégsem illik:
if ((!$node->nid) && ($node->op == t("Mentés"))) { ... inserting ... } elseif (($node->nid) && ($node->op == t("Mentés"))) { ... updating ... } elseif (($node->nid) && ($node->op == t("Törlés"))) { .. deleting ... }
Drupal verzió:
Fórum:
pedig en ugy latom nincs
sima formnal a
de a hook_validate-ben nincs ilyen lehetoseg, es nem is latok jobb megoldast annal amit irtal..
a hook_nodeapi-ban van meg egy 'validate' opcio de az az osszes node tipusra meghivodik..
off: miert vannak magyarul a szovegek? t('Save') lenne helyesen..
Igazad van
>off: miert vannak magyarul a szovegek? t('Save') lenne helyesen..
Azt hiszem tényleg a t('Save') a helyes.
Csak kilistáztam a $node objektumot és így volt benne.
A t('Save') akkor minden nyelvnél fog működni?
Pedig hasznos lenne
hogy tudjuk, mi a validate funkciója:
- insert: van-e már ilyen adatunk (unique), vagy kell-e szülő rekordnak lenni (foreign key)
- update: új adat egyezik-e egy másik rekorddal, de nem lehetne (unique), vagy új adathoz kell-e szülő rekordnak lenni (foreign key)
- delete: van-e rá hivatkozás (foreign key)
stb.
De ennek hiján marad ez a függvény:
$node ?
Nem látom a $node objektumot.
Gondolom azért van a paraméterben a $nid és az $op, hogy azokat használjuk, és a $node-nak különben sincs op tulajdonsága.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
Ez egy saját függvény
>és a $node-nak különben sincs op tulajdonsága.
De van a form submit után: "Mentés" ill. "Törlés" (ami a gomb értéke)
Így használom (csak fejből):
(hook helyett értelemszerűen modul neve van)
Értem én, hogy saját fgv,
Értem én, hogy saját fgv, csak olyan változóra hivatkozol benne ami nem létezik. Nem adsz át $node objektumot, így nincs semmilyen tulajdonsága. Ezt akartam jelezni. Nézd meg:
Mondjuk őszintén szólva nem értem mi funkciója van a fgv-ednek. Miért éri meg jobban ezt használni
mint ezt
Nem kötekedni akarok, csak tényleg érdekel, lehet én siklok el valami felett.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
Miért nem létezik?
>Értem én, hogy saját fgv, csak olyan változóra hivatkozol benne ami nem létezik.
Miért nem létezik?
Átadom a $node->nid és $node->op értékeket, de $nid és $op-ként veszem át.
Akkor miért nem lehet használni a $nid és $op változókat függvényen belül?
>Mondjuk őszintén szólva nem értem mi funkciója van a fgv-ednek. Miért éri meg jobban ezt használni
Ebben lehet, hogy igazad van, hogy mindegy.
De én megszoktam, ha valamit több helyen használok, azt függvénybe teszem a későbbi, akár máshonnan, más értékekkel való híváshoz.
Ha később kiderül, hogy nem lenne a függvényen belüli vizsgálat megfelelő, akkor csak egy helyen kell átírni.
>Nem kötekedni akarok, csak tényleg érdekel, lehet én siklok el valami felett.
Természetesen nem. Én is szeretnék mindig minden oldalról tájékozódni, alternatívákat megnézni,
és érdekel más gondolkodásmódja is.
$nid vs. $node->nid
Azért nem létezik, mert nem azokat a változókat használod, amiket átadsz.
Te az $nid és az $op változókat adod át, mégis a $node->nid és a $node->op értékekre hivatkozol a fgv-en belül.
Ezeket kellene lecserélni valahogy így:
Remélem így már érthető amit írtam.
Hosszu Kálmán
http://twitter.com/kalmanhosszu
http://www.kalman-hosszu.com/
http://premiumcmsthemes.com/
Igazad van...
Bocs, teljesen igazad van, elkerülte a figyelmemet a 2. és 3. feltétel vizsgálat, csak az 1-t írtam és néztem át, a többi úgy maradt.
Mentségemre szolgáljon, hogy csak adhoc beírtam és nem copy-paste volt egy modulomból...
A fgv-hívás értelme vagy értelmetlensége pedig csak egy apró véleménykülönbség.