Drupal7でエイリアスからノード情報を取得する関数!
こんな感じです!
/* * 特定のエイリアスのノードオブジェクトを取得する */ function getNodeObjByAlias($alias, $field = null){ $url_alias = db_select("url_alias",$alias)->fields($alias,array("source"))->execute()->fetchAssoc(); $ex = !empty($url_alias["source"]) ? explode("/",trim($url_alias["source"])) : array(); $nid = intval($ex[1])!==0 ? intval($ex[1]) : 0; $node = node_load($nid); if(!empty($field)){ return !empty($node->$field) ? $node->$field : false; }else{ return !empty($node) ? $node : false; } }
第二引数でフィールドまで絞れます~