Sziasztok!
Hogyan tudnek hatekonyan olyat elerni, hogy egy SQL select query eredmenye tablazatos formaban megjelenjen egy node-on belul (+ ha ez mar sikerult, akar meg formazast is adhassak neki)?
Magyarul: Egesz pontosan olyat szeretnek, hogy egy SQL query-t beagyazok egy adott node tipusba es a node megjelenitese eseten allitsa elo nekem a tablazatot az adatbazisbol kiszopott adatok alpjan.
Van esetleg ilyen celra valami modul, ami elkerulte a figyelememet?
Koszi!
Fórum:
views
Szia.
A views kell Neked, amennyiben nem külső adatbázisról van szó.
Üdv: Zoli
views
Szia!
Azt mar nezegettem, de meg nem talaltam meg benne pont ezt a lehetoseget. (meg kezdo drupalos vagyok)
Valami kozelitot tudnal mondani, hogy azon belul merre keressem?
Tulajdonkeppen az Ubercart-hoz szeretnek kulonbozo product sablonokat krealni, amik reszletes speckot tartalmaznak, szoval belso adatbazisrol van szo. (csinalnek neki sajat tablat es gyakorlatilag join-ok segitsegevel szednem elo, amire epp szukseg van)
Koszi a valaszt!
readme ... ?
a views modulban új nézet hozzáadásával hozhatsz létre új nézeteket :)
neked majd az kell, hogy 'page' -> provide page view, persze az is lehet, hogy nem page -ként hozod létre, akkor a blokk -nál kell a provide block -ot bekapcsolni, és azt majd beleágyazni a node -okba, erre is van több módszer is.
aztán type -> table,
utána a 'fields' -nél adhatod meg milyen mezőket akarsz látni majd...
a filtersnél tudod a szűrőket beállítani,
stb.
próbálgasd és aztán konkrét problémára kérdezz rá inkább szerintem, mert az, hogy 'valami közelítő hogy merre keressem' az általában a readme -ben benne van, vagy ha mégse, három másodperc alatt lehet találni okosságokat a témában. éljen a huszonegyedik század!
off: köszi ninja, hogy megteremtetted nekünk... :D
-
clear: both;
views + readme :)
Szia!
Odaig jutottam el, hogy tudtam tablazatot definialni es elhelyezni, hogy melyik panelben szeretnem latni.
Viszont a szuro feltetelekkel nem boldogultam ugy, ahogy szerettem volna.
Tulajdonkeppen az Ubercart-hoz szeretnek kulonbozo product sablonokat krealni, amik reszletes speckot tartalmaznak, szoval belso adatbazisrol van szo. Csinalnek neki sajat tablat es gyakorlatilag join-ok segitsegevel szednem elo, amire epp szukseg van.
Most azon aponton allok, hogy valahogy select parametereket kene megadnom.
Probalgattam a filters menupontot az adott tabla 'Filters' menupontja alatt, de kicsit kodos, hogy hogy lehet benne ertelmes relaciokat osszehozni.
Egeszen pontosan azt nem tudom, hogy a filterezesi kriteriumokat honnan veszi es miert pont azokat es hogy tudnek azokon egy kicsit en is varialni. Na ez lenne a lenyeg!
Koszi a valaszt!
argumentum
'variálni' az argumentumokkal tudsz egy nézeten.
teljesen nem látom ezt át, de a views sem 'tábla' szinten kezeli ám a dolgokat, azokat a 'mezőket' választhatod akár fieldnek, filternek, argumentumnak, satöbbi, amiket a telepített modulok definiálnak... a moduloknak lehetőségük van beépülni a viewsba. aztán ezt vagy megteszik vagy nem.
viszont emiatt akár te magad is írhatsz egy minimodult, ami 'beépíti' a neked kellő mezőket.
-
clear: both;
Filters + readme
Szoval a 'Get help' menupont alatt errol igy szolanak:
Filters
Views may be filtered to restrict the view on a number of criteria.
es alatta felsorolva, hogy mik vannak
Na ebbe szeretnek en belevajni, hogy az altalam hasznalni kivant tablazatok szukseges oszolpai is szerepeljenek itt.
Taxonomy
Eppenseggel taxonomy term, mint filterezesi opcio van, ami mar kozelit is, de azert csak korrektebb lenne egy az egyben (SQL select jelleggel) hivatkozni.
relatedviews
Hihetetlen, hogy milyen kozelito megoldasok vannak!
Ezt pl. csak egy kicsit kellett volna meg tovabbgondolni megvalositas elott:
http://drupal.org/project/relatedviews
View field
Ez viszont nagyon a baratunk lesz: http://drupal.org/project/viewfield
nem az a cél
"korrektebb lenne egy az egyben" - szerintem a viewsnak nem az a célja.
ha akkora sql májer vagy és neked ez így nagyon amatőr és fapados, akkor a feladatot úgy oldjad meg, hogy megírod pontosan bele egy saját modulba, amit akarsz. vagy az nem megy, csak elismert és baromi hasznos modulok fikázódása, meg dzsoinokkal dobálózás...
[próbáltam tízig számolni, de hatnál elpattant az ideg]
-
clear: both;
az ellen nem ved
Tavol alljon tolem!
Csak boszankodom, hogy mennyire kozel jarok, de megsem.
views csak nodeokra
A views csak node-okra működik.
A feladat pontos ismerete esetén lehet megmondani, hogy megoldható-e programozás nélkül, vagy egyszerűbb egy pár soros modult írni hozzá.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Na ez itt a kerdes
Na ez itt a kerdes tulajdonkeppen.
Atnezegettem a tablazatokat az adatbazisban es itt-ott talaltam olyan oszlopokat egyes tablakban, amik a szurofeltetelek kozott is ott figyelnek.
Nekem kb. annyi kene, hogy a product tabla bizonyos oszolpanak ertekeivel tudjak ossze-join-oltatni egy masik tablaban levo ertekeket, es azokat a tablazatban tudjam megjeleniteni.
Megjelenites - mar OK
Join feltetel megcsinalasa - meg nem tiszta
join
Ugy latom a haversrac is valami hasonlot szeretne, mint en:
http://groups.drupal.org/node/3853
Views + CCK field => Views filter :)
Haaaaaaaa, az egyel feljebb linkelt kis szosszenetbol kiolvasva kiprobaltam, es lass csodat, valoban, a CCK megcsinalja a szukseges hook-ot a views szamara es az adott field feltunik a filterezesi opciok kozott is.
todo: keresni valami olyan CCK megoldast, amivel egy tetszoleges tabla tetszoleges oszlopara lehetne hivatkozni. Ha ez meg lenne, akkor kesz is lenne a join, mindefele manualis ganyolas nelkul.
Otleteket szivesen fogadok am! :)
Lahet, hogy ugy is jo lesz, ha pl. csinalunk egy sehol nem hasznalt content type-ot, amire rapakolgatjuk a szukseges tablakra/oszlopokra hivatkozo valamilyen CCK filed-eket.
Remelem nem beszelek hulyeseget...
Egyedul az a kerdes merul fel itt bennem, hogy akkor ilyen modon node-okra vagy a tablakra fog vonatkozni a join...
Titok?
Leírnád végre PONTOSAN mit is szeretnél? Lövöldözöl a vakvilágba, nem is sejtjük mit szeretnél. Így nem tudunk segíteni!
Üdv, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
akkor mit is szeretnenk elerni:
Ubercart modul segitsegevel epitek egy katalogust vagy webshopot (ahogy vesszuk)
Az egyes termekekhez szeretnem, ha reszletes specifikaciot tudnek megjelniteni.
Az Ubercart alap esetben egy eleg egyszeru (page kaliberu) oldalt kinal + par parametert meg lehet adni a termekekhez, ugy mint kulonbozo fajtaju arak, termek szamok, meretek.
Viszont pl. egy szamitogep eseteben akad par egyeb erdekes parameter, amit erdemes feltuntetni.
Mivel en sok es sok fele szamitogepet szeretnek a katalogusba felvenni, nem tartom celravezetonek, ha egyenkent tablazatba bepotyogjuk az adatokat, amit aztan rab@-unk a page-re.
Ezzel a kulonbozo parameterekre valo preciz kereses, ill. parameterek alapjan torteno osszehasonlitas szerintem lehtetlenne valik.
Ezert gondoltam valami olyasmire, hogy a pl. product number alapjan egy jol megkonstrualt tablazathalmazbol lenne inkabb erdemes kiolvasni az adatokat. Erre pedig valami adatbazis lekerdezo nyelvezet tunik inkabb alkalmasnak, mindenfele Taxonomy term-ek vagy Node ID-k manualis definialgatasa / mappolasa / osszehasonlitgatasaval szemben.
Osszefoglalva, szukseges lenne:
- Parameterek hierarchikus tarolasa
- Szuro feltetelek szerinti lekerdezese
- Formazott megjelnitese
[SOLVED]
Views kilove, PHP-ba beagyazok egy select-et, aztan szevasztok.
Pontositva szerintem a
Pontositva szerintem a contemplate-et erdemes inkabb hasznalni ebben az esetben.
Lasd: http://api.drupal.org/api/function/db_query/5
Azt mondja:
es azt mondja: $query A string containing an SQL query.
Bar mondjuk itt kicsit kodos nekem, hogy ez alatt mire gondoltak.
esetleg: $query = db_prefix_tables($query); <--erre? (5. sor)
vagy kulon kene csinalnom
vagy kulon kene csinalnom egy ilyesmit meg: (?)
$query = db_query("SELECT * FROM {tabla}");
válts át értelmes üzemmódba!
Nem csetelsz, hanem fórumozol, lécci értelmesen tedd fel a kérdésedet!
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Pontosan mit nem értesz?
Mi ebben a ködös?
Hogy jön ide a contemplate?
Van egy SQL mondatod, melyet a db_query végrehajt. Ez a függvény fedi el előled, hogy milyen adatbázis szerver van a rendszer alatt(alapesetben mysql, mysqli vagy posgresql), kezeli a tábla előtagokat, valamint megfelelően eszképeli a változókat.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Igen, ez a kodos. Hol az SQL
Igen, ez a kodos. Hol az SQL mondatom? A minta kodbol szamomra nem derul ki, hogy hova kell beirom.
A contemplate ugy jon ide, hogy egy bizonyos node tipust szeretnek kiegesziten egy fix query-n alapulo tablazattal es erre nekem ez tunik a legkezenfekvobbnek. Nem jo az elkepzeles?
api.drupal.org
Emitt a példa:
http://api.drupal.org/api/file/developer/examples/nodeapi_example.module/5
Neked a form alter-ra nem lesz szükséged, csak a nodeapi hook-ra. Abból is csak a view-ra, vagy ha tudományosan akarod és contemplate-el akkor a load-ra.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
?
Marmint az altalad javasolt peldaban szereplo kod case 'load': alatti reszet hozzam ossze az altalam beidezett koddal vagy amit en talaltam azt ikabb hagyjam a .csaba es ebbol induljak ki?
Asszem jo uton jarunk :)
[SOLVED]
+ meg a szuro feltetelek es sorbarendezes + szep megjelenites, de az mar pitekusz
Funkciojaban ennyit kerestem.
biztos tul bonyolultan kerdeztem...