本文整理匯總了PHP中TagsHelperRoute::lookup方法的典型用法代碼示例。如果您正苦於以下問題:PHP TagsHelperRoute::lookup方法的具體用法?PHP TagsHelperRoute::lookup怎麽用?PHP TagsHelperRoute::lookup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類TagsHelperRoute
的用法示例。
在下文中一共展示了TagsHelperRoute::lookup方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _findItem
/**
* Find Item static function
*
* @param array $needles Array used to get the language value
*
* @return null
*
* @throws Exception
*/
protected static function _findItem($needles = null)
{
$app = JFactory::getApplication();
$menus = $app->getMenu('site');
$language = isset($needles['language']) ? $needles['language'] : '*';
// Prepare the reverse lookup array.
if (self::$lookup === null) {
self::$lookup = array();
$component = JComponentHelper::getComponent('com_tags');
$items = $menus->getItems('component_id', $component->id);
if ($items) {
foreach ($items as $item) {
if (isset($item->query) && isset($item->query['view'])) {
$lang = $item->language != '' ? $item->language : '*';
if (!isset(self::$lookup[$lang])) {
self::$lookup[$lang] = array();
}
$view = $item->query['view'];
if (!isset(self::$lookup[$lang][$view])) {
self::$lookup[$lang][$view] = array();
}
// Only match menu items that list one tag
if (isset($item->query['id']) && is_array($item->query['id'])) {
foreach ($item->query['id'] as $position => $tagId) {
if (!isset(self::$lookup[$lang][$view][$item->query['id'][$position]]) || count($item->query['id']) == 1) {
self::$lookup[$lang][$view][$item->query['id'][$position]] = $item->id;
}
}
}
}
}
}
}
if ($needles) {
foreach ($needles as $view => $ids) {
if (isset(self::$lookup[$language][$view])) {
foreach ($ids as $id) {
if (isset(self::$lookup[$language][$view][(int) $id])) {
return self::$lookup[$language][$view][(int) $id];
}
}
}
}
} else {
$active = $menus->getActive();
if ($active) {
return $active->id;
}
}
return null;
}
示例2: _findItem
protected static function _findItem($needles = null)
{
$app = JFactory::getApplication();
$menus = $app->getMenu('site');
$language = isset($needles['language']) ? $needles['language'] : '*';
// Prepare the reverse lookup array.
if (self::$lookup === null) {
self::$lookup = array();
$component = JComponentHelper::getComponent('com_tags');
$items = $menus->getItems('component_id', $component->id);
if ($items) {
foreach ($items as $item) {
if (isset($item->query) && isset($item->query['view'])) {
$view = $item->query['view'];
if (!isset(self::$lookup[$view])) {
self::$lookup[$view] = array();
}
// Only match menu items that list one tag
if (isset($item->query['id'][0]) && count($item->query['id']) == 1) {
// Here it will become a bit tricky
// language != * can override existing entries
// language == * cannot override existing entries
if (!isset(self::$lookup[$language][$view][$item->query['id'][0]]) || $item->language != '*') {
self::$lookup[$language][$view][$item->query['id'][0]] = $item->id;
}
self::$lookup[$view][$item->query['id'][0]] = $item->id;
}
if (isset($item->query["tag_list_language_filter"]) && $item->query["tag_list_language_filter"] != '') {
$language = $item->query["tag_list_language_filter"];
}
}
}
}
}
if ($needles) {
foreach ($needles as $view => $ids) {
if (isset(self::$lookup[$view])) {
foreach ($ids as $id) {
if (isset(self::$lookup[$view][(int) $id])) {
return self::$lookup[$view][(int) $id];
}
}
}
}
} else {
$active = $menus->getActive();
if ($active) {
return $active->id;
}
}
return null;
}