Hi!
Új modul szerkesztésébe kezdtem, ami egy meglévő rendszerhez kapcsolódna, annak a .cgi-ét futtatné pár adattal. Ehhez egy űrlapot hoztam létre, hogy a két mezőt kitöltve azzal hívódjon meg a .cgi, a problémám "csak" az, hogy a form API szépen hozzátesz pár validációs értéket is és emiatt elhasal a .cgi. :-(
Így néz ki a címsor:
t1.vcsk.hu/cgi-bin/tlwww.cgi?au=ady&ti=&form_build_id=form-7e00fa40c3fae6f0ee2c3f6e66508dc7&f...
Addig kellene, hogy "cgi-bin/tlwww.cgi?au=ady&ti=", tehát a form_build_id és a form_id nagyon nem kellene.
Találtam egy Skip Validation modult a drupal.org-on, de valamit elbénázok, mert csak odateszi azt, amit nem szeretnék.
Valaki tudna segíteni, hogy mit hol nézzek meg, illesszek be?
Előre is köszönöm a segítséget!
drupal_get_form('form_id')
drupal_get_form('form_id') helyett a következőt tedd:
Persze ekkor a teljes feldolgozást kihagytad.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Na ez az.
Jól hangzik, de az első lépésnél elakadt(am). :-(
$form_array = form_id();
Erre azt mondja: Call to undefinied function form_id() in ....
Ötlet?
Hogyan készítetted el azt az
Hogyan készítetted el azt az űrlapot?
form_id helyett a Te
form_id helyett a Te form_id-et írd oda lécci. Tudod amit a drupal_get_form függvénynek átadtál és készítettél egy ilyen függvényt is. Azt kell ugyanis meghívni, ha nem lenne világos.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Ehhh...
Igen, sajnos nem volt világos. A következőt "követtem el":
Így már rendereli, de most úgy néz ki, hogy:
Cím: űrlapmező
Submit gomb
Szerző: űrlapmező
Ezen felül a form actiont sem tette bele. Ebből látszik, hogy azért még jócskán kezdő vagyok, sorry...
Pontosan mit használsz a
Pontosan mit használsz a FormApi-ból? Szerintem semmit. Én a helyedben simán kitolnám azt a html-t amiben a form van. Így nem zavar a form api, ami jelenleg csak hátrány neked és semmi előny. Vagy tudsz mondani olyan előnyt, amiért megéri használni?
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Jogos!
Valóban nem látok én sem előnyt - sőt kezd egyre zanzásabb lenni.
Mivel kezdő vagyok -e téren is, azért gondoltam a FormAPI-ra, hogy "szabványos" legyen.
meglévő rendszerhez
meglévő rendszerhez kapcsolódna, annak a .cgi-ét futtatné pár adattal
Lehet, hülye kérdés, de ez csak nekem tűnik meredeknek?
Egy másik rendszerhez kapcsolódásnak megvannak drupalban az biztonságos, elfogadott módszerei, szerintem egy formba sittysuttyolt cgi nem tartozik ezek közé.
----
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.
Igen, bár..
.. a .cgi is "saját" fejlesztésnek mondható.
Mint írtam, kezdőnek mondanám magam és szívesen tanulok, olvasok - bár mindkettőt lassa :-)
Komolyra fordítva a szót: az említett "másik rendszerhez kapcsolódásnak megvannak drupalban az biztonságos, elfogadott módszerei"-hez kaphatnék némi támpontot, hogy mire keresgéljek iletve mit érdemes elolvasni?
Esetleg némi example?
Előre is köszönöm a segítséget!
mit akarsz csinálni, mondd el gyereknyelven
kéne egy űrlap amit ha beküldök az adatokkal lefuttat egy cgit egy másik webhelyen és a kapott eredményt megjeleníti?
-
clear: both;
Ok.
Valószínű az lesz a legjobb, ha leírom mit szeretnék, aztán a tapasztaltabbak majd megmondják, hogy merre vegyem az irányt.
Lészen egy könyvtári rendszer, benne személyekkel, könyvek kölcsönzési adataival és persze a könyvek adataival és még sok mindennel. Az egészhez van egy webes felület űrlappal, amit kitöltve kereshet szerző, cím és még sok minden alapján. Illetve az olvasó megadhatja az olvasójegyét és jelszavát, akkor láthatja a kölcsönzött dokumentumait, tartozásait, stb.
Ez az egész webes felület úgy működik, hogy van egy gateway.cgi ami kapcsolódik az adatbázishoz majd lekéri a megadott infókat és visszad egy .html oldalt. A gateway.cgi paraméterezhető, hogy ne .html-t adjon vissza, csak "tiszta" adatot, amit aztán megformázhatok, ahogy akarok.
A feladat az lenne, hogy a gateway.cgi által visszaadott eredményt a drupal alapú weboldalba integráljam iframe tag nélkül.
Erre egy modult kezdtem el készíteni, a saját block megvan, a többit nem írnám, inkább megvárnám a véleményeteket, javaslatotokat.
Két irányba indulnék el (a válaszadással)
1. Az általad felvázolt rendszer megoldhatónak tűnik simán Drupalból – sőt mi több, talán még egyetlen sor kódot sem kell írnod hozzá, mert mintha minden részfeladathoz volna már kész modul. (Persze ez utóbbinak utána kéne nézni pontosan.) Ha neked lennék, inkább Drupalból oldanám meg az egészet: valószínűleg hamarabb célhoz érsz és megbízhatóbb eredményt kapsz egy „tisztán” Drupal oldallal, mint egy többféle rendszerből összerakott megoldással.
2a. Ha mégis ragaszkodsz a .cgi-s megoldáshoz (valamiért), akkor: a .cgi ugyanazon a szerveren van, mint a drupalos oldalad? A .cgi-d olyan adatbázisból dolgozik, amelyet a Drupal is támogat? Mert akkor ez esetben van lehetőség úgy megírni a Drupalhoz a modulodat, hogy közvetlenül azt az adatbázist kérdezze le, amit a .cgi is tenne. (Ne felejtsd el visszaállítani az aktív adatbázist, amilyen hamar az csak lehetséges, hogy komolyabb fejtörésektől megkíméld magad.)
2b. A Data és Views modulokkal lehetségesnek tűnik ugyanez a játék – persze itt is utána kéne nézni a konkrét követelményeknek (tudnak-e ezek másik adatbázisból dolgozni, stb.)
A helyzet az
A helyzet az, hogy a "... megbízhatóbb eredményt kapsz egy „tisztán” Drupal oldallal" részt nem igazán értem, hogy mire gondolsz. Amennyiben arra, hogy drupalból kellene közvetlenül az adatbázishoz kapcsolódni és mindent lekezelni, az sajna nem megy. Az adatbázis drupalból nem támogatott.
2a. Igen, a .cgi ugyanazon a szerveren fut. Az adatbázis nem támogatott.
Milyen adatbazis
Milyen adatbazis szerver?
Oracle?
Azt tudod kezelni PHP-bol, igaz, hogy a drupal db reteget nem tudod hasznalni, de ettol meg direktbe elered az adatokat.
---
http://drupalaton.hu
Nem.
Az adatbázis egy saját fejlesztésű hálós adatszerkezetet kezelő rendszer, teljesen zárt kóddal.
Sajna ez az irány járhatatlan.
AZért köszi!
Ha boobaa megoldasai nem jok
Ha boobaa megoldasai nem jok akkor en, csinalnek egy sima drupal formot (cgi keveres nelkul), es curl segitsegevel hivnam meg a .cgi-ket amit visszaad adatot azt mar ki tudod tolni drupalbol, de nem lesz egyszeru, foleg a login miatt. Sokkal tisztabb, ha direkt adatbazisbol dolgozol.
---
http://drupalaton.hu
Igen
Igen, ebbe az irányba indultam el. Készítek egy form-ot majd egy függvényben fsockopen()-el lekérem a .cgi-től az adatokat.
Próbáltam ránézni gyorsan a curl-ra, annyi jött le, hogy távoli oldalakat lehet vele beilleszteni drupálba. Jól értelmezem, vagy félrenéztem valamit? Ez utóbbi esetben kérhetnék egy pár mondatos magyarázatot?
Nu
úgy látom ez a cURL a PHP-hez kapcsolódik és "csak" érintőlegesen drupal, így megköszönöm mindenkinek az eddigi hozzászólását, segítségét és megyek cURL felé tovább olvasni.
A nyitó kérdés tehát érvényét vesztette, más irányt vesz/vett a feladat megoldása.
Persze, ha valakinek van még hozzáfűzni valója, szívesen hallgatom.
Köszönöm még egyszer!
curl http://php.net/manual/en
curl
http://php.net/manual/en/book.curl.php
---
http://drupalaton.hu
Köszönöm!
Tegnap már felületesen nézegettem, nagyon remek!
Köszönöm!
nem biztos
Nem biztos, hogy érdemes Curl-lel szívatni magad, ha továbbra is a Drupalban gondolkodsz, hiszen a Drupal mindent megcsinál az életben, csak nem mosogat el: drupal_http_request()
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
na csak lassan
a curl-ben süti támogatás, POST, fájl feltöltés, digest auth támogatás van hogy csak pár apróságot említsek ami gyakran kell.
de itt nem kell
De itt ezekre nincs szükség, legalábbis eddig nem merült fel. Itt csak egy egyszerű lekérdezés kell, arra pedig a drupal_http_request() bőven elég és jobban is illik a Drupalos filozófiába. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Mintha emlitett volna
Mintha emlitett volna beleptetest, oda konnyen lehet, hogy kell suti.
---
http://drupalaton.hu
Igen
Első körben lekérdezések vannak/lesznek.
Viszont később - jóval később - már az olvasók beléptetésére is sort kell keríteni, amihez sütire lesz szükség.
Így azt hiszem a cURL megfelelő választás lesz.
Köszönöm!
PS: cURL-al kapcsolatos kérdésekkel - ha lesznek - akkor nyitok újabb topicot, ha nem harapják le a fejem a nem teljesen drupálos téma miatt.
más
A cURL egy más téma (Drupaltól független), javaslom a sok olvasgatást és a Weblabor használatát. Amúgy itt a beléptetés nem a Drupal beléptetését jelentette, hanem az adatbázis elérését.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés