PHP beviteli formával nem megy, ami a page.tpl.php-ban igen

Anonymous képe

Sziasztok!

A következő problémával szembesültem:
Egy node írásánál php beviteli formában írtam be az alábbi kódot, amivel a domain utáni 2. url-elemet szerettem volna előcsalni:

<?php $utvonal = explode("/", drupal_get_path_alias('node/'.$node->nid)); ?>
Azért kell ez, mert a node-hoz passzolóló galériára kellene linkelni(de ez talán mellékes is):
<a href="http://www.valami.hu/gallery/<?php print $utvonal[1]; ?>">...

És az a baj, hogy a kód az eredeti, valami.hu/node/214 alapján dolgozik. Kipróbáltam: ha <?php print $utvonal[0]; ?>-t írok, akkor a valami.hu/gallery/node oldalra visz - itt bukott le a kis ravasz.
Viszont a page.tpl.php fájlban, amikor stílusosztályokat akarok definiálni, működik a kód: az alias-os url alapján dolgozik:

<?php $utvonal = explode("/", drupal_get_path_alias('node/'.$node->nid)); ?>
<body class="body_<?php print $utvonal[0]; ?>"

(A galéria és a szerkeszteni kívánt node url-jei természetesen egyeztetve lettek.)

Mitől lehet ez?
Amúgy ha van triviális módja annak, hogyan lehet egy node-ból egy galériára linkelni, azt is elárulhatjátok!
Köszönet!

Fórum: 
Hojtsy Gábor képe

A PHP beviteli formánál a $node-ot nem tudod elérni szerintem, a kódnak nincs egy ilyen környezete, amiben fut. Mindent, amire szükséged van, szépen be kell töltened.

0
0
Anonymous képe

Mármint simán html-linkekkel? Én is úgy indultam neki, de gépesíteni szertném a folyamatot, mert rengeteg oldal lesz ebből a típusból: termékleírás és hozzá a galéria előképe, mint pl. a hasznaltauto.hu-n vagy ezer más helyen. Pedig ha működne, csinálnék egy olyat, hogy a termékleírás jobb felső sarkában egy közepes méretű preview kép, alatta 4 thumbnail, amikre kattintva a rendes képre jutnánk a galériában. A képfájlok szép rendszer szerint el is vannak nevezve: blabla_1.jpg, blabla_2.jpg... Ú, de szépen meg lehetne ezt php-zni!
Nem lehet máshogy lekérdezni az url-t?
Amúgy köszi!

0
0
Hojtsy Gábor képe

Mint mondtam, a $node nem elérhető. Az arg() bőven elég ahhoz, hogy a node számát megtudd, és annak alapján a webcím álnevet megszerezd.

if (arg(0) == 'node' && is_numeric($nid = arg(1))) {
  $alias_array = explode("/", drupal_get_path_alias('node/'. $nid));
}
0
0
Illyés Edit képe

  1. arg() függvény
  2. A linket a node(-type).tpl.php-ből illeszted be
  3. CCK node reference
0
0
Anonymous képe

Igen, arra is gondoltam, de az arg() függvény a módosított url-t nem látja, csak az eredeti valami.hu/node/52 jellegűt, úgy tudom.

2. pont: azt nem tudom, hogy kell. Kaphatok kis segítséget?
Köszi!

0
0