Sziasztok!
Még mindig a Freeblog importálónál tartok, a hozzászólások importálását szerezném megoldani.
Mivel nem szeretek az adatbázisban "túrkálni" a rendszer megkerülésével, megpróbálom felhasználni a rendszer által nyújtott függvényeket.
Viszont lehet, hogy itt egy hibát fogtam, ugyanis első próbám az volt, hogy betöltöttem egy már létező kommentet, átírtam a node-azonosító és a komment-azonosító értékét, és el akartam menteni újra. Arra számítottam, hogy ezzel a másik node is kap egy ugyanolyan tartalmú hozzászólást:
$comm = _comment_load(1); $comm->nid = 11; $comm->cid = 7; comment_save ($comm);
Viszont a comment_save függvény szintaktikai hibára fut:
Fatal error: Unsupported operand types in C:\xampp\htdocs\drupal6\modules\comment\comment.module on line 699
Próbálkoztam egy ilyen megoldással, de ez is ugyanazt a fenti hibaüzenetet adja:
$comm->cid = 7; $comm->pid = 0; $comm->nid =11; $comm->uid = 1; $comm->subject = 'targy01'; $comm->comment = 'torzs01'; $comm->hostname = '100.100.100.100'; $comm->timestamp = time(); $comm->status = COMMENT_PUBLISHED; $comm->format = 1; $comm->thread = '01/';
Mivel erről a függvényről szinte semmi példát nem találtam, tudna valaki mutatni egyet a helyes használatára?
Ezzel kapcsolatban még egy kérdés: Van valamilyen mód arra, hogy megszerezzem az egy node -hoz tartozó hozzászólásokat egy objektumban, esetleg úgy, hogy megőrízze a thread-sorrendet, vagyis a hozzászólások egymáshoz való kapcsolatát?
Ui.: A tesztrendszer, amelyen próbálkozom Drupal 6.3
A $comm-nak tömbnek kell
A $comm-nak tömbnek kell lennie, nem objektumnak!
adatbázis
Azóta már nem igazán tudtam várni, úgy néz ki, hogy sikeresen megoldottam adatbázisból. :)
Ui.: Köszönöm az infót, a hozzászólások felvitele megvolt már, viszont éppen a 'node_comment_statistics' táblával szenvedtem... viszont a comment_save() azt is frissíti. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
és ez miért?
Jól működik a comment_save() függvény, valóban tömböt vár paraméterként.
Viszont a modulban létrehozott hozzászólások időbélyegét nem tudtam beállítani... már kezdtem bosszankodni, mikor megláttam ezt a comment_save forráskódjában:
És ezt nem értem. Mármint azt, hogy ha a paraméterként átadott tömbben már beállítottam a 'timestamp' értékét, amikor új hozzászólást akarok készíteni, miért kell abban az időbélyeget kötelezően "agyoncsapni" az aktuális időbélyeggel? Vagyis ha én állítok össze egy új hozzászólást, akkor miért nem állíthatom szabadon a létrehozás dátumát?
Most megint ott vagyok, hogy gyakorlatilag mégis ki kell "dobnom" a comment_save() függvény használatát, marad az adatbázis közvetlen piszkálgatása, bár tény, hogy a függvény forráskódjából merítettem pár hasznos ötletet. :)
Ha minden jól megy, nemsokára elkészül a modulba a hozzászólások importálásának első megvalósítása.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
+1 kör
Nem kell, csak fogod a comment_save() visszatérési értékét (comment id), és teszel még egy rövid kört az adatbázishoz, ahol felülírod a timestamp mezőt. Bár tényleg jobb lenne, ha előbb rákérdezne, van-e már timestamp beállítva.
visszatértem
Mivel amikor a választ kaptam, már volt egy elég jól működő, közvetlenül az adatbázist használó megoldásom, inkább azt fejlesztettem tovább. Csak szebbnek, elegánsabbnak éreztem volna a Drupal API -n keresztül megoldani.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Mivel
nem ajanlott. ilyen hozzaallassal a comment_save()-et is atirhatod..
több helyen
Több helyen is láttam ilyen megoldást, és mivel a táblaszerkezet nem változik (remélhetőleg) a 6.x -es sorozat alverziói között, ezért megfelelő körültekintéssel és alapossággal használható szerintem.
Végülis az adatbázis-piszkálgatás jelen esetben csak új rekordok beszúrását jelenti a táblába. Mint látod, szerettem volna az API -t használni, de nem túl nyerő, a függvényt pedig inkább nem írnám át. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
$edit['timestamp'] =
Küldd be feature requestként a drupal.org-on. Mellékelhetsz hozzá patch-et is, könnyű préda :)
nem rossz ötlet
Nem rossz ötlet, sőt... megpróbálkozom vele, csak még sohasem csináltam ilyent. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
bent van már
Megtaláltam már a rendszerben:
http://drupal.org/node/175516
Ahhoz képest, hogy mióta ott van, és ott a működő patch is, baromira nem foglalkoznak vele.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
mukodo patch
amig nem kerul RTBC statuszba nem is fog bekerulni..
mikor?
És mikor vagy mitől kerül olyan státuszba?
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
issue kezeles drupal.org-on
az ugy mukodik, hogy valaki megirja a patchet, es valaki mas meg leellenorzi, hogy tenyleg mukodik es atteszi RTBC statuszba.
D7-es modositasoknal kovetelmeny mar, hogy a simpletest tesztek se dobjanak hibat a modositas utan, vagy ha nincs olyan simpletest ami tesztelne a modositast, akkor irni kell hozza..
megvolt
Leellenőriztem és áttettem, elvileg.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
elvileg
sajnos nem jutott at elso probalkozasra..
javították
De a 7.x alatt javították is, ott is megnéztem. Csak a 6.x alatt hibás. Szóval nem is értettem, hogy miért tetted át 7.x-dev -re.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
javitottak
mert mindent eloszor a legfrissebb verzioban kell megoldani. lattam, hogy nem stimmel a verzio, gondolkozas nelkul atkapcsoltam..
meg tudod keresni mikor kerult bele a 7es verzioba?
ezt találtam
Ezt a listát átnézve azt találtam, hogy itt még nem javították, de ebben (a következő) már igen.
Mit lehetne még tenni az ügy érdekében? Nem bánnám, ha a Drupal 6.4 hibajavító kiadásban ezt is javítanák.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
tenni
koszi, hogy megkerested. igy megsporolhatsz egy simletest-et
a masik issuet kell csak backport-olni D6ra es rogton RTBC-be is lehet tenni..
izé
Most nem tudom pontosan, hogy mit csináltam, de talán jól. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
most
ez igy nem eleg. patch-et is kellene mellekelni, mert az ugy latom lemaradt. nem hinnem, hogy a D7es patchet csuszasmentesen ra lehet huzni D6ra..
patch mellékelve
Készítettem patch -et Drupal 6.3 -hoz, mellékeltem is, többet nem tudtam tenni.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés