Views helyettesítési minta használata

csszilvia képe

Sziasztok!

A következő dolgot szeretném megoldani:

Adott egy szolgáltatásokat leíró tartalomtípusom ,amihez view-fielddel hozzáadtam egy űrlapot. (amit korábban blokként létrehoztam views modul segítségével)

Van egy másik, szintén views-sel készült oldalam, ahol ezeket a szolgáltatásokat rövid leírásokkal felsorolom, és egy foglalok gomb.

Azt szeretném elérni, hogy a foglalok gombra kattintva az adott szolgáltatási adatlapon belül a foglalási űrlap kerüljön fókuszba.

Hogyan tudom ezt megoldani?

Ha a gombot tartalom cím, hivatkozás a tartalomra, felülírva: Foglalok-ként hozom létre, akkor hogyan tudok a field_urlapra hivatkozni?

Ha általános szövegként hozom létre, akkor pedig milyen helyettesítési mintát kell megadjak a hivatkozásnál?

Vagy rossz irányba haladok?

A főoldalamon is szerepel ennek az űrlapnak egy másik nézete, ott hozzáadtam fejlécbe egy horgonyt, amire tudok hivatkozni, de mivel itt nem mindig ugyanarra az oldalra szeretnék hivatkozni, elakadtam.

Remélem, nem nagyon zavaros a leírásom:-)

Előre is köszi a segítséget

Szilvi

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Sk8erPeter képe

Ha a gombot tartalom cím, hivatkozás a tartalomra, felülírva: Foglalok-ként hozom létre, akkor hogyan tudok a field_urlapra hivatkozni?

Huhh, hát nekem ez teljes képzavar, nem értem.

Most akkor mondjuk jQuery-vel szeretnél fókuszálni valami másik mezőre? Vagy nem vágom.

Csak mert ha olyat szeretnél, hogy mondjuk egy gombra klikkelve ne submitelődjön a form, hanem kapjon fókuszt egy tök másik field, akkor könnyű:

  1. $('#valamigomb').click(function(){
  2. $('#peldaul_egy_szovegmezo').focus();
  3. // ne submitelődjön a form, ha ez egy formon belüli gomb
  4. return false;
  5. });

De lehet, hogy abszolúte nem ilyet szeretnél, de én a hsz.-ed végére kissé összezavarodtam.

0
0
csszilvia képe

így másodszorra olvasva, tényleg nem egyértelmű:-)

Íme a egy kép a problémás gombról:

Az adatlap az oldalra navigál, a Foglalok pedig az oldalon belül a formra fókuszál.
Bocsi

Köszi

0
0
csszilvia képe

a főoldalon lévő űrlapra irányítottam, de azt szeretném, ha az adatlapon szereplő űrlapra fókuszálna Pl. aromaterápiás masszázs

0
0
Sk8erPeter képe

A fókuszálást JavaScripttel kell megoldanod (ha valamelyik mezőre akarsz konkrétan FÓKUSZÁLNI), de azt, hogy az oldalon konkrétan a formhoz ugorjon, úgy tudod megoldani, hogy a HTML id-t átadod anchorként, például:

http://massage.darabka.hu/hu#block-views-fooldal2-block--2

amint ezt a címet megnyitod, a block-views-fooldal2-block--2 id-val rendelkező formra fog ugrani az oldalon belül. (amúgy "foglaj"-nak nevezted el véletlenül "foglalj" helyett)

másik példa:
http://massage.darabka.hu/hu/svedmasszazs-1#webform-client-form-206

Erre gondoltál?

0
0
csszilvia képe

A második példában szereplő megoldást szeretném, és itt van a gondom:

mivel az oldal view modullal készült (masszázsfajták) és a Foglalok gomb hivatkozásához nem tudom azt beállítani, hogy mindig az adott oldalon belül (svédmsszázs, aroma...stb) ugorjon, vagyis azt nem tudom megfogalmazni, a hivatkozás megadásánál, hogy:

hivatkozzon az eredeti tartalomra/#anchor

És itt jön képbe a helyettesítési minta. Az adatlapnál egyszerűen a cím mezőt írtam felül Adatlapra és állítottam be, hogy hivatkozzon az eredeti tartalomra.

(Amúgy a szebb url miatt kapott nevet az anchor, és köszi, hogy szóltál az elírás miatt.)

0
0
Sk8erPeter képe

