user/register oldal több menüben, eltérő útvonal álnéven

Luigi.hu képe

A feladat: egy cégnek kétféle típusú partnere van, Viszonteladók és Kivitelezők, akikek eltérő adatokat tartalmazó, két különböző regisztrációs oldalt szeretnék készíteni.

Ha ez nem lenne egyszerűen megoldható, akkor az is szóba jöhet, hogy a "user/register" oldalt 2 menüben, eltérő útvonal álnéven lehessen elérni.

D7 oldalról van szó, létre tudok hozni több útvonal álnevet is a "user/register" oldalnak, pl. "domain.hu/reg1", "domain.hu/reg2".

Ha viszont 2 menüt hozok létre pl. "Menü reg1" és "Menü reg2" néven és a menü útvonala "Menü reg1" esetén "domain.hu/reg1" lesz, "Menü reg2"-nél pedig "domain.hu/reg2", akkor ez nem akar működni, mivel a "Menü reg1" menüpont is a "domain.hu/reg2" útvonal alatt érhető el, ill. az nem a saját főmenüjéhez tartozik.
Lényegében a "domain.hu/reg1" útvonalat beírva az átirányítódik a "domain.hu/reg2"-ra, amit pont nem szeretnénk. :-)

Ez mitől van és hogyan lehetne helyrehozni?
Köszönöm.

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

Drupalban mindet több féle képpen lehet megoldani, én a programozós megoldást tudom neked felajánlani:

A modulod két utvonalat publikál a hook_menu-ben, mindkettőben a drupal_get_form()-mal lekéred a form-ot, de előtte kiveszed belőle azokat az elemeket, amiket ott éppen nem akarsz megjeleníteni. Panels modullal és PHP filterrel is meg lehet oldani, akkor nem kell saját modul, helyette egy kis PHP-t tartalmazó custom content pane-t kell beüzemelni.

Egy másik, gányolósabb megoldás, ha így szolgálod ki a reg oldalt:
/user/register/viszontelado
/user/register/kivitelezo

és JS-el tűnteted el az oda nem illő dolgokat. Sőt, ha ezek a kötött útvonalak is megfelelnek, akkor akár hook_form_alter()-rel is lehet módosítani a forom, nem feltétlen kell a JS mdószer.

Mint mondtam, bíztos van más megoldás is, nekem ezek jutottak eszembe.

1
0
szt képe

A többféle regisztrációt anno én a Profil2 modullal oldottam meg.

1
0
Luigi.hu képe

A két verzió közül (számomra) a legegyszerűbb megoldás a Profile2 és a Profile2 Registration Path modul lesz.

"Fura", és nagyon jó látni, hogy a legtöbb problémára már létezik kész megoldás.
Köszönöm a javaslatokat!

0
0
csakiistvan képe

Profil 2 azért is jó, mert ki lehet tenni Feature-be.

2
0

Drupal full-stack developer at Wunderman Thompson Budapest