getTables(); $fields = &$query->getFields(); $expressions = &$query->getExpressions(); // Replace ml.* with actual columns, excluding 'link_title'. $columns = db_query("SHOW COLUMNS FROM {menu_links} WHERE Field <> :exclude", array(':exclude' => 'link_title'))->fetchCol(); unset($tables['ml']['all_fields']); $query->fields('ml', $columns); // Join on menu link translation table. $query->leftJoin('ot_menu_links', 'tml', 'tml.mlid = ml.mlid AND tml.language = :language', array(':language' => $GLOBALS['language']->language)); // Conditionally use translation or source value. $query->addExpression('CASE WHEN tml.link_title IS NOT NULL THEN tml.link_title ELSE ml.link_title END', 'link_title'); } function ot_exit() { #menu_cache_clear_all(); }