Computed Field nem müködik

kormen képe

Sziasztok!

a következő problémába ütköztem. D7 re telepítettem a Computed field modult. A célom az lenne hogy egyedi sorszámot generáljak a nodeommnak mivel csak egy node típusnak kell így a nid sajnos nem jó A sorszám formátumának ilyesminek Kellene lennie: ba-2012/0001 és már ott kellene lennie a node beküldésénél (ha lehet). A problémát elméletben megoldottam. Computed fieldet használok(nék) de nem működik. Telepítettem, beállítottam függőségeket is, jogokat adtam, elvileg minden szép és jó.

a computed code mezőbe ezt írtam:

$query = db_query("SELECT field_sorsz_m_value from field_data_field_sorsz_m order by field_sorsz_m_value desc limit 1");
if ( $query-> field_sorsz_m_value = 0) {
$node_field[0]['value'] = 'AB-' . date ("Y") . "/000001";
} else {
$node_field[0]['value'] = $query-> field_sorsz_m_value += 1;
}

megjelenítési mezőben ez van:

$display_output = $entity_field_item['value'];

Elviekben működik, de nem. nem rögzít az adatbázisban semmit, és a nem jelenik meg a beküldésnél, de a visszanézésnél sem.

Úgy fest a computed field nem működik mert ha esetlen baromságot írok be nem dob hibát a rendszer Beírtam a computed code mezőbe hogy "glubglub()" és simán átment. Tehát a kód nem hajtódik végre.

A tudástárban a következőket olvastam végig:
http://drupal.hu/kereseshozzaszolas?search_api_views_fulltext=computed+f...
http://drupal.hu/kereseshozzaszolas?search_api_views_fulltext=computed+f...
http://drupal.hu/kereseshozzaszolas?search_api_views_fulltext=computed+f...

a guglit is próbáltam de nem jöttem rá hun a hiba.

Valakinek ötlete?

D7 Computed Field 7.x-1.0-beta1

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

http://drupal.org/project/serial
ez tökéletesen sorszámoz, kivéve, hogy a kívánt "ba-2012/" részt nem fogja elé tenni. viszont itt jön a szokásos legózás. ha raksz fel token modult is, eléred a sorszámozást tokenként. ehhez még mixelünk auto_nodetitle modult is, akkor elérhetjük, hogy a node címe lesz maga a "sorszám", a serial modul mezőjéből generálva szépen, tokenekkel. (egy darab php kód sincs!)

én ezt csinálnám. az hogy a kompjúted fíldbe db_query van, az horror.

2
0

-
clear: both;

kormen képe

Ez idáig oké, ez sem rossz de a hiba fent áll. Idegesít hogy valami nem működik, még ha a serial mezőt használom is mi az hogy nem működik. :) Meg akarom találni a hibát!

Valamint a sorszán nem jelenik meg a normál node nézetben. Tehát viewet kell alkotnom hozzá, hogy megjelenítsem. Ha egyáltalán azzal meg lehet.

A hibát tovább keresem, ötleteket várok.

0
0

Kormen

aboros képe

de még ha működne is, akkor is rosszul. ha egyszerre két nodeot küldenék be, máris nem működne. a serial mezőt tokenekkel felhasználhatod egy másik, sima textfield mezőnél default érték generálásához. serial modul, token modul.

ilyen kódot akkor se írjál a kompjúted fíldbe, ha működik. szerintem. ezért nem is javítom ki, de rosszul dolgozod fel a db_query eredményét, nézd meg a példakódokat.

1
0

-
clear: both;

kormen képe

Szia!

Az lehet hogy nem kóser a lekérdezésem, mivel a CF nem müxik, így kipróbálni sem tudtam. Ez elmélet. Tudom hogy javítanom kell majd benne. De egyelőre maradjunk annál hogy a glubglub() funkció meghívásáért kapjak egy fél oldalas nagy piros X-et néhány szidalmazó mondattal :)

Tehát:

A Computed code mezőmben ez van:

glubglub()

ennek az eredménye (1, nincs ilyen funkció, 2, szintaktikailag hibás) egy nagy php error vagy legalább egy warning.

Már beépítettem a serialt, csak akkor is foglalkoztat a probléma.

Köszi!

0
0

Kormen

aboros képe

bevallom ebben nem tudok segíteni, mert amúgy még soha nem használtam a computed field modult. egyszer sem. próbából sem. lehet itt az ideje? :)

0
0

-
clear: both;

szantog képe

A legegyszerűbb, ha megnézed a kommenteket: http://api.drupal.org/api/drupal/includes%21database%21database.inc/func...

Nálad a $query->fetchField hiányzik még, hogy ne pdo objecttel dolgozz. De az alapelv is rossz, jó esély van rá, hogy a kveri sem mindig azt az eredményt fogja adni, amit akarsz.

Most, hogy megvan a megoldás, nyugodtan felejtsd el a computed fieldet, és _minden_ olyan megoldást, ami textfieldbe írt php kódon alapul.

3
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.