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
dátum nélkül csak a sorszámozásra van modul
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.
-
clear: both;
Ez idáig oké, ez sem rossz de
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.
Kormen
az hagyján :)
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.
-
clear: both;
Ez most már saját örültség
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!
Kormen
hát, megértem
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? :)
-
clear: both;
A legegyszerűbb, ha megnézed
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.
----
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.