本文整理汇总了PHP中ElggMenuItem::getHref方法的典型用法代码示例。如果您正苦于以下问题:PHP ElggMenuItem::getHref方法的具体用法?PHP ElggMenuItem::getHref怎么用?PHP ElggMenuItem::getHref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ElggMenuItem
的用法示例。
在下文中一共展示了ElggMenuItem::getHref方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: elgg_view_menu_item
/**
* Render a menu item (usually as a link)
*
* @param ElggMenuItem $item The menu item
* @param array $vars Options to pass to output/url if a link
* @return string
* @since 1.9.0
*/
function elgg_view_menu_item(ElggMenuItem $item, array $vars = array())
{
if (!isset($vars['class'])) {
$vars['class'] = 'elgg-menu-content';
}
$vars = array_merge($item->getValues(), $vars);
if ($item->getLinkClass()) {
$vars['class'] .= ' ' . $item->getLinkClass();
}
if ($item->getHref() === false) {
$text = $item->getText();
// if contains elements, don't wrap
if (preg_match('~<[a-z]~', $text)) {
return $text;
} else {
return elgg_format_element('span', array('class' => 'elgg-non-link'), $text);
}
}
if (!isset($vars['rel']) && !isset($vars['is_trusted'])) {
$vars['is_trusted'] = true;
}
if ($item->getConfirmText()) {
$vars['confirm'] = $item->getConfirmText();
return elgg_view('output/confirmlink', $vars);
} else {
unset($vars['confirm']);
}
return elgg_view('output/url', $vars);
}
示例2: _elgg_site_menu_setup
/**
* Set up the site menu
*
* Handles default, featured, and custom menu items
*
* @access private
*/
function _elgg_site_menu_setup($hook, $type, $return, $params)
{
$featured_menu_names = elgg_get_config('site_featured_menu_names');
$custom_menu_items = elgg_get_config('site_custom_menu_items');
if ($featured_menu_names || $custom_menu_items) {
// we have featured or custom menu items
$registered = $return['default'];
/* @var \ElggMenuItem[] $registered */
// set up featured menu items
$featured = array();
foreach ($featured_menu_names as $name) {
foreach ($registered as $index => $item) {
if ($item->getName() == $name) {
$featured[] = $item;
unset($registered[$index]);
}
}
}
// add custom menu items
$n = 1;
foreach ($custom_menu_items as $title => $url) {
$item = new \ElggMenuItem("custom{$n}", $title, $url);
$featured[] = $item;
$n++;
}
$return['default'] = $featured;
if (count($registered) > 0) {
$return['more'] = $registered;
}
} else {
// no featured menu items set
$max_display_items = 5;
// the first n are shown, rest added to more list
// if only one item on more menu, stick it with the rest
$num_menu_items = count($return['default']);
if ($num_menu_items > $max_display_items + 1) {
$return['more'] = array_splice($return['default'], $max_display_items);
}
}
// check if we have anything selected
$selected = false;
foreach ($return as $section) {
/* @var \ElggMenuItem[] $section */
foreach ($section as $item) {
if ($item->getSelected()) {
$selected = true;
break 2;
}
}
}
if (!$selected) {
// nothing selected, match name to context or match url
$current_url = current_page_url();
foreach ($return as $section_name => $section) {
foreach ($section as $key => $item) {
// only highlight internal links
if (strpos($item->getHref(), elgg_get_site_url()) === 0) {
if ($item->getName() == elgg_get_context()) {
$return[$section_name][$key]->setSelected(true);
break 2;
}
if ($item->getHref() == $current_url) {
$return[$section_name][$key]->setSelected(true);
break 2;
}
}
}
}
}
return $return;
}
示例3: testConstructorUrlNormalization
public function testConstructorUrlNormalization()
{
$item = new \ElggMenuItem('name', 'text', 'url');
$url = elgg_normalize_url('url');
$this->assertEquals($url, $item->getHref());
}