ElggMenuItem::factory PHP Method

    public static function factory($options)
    {
        if (!isset($options['name']) || !isset($options['text'])) {
            return null;
        }
        if (!isset($options['href'])) {
            $options['href'] = '';
        }
        $item = new \ElggMenuItem($options['name'], $options['text'], $options['href']);
        unset($options['name']);
        unset($options['text']);
        unset($options['href']);
        // special catch in case someone uses context rather than contexts
        if (isset($options['context'])) {
            $options['contexts'] = $options['context'];
            unset($options['context']);
        }
        // make sure contexts is set correctly
        if (isset($options['contexts'])) {
            $item->setContext($options['contexts']);
            unset($options['contexts']);
        }
        if (isset($options['link_class'])) {
            $item->setLinkClass($options['link_class']);
            unset($options['link_class']);
        }
        if (isset($options['item_class'])) {
            $item->setItemClass($options['item_class']);
            unset($options['item_class']);
        }
        if (isset($options['data']) && is_array($options['data'])) {
            $item->setData($options['data']);
            unset($options['data']);
        }
        foreach ($options as $key => $value) {
            if (isset($item->data[$key])) {
                $item->data[$key] = $value;
            } else {
                $item->{$key} = $value;
            }
        }
        return $item;
    }

Usage Example

示例#1
0
function donation_footer_menu_hook($hook, $type, $return_value, $params)
{
    //if (elgg_get_plugin_setting("add_donation_footer_menu_item", "donation") == "yes") {
    $return_value[] = ElggMenuItem::factory(array("name" => "donations", "text" => elgg_echo("donation"), "href" => "donation"));
    //}
    return $return_value;
}
All Usage Examples Of ElggMenuItem::factory