本文整理汇总了PHP中Knp\Menu\ItemInterface::getLabel方法的典型用法代码示例。如果您正苦于以下问题:PHP ItemInterface::getLabel方法的具体用法?PHP ItemInterface::getLabel怎么用?PHP ItemInterface::getLabel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Knp\Menu\ItemInterface
的用法示例。
在下文中一共展示了ItemInterface::getLabel方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renderLabel
/**
* unless 'raw' extra isn't set to true, we try to translate the label.
*
* @param ItemInterface $item
* @param array $options
*
* @return string
*/
protected function renderLabel(ItemInterface $item, array $options)
{
if ($options['allow_safe_labels'] && $item->getExtra('safe_label', false)) {
return $item->getLabel();
}
if ($item->getExtra('raw', false) !== false) {
return $this->escape($item->getLabel());
}
return $this->escape(trans($item->getLabel()));
}
示例2: render
public function render(ItemInterface $item, array $options = array())
{
$options = array_merge($this->defaultOptions, $options);
$translator = $options['translator'];
$itemIterator = new \Knp\Menu\Iterator\RecursiveItemIterator($item);
$iterator = new \RecursiveIteratorIterator($itemIterator, \RecursiveIteratorIterator::SELF_FIRST);
$items = [];
foreach ($iterator as $item) {
$translatedLabel = $translator->trans($item->getLabel());
$id = $item->getName();
$itemData = ['id' => strtolower($item->getName()), 'name' => $translatedLabel, 'uri' => $item->getUri()];
$itemData['has_children'] = $item->hasChildren();
$parentId = $item->getParent()->getName();
if ($parentId !== $id) {
$itemData['parent'] = strtolower($parentId);
if (!isset($items[$parentId]['children'])) {
$items[$parentId]['children'] = [];
}
$items[$parentId]['children'][] = $itemData;
}
if (isset($items[$id])) {
$items[$id] = array_merge($itemData, $items[$id]);
} else {
$items[$id] = $itemData;
}
}
return $items;
}
示例3: buildItem
/**
* Configures the newly created item with the passed options
*
* @param ItemInterface $item
* @param array $options
*/
public function buildItem(ItemInterface $item, array $options)
{
if (!empty($options['path'])) {
$item->setUri(site_url($options['path']));
}
if (!empty($options['icon_class'])) {
$item->setLabel('<i class="' . $options['icon_class'] . '"></i> ' . $item->getLabel());
$item->setExtra('safe_label', true);
}
$this->buildExtras($item, $options);
}
示例4: renderLabel
protected function renderLabel(ItemInterface $item, array $options)
{
$html = '<i class="' . $item->getIcon() . '"></i> ';
$html .= '<span>' . $item->getLabel() . '</span>';
if ($item->hasChildren()) {
$drop = false;
foreach ($item->getChildren() as $child) {
if (\App::isGranted($child->getPermissions())) {
$drop = true;
}
}
if ($drop) {
$html .= '<i class="fa fa-angle-left pull-right"></i>';
}
}
return $html;
}
示例5: renderLink
/**
* Renders the link in a a tag with link attributes or
* the label in a span tag with label attributes
*
* Tests if item has a an uri and if not tests if it's
* the current item and if the text has to be rendered
* as a link or not.
*
* @param \Knp\Menu\ItemInterface $item The item to render the link or label for
* @param array $options The options to render the item
* @return string
*/
public function renderLink(ItemInterface $item, array $options = array())
{
$options = array_merge($this->getDefaultOptions(), $options);
if ($item->getUri() && (!$item->isCurrent() || $options['currentAsLink'])) {
$text = sprintf('<a href="%s"%s>%s</a>', $this->escape($item->getUri()), $this->renderHtmlAttributes($item->getLinkAttributes()), $this->escape($item->getLabel()));
} else {
$text = sprintf('<span%s>%s</span>', $this->renderHtmlAttributes($item->getLabelAttributes()), $this->escape($item->getLabel()));
}
return $this->format($text, 'link', $item->getLevel());
}
示例6: getText
/**
* @param \Knp\Menu\ItemInterface $item
* @param array $options
* @return string
*/
protected function getText(ItemInterface $item, array $options)
{
if ($options['allow_safe_labels'] && $item->getExtra('safe_label', false)) {
return $item->getLabel();
}
return $this->escape($item->getLabel());
}
示例7: renderLabel
/**
* Renders the menu label.
*
* @param Item $item
* @param array $options
*
* @return string
*/
protected function renderLabel(Item $item, array $options)
{
$icon = '';
if ($item->getExtra('icon')) {
$icon = $this->renderIcon($item->getExtra('icon'));
}
if ($options['allow_safe_labels'] && $item->getExtra('safe_label', false)) {
return $icon . $item->getLabel();
}
return $icon . $this->escape($item->getLabel());
}
示例8: getBreadcrumbsItem
private function getBreadcrumbsItem(ItemInterface $item)
{
return array('label' => $item->getLabel(), 'uri' => $item->getUri(), 'item' => $item);
}