Sziasztok
Elakadtam egy kicsit :(
vannak felhasználóim akik bekuldenek hirdetést. Csináltam egy listát ahol ott a nevük , ha valaki rákattint a link a user id-t hozza be és ebbol nyeri argumentumnak a views hogy melyik hirdetéseket jelenitse meg. Viszont jo lenne ha views megjelitésben lenne pár személyes adat amit a profilbol nyernék ki . MIvel nem gyártottam le az összes felhasználo nézetét hanem az argumentummal szűrok , igy fix cimnek nem tudom beirni hogy melyik felhazsnálo nézete jelenik meg. Ugy gondoltam csinálok egy blokkot , és annak a views nézeté szintén ebbol az argumentumbol kinyeri a felhasználo ID-t és már meg is van. Az elsőként leirt nézetben nem tudom megoldani blokknézetként mivel az egyik tartalom a másik felhasználoi adatra szur . igy kellett a másik nézet , az viszont blokk igy nem tudom megmondani hogy a címben szereplo vip/29 -bol nekem a 29 az argumentum . Szoval ugy látom hogy csak annyi a gondom hogy hogyan adjam meg hogy a második érték legyen argumentum , mert valahogy nem megy :( De ha van valakinek otlete hogy a tartalomra szurt nézetben hogyan jelenithetnék meg olyan tartalmat ami a profilra vonatkozik és figyelembe veszi a nézet többi részét , tehát nem statikus informácio kellene , annak nagyon hálás lennék !
előre is köszi
nézetcím esetleg ?
Azt hogy a nézet cím mezője valahogy ne egy statikus szöveget mutasson hanem mondjuk egy profil mezőt az nem megoldható ?
Ne legyen cím mező, használd
Ne legyen cím mező, használd a views fejlécét. Itt beállíthatod a beviteli formát php kódra, és akkor egy $global user után tudsz a user objektumból adatot írni bele. Kis sminkeléssel (views-view--megfelelo.tpl.php) és megfelelő divek beszúrásával a fejlécbe teljesen a block címére tudod alakítani a fejlécet.
Ezt így nagyon röviden, ha valami nem megy, szólj, és részletezem.
----
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.
ebbol egyet tudok :)
Ebből a sminkelést talán meg tudom oldani :) Nincs valami kapcsolo amit halando is be tud nyomni ? De a php-s dolog részletezését szívesen veszem :)
A phps rész sem nagy
A phps rész sem nagy wasistdas, pláne, mert még én is meg tudom csinálni. :)
Először ki kell deríteni, hogy hívják drupalul a mezőt, amit használni szeretnél.
1. Kell hozzá devel modul. Elmész a profil oldalra, ott a kell lennie egy "Dev load" fülnek. Ha erre kattintasz, megkapod a $user objektum szerkezetét, és kiválaszthatod, hogy melyik értéket akarod használni.
2. Beírod a fejlécbe hogy $global user; print_r $user; Ezzel ugyanazt a szerkezetet kapod, csak kicsit randábban.
Arra kell figyelni, (bár nem tudom, hogy a profile modulnál ez hogy megy..) lehet, hogy mező egy tömb.
Ha csak egy egy egyszerű érték van, akkor ennyi a kód (ezzel konkrétan az aláírást írja ki):
Ha tömböt látsz, akkor ez (mondjuk a roles az, és a 2-es azonosítójú role értékét íratjuk ki.)
Ebből lesz: authenticated user
Keresd ki a megfelelő értéket dev loaddal vagy print_r-rel, és cseréld ki.
Ja, ez csak akkor jó, ha az aktuálisan bejelentkezett user adataival akarsz dolgozni, és a core profile moduljával létrehozott mezőkön, nem pl content profile modullal. Ha a node szerzőjével, vagy argumentummal meghatározott userrel akarsz dolgozni, nüánsznyit bonyolultabb, de még épp össze tudom rakni, ha kell. :)
----
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.
valoszinnuleg rosszul irtam le
Nem az aktuális fehasználo ID-vel akarok dolgozni. Hanem van egy blokk amiben vannak nevek . Mondjuk János , Péter stb.. . Amikor rákattint a a jánosra az ő ID-je mondjuk 107 , a jános linkje nevek/107 . A nevek utvonal megvan adva egy nézetben , és argumentumoknál pedig hogy a nevek utánai számmal szurje a hireket , így csak a jános híreit látom . Viszont a hireken kivul semmit , ehez akartam kiratni hogy Őt Szabó Jánosnak hívják és hogy mondjuk hol lakik . Ezek az adatat profilként adta meg . Ezért csináltam egy blokkot ami szintén a nevek oldalakon jelenik meg , amiben szintén van egy nézet , ez a nézet nem tartalomra hanem felhasználora keres , a nézetnek a blokk nézete viszont nem tudja már kinyerni a 107-es id-t valami oknál fogva , valoszünleg mert nem adhatok meg neki megintcsak nevek utvonalat mint a másik nézetnek ami a tartalomra szurne , szoval az kellen hogy ki tudjam nyerni az argumentumot ennek a nézetnek is . Az első nézetnek pedig nem lehet blokknézete mert azt nem tudom modositani hogy az ne tartalomra hanem felhasználóra szürjön . Persze kiprobálom a tiédet :) csak ugye nem a belépett felhasználo id-je kell hanem a már meglévő linkből kellene kiszedni .
Na így már más a leányzó
Na így már más a leányzó fekvése..
Akkor sorban: Olyan nincs, hogy a blokk nézete nem látja az argumentumot, ott valami mást beállítás nem jó a blokk nézeténél. Hogy állítottad be az argumentumot? Previewnél kézzel beírva az UID-t kapsz vissza valamit?
aloszünleg mert nem adhatok meg neki megintcsak nevek utvonalat
Van egy érzésem, hogy nem blokk nézetet csináltál, annak ugyanis nem kell útvonal.
z első nézetnek pedig nem lehet blokknézete mert azt nem tudom modositani hogy az ne tartalomra hanem felhasználóra szürjön
Már hogyne lehetne. A mezők hozzáadásánál a Felhasználók csoporton belül az összes profil adat elérhető még akkor is, ha tartalom a nézet alapbeállítása.
De itt egy másik megoldás:
1. Csinálsz egy user alapú nézetet.
2. Beállítod az argumentumot >> UID from URL
3. Csinálsz egy kapcsolatot: "Felhasználó: Nodes authored"
Ezek után csinálsz egy page alnézetet a tartalmakkal és egy block alnézetet a felhasználó adataival.
----
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.
hát igen
Én is abban reménykedek hogy nincs olyan hogy nem látja , de sajna valamiért nem látja :(
Ha megadom hogy ha nincs argumentum akkor mit vegyen alapnak akkor azt kirakja , de mindig azt szoval ezért gondolom hogy nincs argumentum .
De blokk nézet , ezért is irtam hogy nem tudok utvonalat adni , mert utvonalat csak oldal nézetnek tudok .
Ha ugyanabban a nézetben vagyok akkor nálam nincs kulonbség a blokkban és az oldalban megadott mezok kozott , tehát nem tudok olyat csinálni hogy oldal nézetben listázza hirdetéseket , mig blokknézetben csak profil mezok jelenjenek meg . Ha viszont oldal nézetben is ott vannak a profil mezok akkor minden hirhez kiirja a mezoket , pedig nekem csak az oldal tetetején kellene , ezért gondoltam hogy az oldal teje kap egy uj blokkot ami meg a hirt bekuldo profiljábol lenne pár mezo .
Mindjárt kiprobálom amit irtál :)
Ott lesz a gond: Ha megadom
Ott lesz a gond:
Ha megadom hogy ha nincs argumentum akkor mit vegyen alapnak akkor azt kirakja , de mindig azt szoval ezért gondolom hogy nincs argumentum .
A provide default argument legyen UID from url
Ha ugyanabban a nézetben vagyok akkor nálam nincs kulonbség a blokkban és az oldalban megadott mezok kozott
Ha blokk nézetbe rákattintasz valamelyik mezőre, akkor a mezőnél beállításainál lesz a jobb felső sarokban egy Override gomb. Ha erre kattintasz, akkor máris a korábbi alnézetekről függetlenül szerkesztheted a mezőket.
----
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.
De azzal csak azt adom meg
De azzal csak azt adom meg hogy mit tegyen ha nincs argumentum , olyankor nem jelenik meg semmi .
Amit elobb mondtál hogy ugy probáljam meg ott nekem ha user tipusu nézetet csinálok akkor nem tudok tartalom tipusu mezot megjelniti az oldal nézetében ! Szoval gyorsan elakadtam :)
most
Most ott tartok hogy valoban láma voltam és megoldhato egy nézettel , az oldal és a blokk kulon mezokkel . Ujra csináltam most már igy de a hiba ugyanaz :( Az oldal nézet jo , de a blokk nézet nem :( Egyszeruen nem látja a számot .
Az oldal nézetben megadtam hogy az elérés : nevek
Ha a link nevek/29 akkor a 29-es user id hireit listázza ki az oldal , de a blokk nem látja ezt a 29-et .
Jó, megvan, gőzöm sincs,
Jó, megvan, gőzöm sincs, miért nem veszi figyelembe az argumentumot a blokknál, de így sikerült:
A blokk nézet argumentumában a provide def. arg-ot állítsd php kódra, és írd bele: return arg(1);
Nekem most a nevek/1 útvonalon pont azt jeleníti meg, amit szeretnél.
----
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.
Működik :)
Működik :) Köszi !!!
De azért nyugtass meg hogy amit én mondtam annak is mennie kellett volna :) De a lényeg hogy igy megy !
Már csak azt kellene kitalálnom hogyan láttassam a blokkot a tartalom felett ? A blokkoknál a tartalom részbe van behuzva ez a blokk , és ott is legtetején , de igy is a nézet oldal nézete alatt van a blokknézet , a fejlécben meg nem jelenik meg a nézet :(
De azért nyugtass meg hogy
De azért nyugtass meg hogy amit én mondtam annak is mennie kellett volna :)
Az igazság az, hogy már én is elbizonytalanodtam, de szerintem igen.
A másodikra több megoldás van, ha nincs content-top régiód, akkor létrehozod a sminkedben. (Hosszabb, de lehet, hogy máshol is szükséged lesz rá..)
Második: A page.tpl.php-ban a print $content rész elé beírod, hogy
print views_embed_view('nezeted_neve', $display_id = 'block_1');
és elmented page-nevek.tpl.php néven a sminked könyvtárába.
----
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.
majdnem
Majdnem jo :)
A block_1 helyett nem lehet hogy más kell ?
Mert amint rákattintok a bal régio középre megy a tartalom ami meg középen volt balra .
Nem, az a nézetedet
Nem, az a nézetedet azonosítja, nem pedig a blokkot, ahová kerül. Szóval ha megjelenik a nézeted, akkor jó.
Szerintem a page.tpl.php-ban néztél el egy divet.
Nézd meg megint az eredetit, a print $content előtt van egy div, ami közbezárja az egészet. (Ez sminkfüggő)
Pl nálam így néz ki:
Pontosan ide tedd:
Vigyázz, hogy ne törölj, mást ne módosíts, mert széthullhat az oldal.
----
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.
.
.
A diveket kiveszi a szűrő az
A diveket kiveszi a szűrő az itteni hozzászólásokban, a < code> taget használhatod erre.
Viszont ha jól van a template-ben, akkor nincs több ötletem, látni kellene az oldalt. Még valami css mókára tudok gondolni, de azt is nehéz orvosolni az oldal címe nélkül.
----
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.
most jo :)
Más volt a gond :)
Amit használok sminket , vannak alsminkjei , én alsminket használok , de a smink page.tpl.php -jét másoltam :)
Most jo !!!
Köszi mégegszer
Küldtem mailt ha van idod néz rá !
provide default argument -et kellett volna beállítani
mivel a blokknak nincs útvonala, így ő soha nem fog argumentumot kapni. (azok ugyanis az útvonalban vannak) ezért kellett volna beállítani azt, hogy action to take if argument is not present: provide default argument: argument type: user id from url..
ennek ez a módja.
-
clear: both;
OFF: Ádám, ma valahogy Te
OFF: Ádám, ma valahogy Te vagy writeonly, csak nem PP-vel keltél? :D
http://drupal.hu/forum/views-argumentum-nincs-meg#comment-35510
----
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.
láttam, hogy írtad neki,
valahogy mégse ment át. gondoltam mégegyszer leírom, mintegy megerősítésként és kicsit meg is próbálom a miértet elmagyarázni.
leírtad a helyes megoldást, aztán mégis arg() -al bűvészkedtek, utána meg hajmeresztő views_embed_view() -kat varrtok a page.tpl.php -ba... :(
ezért gondoltam, hogy az utókor számára ideírom mégegyszer (nyomatékosítandó) a helyes megoldást.
-
clear: both;
Kipróbáltam (még egyszer), és
Kipróbáltam (még egyszer), és blokk nézetben nem működik az UID from URL, csak a user/% útvonalon és álneveiken.
Tehát ha a nevek/107 nem a user/107 álneve, akkor nem lesz jó. (Hogy ez most hiba, vagy nem, nem tudom, de ha nem megy, akkor az arg() használata miért nem jó?)
utána meg hajmeresztő views_embed_view()
Ez miért hajmeresztő? Tény, hogy egyszerűbb volt, mint belemenni a régió-létrehozás részleteibe, de ha csak ezen az egy oldalon szeretne hasonló megjelenést, akkor mi a baj vele?
Tehát ez a topic csak azért nyúlt ilyen hosszúra, mert
1. Nem jó valamiért a standard UID from URL blokk nézetnél.
2. A smink nem tartalmaz megfelelő régiót az általa kívánt megjelenéshez.
----
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.
valamit vagy én nem értek, vagy te :)
nyilván nem. :) az álnév tökre nem számít. ha a user/107 oldalon vagyok, akkor az az argument handler észreveszi, hogy az egy uid és használja. tökmindegy mi az álneve. teljesen mindegy. lehet a user/42 álneve akár robotok/szuper-depressziosok/marvin is, akkor is menni fog.
http://img.skitch.com/20091009-p2f66b6ttbyudxg7cka13ph7xa.jpg
mindegy is, örülök, hogy sikerült megvalósítani az igényt, az a lényeg!
-
clear: both;
Ok, a kép alapján látom, hol
Ok, a kép alapján látom, hol beszéltünk el. :)
Ami pegenek kell, az a nevek/% útvonal, ami nem esetében user/% álneve, hanem egy views-szal generált page.
Amúgy engem meg az zavart meg, hogy a handler a node id-t észreveszi node id from url beállításnál ugyanilyen esetben (tehát ha nem node/% a belső útvonal). Ezért nem értettem, hogy ez most bug, vagy feature. :)
----
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.