Druplal 5-ben a $node->path, azaz a url alias érétke üres? A megoldás
A Drupal 5-ben van egy hiba amiről a programozók sokszor elfelejtkeznek.
A $node objektumnak van egy path attribútuma:
-
<?php
-
$node->path;
-
?>
Ez a node-hoz tartozó url alias, tehát a megadott elérési címet tartalmazza. Sokszor használjuk különböző tartalmak dinamikus gyűjtőoldalán, ezért fontos tisztában lennünk ezzel a hibával.
A probléma az, hogy amikor admin-ként vagyunk bejelentkezve a path érték megfelelő, ám ha nem akkor üres, így minden link a kezdőoldalra mutat. Ez annyit takar, hogy nem lehet elérni a kívánt bejegyzéseket, és ha nem elég körültekintő a tesztelés, akkor fel sem tűnik, mivel a session-be bentmaradunk mint bejelentkezett admin-ok, így nem is érzékeljük a hibát.
A megoldás egy egyszerű beépített Drupal fgv használata
-
<?php
-
$node->path = drupal_get_path_alias("node/$node->nid");
-
?>
Ez egy nagyon egyszerű megoldás, mégis ha nem vagyunk vele tisztába komoly gondot okozhat a weboldalon, de hangsúlyozom: megfelelő tesztelés esetén ki kell hogy derüljön még az élesítés előtt.
