Adott node URL-je

vili képe

Egy saját célú modult fejlesztgetek, amiben van egy rész, mely egy űrlapküldést tartalmaz.
Ez szépen működik is, de csak úgy, hogy a form action paraméternek az adott node (ahonnan a függvényt meghívtam) direkt elérési útját adtam meg.
Valahogy így: print '';

Ezt a direkt URL megadást szeretném elkerülni, mivel így "nem túl általános" ez a függvény...

Azt tudom, hogy normál esetben a $_SERVER['PHP_SELF'] lenne a megoldás, de sajnos Drupal alatt ez nem működik, mivel mindig a /index.php-t adja vissza.
Van tehát valami mód arra, hogy a függvény detektálni tudja, melyik lapról hívták meg?

Előre is kösz a választ!

Sweetchuck képe

Az előző topikodban az első hozzászólásban kaptál egy nagy segítséget, amit nem használtál fől.
De itt az újabb esély:Kézikönyv
Továbbá az http://api.drupal.org kezdőlapján alulról a 4. és a 3. link
Ez így már dupla esély.

Nyomatékosan javaslom hogy 2-3 napig a böngésződet és szövegszerkesztődet is csak olvasásra használd. Hacsak nem akarod a CTRL+A, DEL billentyűkombinációt használni :-)

Azt az időt amit az űrlapod összehozásába fektettél, fordíthattad volna a produktív tanulásra is.
http://drupal.hu/node/1903
http://drupal.hu/node/2473

UI.: Most ki lehetett hámozni a kérdésedből, hogy pontosan mit akarsz. Köszönjük.

0
0
vili képe

A Drupal.hu fórumára mutató linkeket köszönöm, ezekre nem bukkantam rá, pedig kerestem a megoldást. Egy gyors átfutás után úgy tűnik, hogy az egyik hasznos is lehet.

Viszont...
Nem értem, hogy miért kell lekezelni, és hülyének nézni az embert!?
Nem azért kérdezek, mert másokkal akarom megiratni a kódot, vagy ilyesmi, hanem mert csinálgatok valamit, próbálkozom, ismerkedek a rendszerrel és egy olyan ponthoz érek, ahol jól jön a segítség.
Hidd el, nem az az első egy-egy problémás résznél, hogy egyből rohanok ide kérdezni, hanem előtte átböngészem a netet, a forráskódokat és próbálok magam megoldást találni. Aztán meg ha nem megy, akkor felteszem a kérdésem, hisz nagyon jó, hogy van ez a magyar nyelvű Drupal-lal foglakozó fórum.

Sajnos az angol tudásom egészen minimális, így hiába ajánlod nekem az angol nyelvű kézikönyvet és más összefoglaló doksikat! (Tudom, ez nagy hiányosság!)
Az pedig, hogy most ismerkedem a Drupal-lal és a PHP-val, még nem jelenti azt, hogy tök hülye vagyok. Programozgattam már több programnyelven is, és a HTML sem idegen (lassan 10 éve).

A másolt kódrészletekre direkt nem reagáltam a másik témánál, de ha már így benne vagyok, azért leírnám, hogy egyáltalán nem ollózom össze a kódomat, csupán használom a már elolvasott könyveimet(!) és ha egy feladat megoldására ott találok mintát, akkor alkalmazom. (Alkalmazom, felhasználom, tehát nem szolgai módon bemásolom!)
Tanárként tudom, hogy a legjobb az, ha az ember kísérletezik és a szakirodalom olvasása MELLETT próbálkozik is! A különböző kódok kipróbálása, módosítása segít legjobban a megértésben!

Mindezek után, lehetőség szerint azért még továbbra is kérdeznék majd itt a fórumon, bár már egyre inkább félve teszem ezt. Mert néha a várt egy-egy mondatos konkrét válasz helyett a kérdező azt kapja, amit...

Baráti üdvözlettel: Kovács Attila (vili)

0
0

bye:vili
www.kekhalal.net

pp képe

Ha a kioktatás bánt, akkor felejtsd el, emelkedj felül Te a dolgokon hisz tanár vagy. ;)
Kapsz egy választ, amiben van használható rész ezt használd fel, ha van benne kioktató rész akkor azt hagyd figyelmen kívül, abból lesz ugyanis a flame ;)

A világon mindenkinek van elképzelése hogyan kell oktatni, de mint mindenre erre is igaz, hogy aki tudja hogyan kell, az csinálja, aki nem az tanítja. :D

Több fajta tanítási módszertan van, itthon "a tanár kiáll és elmondja a frankót" egyre kevésbé elfogadott, de akik a "régi rendszerben" nőttek fel azoknak ez az etalon.

Sokan azt hiszik ahhoz, hogy oda eljusson valaki ahol ők vannak, végig kell járniuk ugyan azt az utat amit ők jártak. Szerintem tévednek.

Azonban aki nekiáll modult fejleszteni és kérdez arról feltételez az ember egy megelőző tudást. Ami neked nincsen meg, ez nem szégyen, nem kell szégyelleni, nem vagy ettől tök hülye. Azonban ezt a tudásmorzsát fel kell csippentened, mert nem fogod megérteni a választ a kérdésedre vagy mi nem fogjuk megérteni a kérdésedet. Ezt elkerülheted, ha a kérdést pontosan teszed fel, leírva mit csináltál és hol akadtál el.
Sokan vannak akik nem áldoznak arra energiát, hogy sok tévutat kipróbáljanak és amikor elakadtak, csak akkor kérdezzenek. Ilyen embernek nem szívesen válaszol az ember. Azonban az olyannak aki fogát összeszorítva küzd és dolgozik, annak szívesen nyújt segítő kezet az ember, mert látja, hogy Ő is energiát fektet a dologba, és nem azt várja, hogy más tegye ezt meg. (mondjuk mert neki csak 2 perc...broáf!!)
Ha keveset írsz és úgy kérdezel, nem tudjuk eldönteni melyik kategóriába tartozol, ezért kapsz néha kioktatást amit fontolj meg, vagy kukázd, de ne sértődj meg.

