CCK mező értékének növelése rules modullal

scylla képe

Sziasztok!

Egy egyesület weblapjára próbálok egy jelenléti ívet összerakni. Még március elején, amikor elkezdtem ismerkedni a drupallal szantog ajánlotta a rules (és flag) modult. Kezdünk már lassan összebarátkozni, azonban egy ponton mindig megmakacsolja magát.
Az alap a következő: Van egy view, amin táblázatos formában megjelennek a felhasználók, az hogy hányadik edzése , és mindegyik mellett egy flag linkként. Ha flagre kattintunk, akkor növelné eggyel az edzésszámot, majd visszaállítja a flaget. Ez odáig működik is, hogy be tudok írni egy tetszőleges értéket az edzésszám mezőbe, de sajnos az eredeti értéket nem tudom kiolvasni, ezért növelni nem tudom.
A haladó mezőbe az alábbi kódot írtam (a CCK mező neve 'field_alkalom', típusa egész szám):

return array(
  0 => array("value" => $node->field_alkalom[0]["value"] + 1),
);

Ez mindig egyet ír vissza az alkalom mezőbe, tehát a kiolvasás nem sikerül.

Az már ezek után kisebb probléma, hogy a rules lefutása nem frissíti az oldalt és erre módot sem találtam.

Minden segítséget köszönök!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
szantog képe

Az még nem világos, hogy a táblázatba hogyan olvasod be az adatot? Amúgy nekem sem túl jók a tapasztalataim a cck mezők állításával rules-szon belül, főleg a tokenek hoznak rám idegbajt.
Én úgy csinálom, hogy nem cck mező értékét állítom, hanem PHP kódot veszek fel futtatandónak. Ott meg azt csinálok a $node tömbbel, amit akarok.
Az oldal újratöltéséhez meg a flag beállításoknál a link type-ot állítsd normalra, és akkor sima linked lesz csak.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

scylla képe

Köszi a segítséget ismét.

A flag beállítás sikerült.

Azt viszont nem teljesen értem, hogy mi a kérdésed a táblázattal kapcsolatban. A kapcsolatoknál megadtam a flag-et, A mezőknél egy CCK felhasználo uid mezőt, az alkalom mezőt és a flag-et linkként. Típusra szűrök (bérlet). Ennyi egyelőre.
Ha esetleg nem erre gondoltál, csináltam egy admin felhasználót neked egy pár napra. A felhasználónév/jelszó az itteni azonosítód. A cím: scylla.neobase.hu. A nézet neve: jelenleti_iv. (Tudom, hogy ez így meredek, de nincs semmi értelmes az oldalon.)

A PHP kóddal megijesztesz. No nem a kódolás résszel, mert az még menne, hanem a drupal működését, a $node tömb szerkezetét nem ismerem. De ha nincs más mód, akkor elmerülök abban is.

Köszi,
scylla

0
0
szantog képe

Na az phpkód bűvészkedés nem jó. Kezdjük ott, hogy le sem fut a mezőbe írt cucc, tehát eleve vakvágány. (Most már látom, hogy erre emlékeztem korábban, én sem bírtam a cck mező ilyen változtatásával) A $node - nem is tömb - ojjektumtól meg nem kell félni. Belemész a kérdéses node-ba, van ott egy Devel fül, mindent megmutat.
amúgy kb két sor lesz a kódod, valami ilyesmi, $node->field_mezoneve['0']['value'] = $node->field_mezoneve['0']['value'] + 1 ; return $node;
A usert meg szerintem gyorsan töröld, nem biztos, hogy mindenki jóindulattal látogat oda.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

scylla képe

Az biztos, hogy a mezőbe írt cucc lefut, mert az különböző értékekkel próbálgattam. Csak a +1 miatt mindig egyet ír be. (Ha átírom +3-ra, akkor hármat).

A kóddal kapcsolatban amit írtál kb. eddig tudtam én is eljutni, hogy valami ilyesmi lenne. A gondom az, hogy fogalmam sincs, hogy ezt hova is kellene beírni. Melyik fájlba. Node-nál működik a devel fül, megjelenik a krumo, de a views oldalakon nem. Ráadásul ennek még vissza is kellene íródnia az adatbázisba.

Szóval azt hiszem, hogy ezt a kérdést el fogom napolni és egy más módszert keresek, amíg nem sikerül jobban elmélyednem a modulfejlesztésben.

Azért köszi a segítséget.

0
0