több alias egy tartalom

danart képe

Sziasztok!

Van valakinek ötlete, hogy miként lehet megoldani, hogy tartalom beküldéskor beküldésekor automatikusan létrejöjjön a pathauto által létrehozott aliason túl egy második (eltérő felépítésű) alias is?

Köszönöm a segítséget!

Üdv.:
Dani

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
csakiistvan képe

Annyiban segíts hogy mi a acélod ezzel? Eltérő felépítés mit takar? Rules modullal talán megoldható.

0
0

Drupal full-stack developer at Wunderman Thompson Budapest

danart képe

A tartalom megjelenítést akarom szétválasztani. Adott egy tartalom, vannak hozzászólásai. Egy bevezetőt tartalmazó nézetben létrehoztam egy hivatkozást a hozzászólások számával, valamit egy tovább a cikkre hivatkozást.
A cél az lenne, hogy a két link ugyanarra a tartalomra mutasson, de a betöltéskor meg tudjam határozni, hogy melyik linkkel történt a megnyitás. Az egyik esetben csak a tartalom jelenik meg, a másikban csak a hozzászólások lenyitható tartalom megjelenítéssel.

Ahogy eddig próbáltam:
* rules - create content's alias: valamiért nem hozta létre a módosított aliast, csak duplikálta a meglevőt (alias: $node -> path . '_comments');
* Saját modul - nodeapi $op = 'insert': amikor beküldöm a hírt még nincs meg az útvonala, ugyan létre tudom hozni magam is az a mintát amit a pathauto-nal beállítottam, de ha később két ugyanolyan nevű tartalom lesz - bajosan fogja beletenni a -0 formát;

... ha bele tudnék akaszkodni a node_save utáni részbe akkor talán már létezne a $node -> path és működne az elgondolás, de eddig nem találtam rá, hogy hol tudnám megfogni.

Azon gondolkodom, hogy ha más nem - egy rules-t (php) futtatok, ami beleteszi az adatbázisba a szükséges sort és akkor tuti az kerül bele amit szeretnék.

0
0
dj képe

be kéne állítani a pathauto-nál, hogy hagyja meg az előzőt is, ha újat hozol létre hozzá.

admin/build/path/pathauto -> Általános beállítások ->

Update action:
Create a new alias. Leave the existing alias functioning.

0
0

Üdv!
Dudás József

danart képe

Nem hiszem, hogy ez lett volna az okozója annak, hogy duplikálta a meglevő álnevet.
Megírtam rules - php kombóval az eredményt, és sokkal gyorsabban lefut, mint bármilyen rules-en belüli bűvészkedős megoldás.

Hátha másnak is jól jön:
Szabály: Új tartalom mentése után
Ha: létrejött tartalom: hír (feltétel - opcionáis)
Akkor (do): php kód bevitele:

/***************************************
* src = node/nid, $node -> nid ($path)
* dst = path, $node -> path ($alias)
* language = $node -> language ($lang)
****************************************/
$path = 'node/' . $node -> nid;
$alias = $node -> path . '_comments';
$lang = '';

$res = db_query("INSERT INTO {url_alias} (src, dst, language) VALUES ('%s', '%s', '%s')", $path, $alias, $lang);

if ($res === TRUE) drupal_set_message('Az útvonalálnév alias létrejött.', $type = 'status', $repeat = TRUE);

Megj.: Szükség szerint lehet többnyelvűsiteni t() függvénnyel a feliratot.
Egyéb: a language paramétert azért nem adom meg, mert onnantól a _comments lesz a default node path.

... a célt megvalósítja ez a megoldás - egy korábbi kérdésem 'update'-elem majd, ha kész lesz a teljes megoldás.

Köszönök minden hozzászólást, segítséget!

0
0
Den képe

„Adott egy tartalom, vannak hozzászólásai. Egy bevezetőt tartalmazó nézetben létrehoztam egy hivatkozást a hozzászólások számával, valamit egy tovább a cikkre hivatkozást.
A cél az lenne, hogy a két link ugyanarra a tartalomra mutasson, de a betöltéskor meg tudjam határozni, hogy melyik linkkel történt a megnyitás. Az egyik esetben csak a tartalom jelenik meg, a másikban csak a hozzászólások lenyitható tartalom megjelenítéssel.”

Ilyenkor sokat segít, ha a problémádat írod le, minél egyszerűbben, nem azt, hogy te hogyan próbáltad…

Szal, van egy node/xy tartalmad, a path alias-a legyen mycontent-xy, amit egyszer megjelenítenéd hagyományosan, egyszer pedig úgy, hogy csak a commentek.

Mi lenne, ha /mycontent-xy lenne a teljes nézet? Ekkor innen a commenteket el kell tűntetned. A másik a /mycontent-xy?showcomments url, ami a ?showcomments-ben tér el az előzőtől.

Ekkor már van néhány lehetőséged, de az url még mindig ua. csak adtál egy paramétert.

preprocess: vizsgálod az url paraméter meglétét, és attól függően a commenteket betöltöd, vagy sem, a node tartalmakat mezőit megjeleníted vagy sem.

Másik megoldás lehet, ha Display Suite-el állsz neki: két megjelenítési módót készítesz, az egyiken nincsenek hozzászólások, a másikon vannak, és az url paraméter meglététől függően változtatod a megjelenítést.

A harmadik…

Figyelem, nem konkrét megoldási javaslatokat írtam, módszereket, hogy hogyan lehetne… Vagyis, én valahogy így csinálnám.

0
0
danart képe

Nagyon nagyon túlbonyolítottam az egészet. Gyakorlatilag itt a megoldás:
http://drupal.hu/comment/58926#comment-58926
Az útvonalálnevekhez hozzá sem kell nyúlni, meg semmihez.
... mindegy - talán nem volt teljesen haszontalan ez a szál. Eszembe nem jutott volna, hogy ennyire egyszerű a történet. :S

0
0