Mint tanár teljesen egyetértek veled, mint aktív fórumozó teljes mértékben meg tudom érteni Sweetchack-et is. Ő csak szólt, hogy ha így folytatod nem fog tudni segíteni bármennyire szeretne.

pp

0
0
vili képe

Ha a kioktatás bánt, akkor felejtsd el, emelkedj felül Te a dolgokon
Igen, azt hiszem ez a jó megoldás.
Az az igazság, hogy kicsit bal lábbal keltem fel, és talán ezért regáltam kicsit túl a helyzetet. Ha ezzel esetleg valakit megbántottam, akkor elnézést kérek!
Részemről a dolog lezárva, mert nem akarom, hogy más irányba menjen el a fórum, mint amire hivatott!

aki nekiáll modult fejleszteni és kérdez arról feltételez az ember egy megelőző tudást
Ez jogos! Igyekezni fogok felzárkózni!

a kérdést pontosan teszed fel, leírva mit csináltál és hol akadtál el.
Ez is teljesen rendben van! Megpróbálom a fejlesztést a Drupal által megkövetelt mederben folytatni, és ha elakadok, akkor szépen körülírni az adott problémát, hogy egyszerűbb legyen megérteni azt és válaszolni rá. (Nem különben, így lesz hasznos a fórum az azt olvasóknak is.)

bye:vili

0
0

bye:vili
www.kekhalal.net

pp képe

Egy saját célú modult fejlesztgetek, amiben van egy rész, mely egy űrlapküldést tartalmaz.
Láthatnánk?

Az a gond, hogy amit írsz az teljes sületlenség, ugyanis nem kell megadnod a formnak semmilyen action paramétert.
Az első olvasatra eszébe se jut az embernek, hogy Te a sima html formot íratod ki a moduloddal, amikor
1. ott a Form API
2. a Drupal MVC modelljébe nem fér bele ez a fajta gány.

Form API használata egyszerű:
1. Létrehozol egy megfelelő asszociatív tömböt visszaadó függvényt, mely neve lesz a form azonosító, pl minta_modul_elso_formja
2. ezután létrehozol egy függvényt melynek neve minta_modul_elso_formja_validate, amiben ellenőrzöd a form értékeket, és ha nem jók akkor a megfelelő hibaüzenetet visszaküldöd.
3. létrehozol egy függvényt melynek neve minta_modul_elso_formja_submit, ez fogja feldolgozni az adatokat.
4. a formot a drupal_get_form függvénnyel tudod megjeleníteni.

Minden mást a Drupal elintéz helyetted, tehát neked nem kell mással foglalkoznod!
Ez a megoldás azért is jó neked, mert így sminkelhető lesz a formod és más modulok(nyílván saját modulok) be tudnak majd épülni ebbe a formba.

pp

0
0
vili képe

Láthatnánk?
Ezt egyelőre nem szeretném.

Az első olvasatra eszébe se jut az embernek, hogy Te a sima html formot íratod ki a moduloddal
Az a fő probléma, hogy a Drupal mélységeiről szóló MAGYAR nyelvű dokumentáció elég szegényes, ellenben a PHP tankönyvekből bőven találni. Emiatt jobbára én is ez utóbbiakból tájékozódom, és ezért vannak olyan megoldásaim, amik nem illenek bele a "Drupal filozófiájába".

Form API használata egyszerű:
Köszönöm az infót! Ennek utánaolvasok és átdolgozom a kódot.

Minden mást a Drupal elintéz helyetted, tehát neked nem kell mással foglalkoznod!
Jó ez a rendszer, de az ember néha elveszik a lehetőségekben...

bye:vili

0
0

bye:vili
www.kekhalal.net

pp képe

Miért nem jó az angol doksi? Nem értesz angolul nem kifogás, hisz úgy is nagyrészt próbálgatással tanulsz. Van ott csomó jó kód, letölt kipróbál módosít, tanul... :D

pp

0
0
pp képe

nagy részük elavult. Volt egy barátom, aki mondta nekem:
- Idefigyel pp, én elolvastam ezt a PHP 24 óra alatt c. könyvet már szinte végig. Tudok változó változót létrehozni, meg mindet... de áruld már el nekem mire jó ez a PHP!

Aztán 2 perc alatt demonstráltam neki. ;)
Szóval a magyar nyelven fellelhető php-s oktató anyagokkal csak óvatosan.
Az egyik legjobb tankönyv szerintem igaz angolul. (sajna régi és 4-es php van benne ami ugye halott..)

pp

0
0
Sweetchuck képe

A hiányos magyar dokumentációval kapcsolatban teljesen igazad van. A drupal.hu fórumán is a gyakran kérdezett témák közé tartozik az űrlap kezelés. (csak 2 linket küldtem)
Ezért már több mint 1 hónapja elkezdtem írni egy cikket az űrlapokkal kapcsolatban, de szabadidő hiányában a mai napig befejezetlen (sőt). De mire befejezem kezdhetem előlről, mert addigra megjelenik a Drupal 6 :-)

Láthatnánk?

Ha itt bemutatod az eddigi kódot, nem kell félned attól, hogy valaki lekoppintja, azt az egyedi funkcionalitást amit a modul megvalósit. A másik topikodban is jó ötlet volt kód részletet beszúrni. De küldheted emailben is.

0
0