Views-zal összekattintgatós módszerről nem tudok, de JavaScriptben (jQuery-ben) nem nehéz írni olyan kódot, amivel csekkolod egy bizonyos anchor (#valami) vagy query string (?valami=igen) meglétét, és attól függően fókuszálsz valamelyik input-mezőre, vagy scrolloztatod a júzert az adott formhoz. Kérdés, mennyire megy a JavaScript, meg a behaviors. Ha már próbálkoztál vele, akkor max. 15 perc meló sztem.

0
0
csszilvia képe

Az nem járható út, ahogy én terveztem? tartalomazonosító/#anchor?
Nem tudok megadni valami ilyen hivatkozást?

0
0
Sk8erPeter képe

Nekem erre most hirtelen csak "statikus" megoldás jut eszembe, úgy, hogy pontosan tudod, milyen id-jú form lesz ott. Vagy komolyabb modul/sminkfejlesztgetési javaslat. Vagy az egyszerűbb JavaScriptes megoldás, de igazából az sem túl dinamikus, bár azt is azzá lehet tenni, ha modulból adod át a JS-beállítást (drupal_add_js)...

Na, hogy ne szaporítsam a szót, és kavarjalak össze (és mielőtt magamat is összekavarom), igazából egyelőre csak olyan megoldás jut eszembe az egyszerűek közül, hogy a konkrét view-nál konkrét form id-t adsz hozzá anchorként (#ezaformid) a linkhez, ami mondjuk akkor jó, ha mindegyik ilyen tartalomtípusnál egyezik (mert mondjuk mindig ugyanazt az id-jú blokkot adod hozzá a node-hoz, ott legfeljebb a kiválasztott opció változik).

Reméljük, ajánl valaki jobbat.

0
0
szantog képe

Ha felveszel egy Content: Path The aliased path to this content. mezőt, azt [path] tokennel tudod felhasználni. Amennyire látom, egy webform van használva, ezt pedig a #webform-client-form-206 id-n elérheted bárhol.

Webform verziótól függően így lehet default értéket urlből adni. http://drupal.org/node/296453

Így tokenekből valami ilyesmi urlt fixen fog neked működni:
[path]?masszazstipusa=[title]#webform-client-form-206
vagyis
massage-adatlap-5?masszastipusa=Talpmasszázs#webform-client-form-206

3
0

----
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.

Sk8erPeter képe

Ja, itt és itt én is ilyesmire gondoltam, de Te megfogalmaztad és ki is fejtetted értelmesen, hogy konkrétan melyik mezőt kell felvenni, stb., úgyhogy +1.

0
0
csszilvia képe

pont erre vágytam!

Valamit azonban mégis elrontok, mert 404-es üzenetet kapok.

1. felvettem a path mezőt
2. az elejére soroltam, hogy megjelenjen a helyettesítési minták között
3. az eredmény átírásához pedig beírtam, hogy:
%5Bpath%5D?masszazstipusa=%5Btitle%5D#webform-client-form-206

Mit rontok el?

köszönöm
Szilvi

0
0
Sk8erPeter képe

az elejére soroltam, hogy megjelenjen a helyettesítési minták között

Ez nem jó, pont a title UTÁN kéne lennie.

az eredmény átírásához pedig beírtam, hogy:
%5Bpath%5D?masszazstipusa=%5Btitle%5D#webform-client-form-206

így kell beírni, ahogy szantog is írta:
[path]?masszazstipusa=[title]#webform-client-form-206
nem pedig URL-encode-olva, és ami lényeges, oda, ahol bepipálod, hogy link legyen a kimenet.

Egész konkrétan így kell kinéznie:

 Path

Remélem, így már sikerül. Ez a jó kimenetet adja.

1
0
csszilvia képe

de már közel lehet a megoldás

most ezt kapom:

http://massage.darabka.hu/hu//hu/gyogymasszazs?masszazstipusa=Gy%C3%B3gymassz%C3%A1zs#webform-client-form-206

tehát egy /hu/-rel több van.

elnézést a sok bénázásért és nagyon-nagyon köszönöm a rengeteg segítséget

Szilvi

0
0
szantog képe

Próbáld meg, hogy bepipálod a use absolute linkst ott, ahol a linket összerakod.

1
0

----
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.

csszilvia képe

http://massage.darabka.hu/hu//hu/gyogymasszazs?masszazstipusa=Gy%C3%B3gymassz%C3%A1zs#webform-client-form-206

Külső hivatkozásként megadva ez az eredmény, de legalább működik!!
(gondolom , nem ez a legszebb megoldás)

http://massage.darabka.hu//hu/gyogymasszazs?masszazstipusa=Gy%C3%B3gymas...

Ezer köszönet!!!

Szép napot!

Szilvi

0
0