プログラミングで飯を食え。腕をあげたきゃ備忘録!

PHP、JavaScript、HTML5、CSS3などWEB系言語を中心に基本テク、備忘録をまとめます。Android、Iphoneアプリ開発についても!

Drupal7でエイリアスからノード情報を取得する関数!

サクウェブTVはコチラ↓↓↓
サクウェブTV

こんな感じです!

/*
 * 特定のエイリアスのノードオブジェクトを取得する
 */
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;
    }
}

第二引数でフィールドまで絞れます~