本文整理汇总了PHP中CMS::getLinks方法的典型用法代码示例。如果您正苦于以下问题:PHP CMS::getLinks方法的具体用法?PHP CMS::getLinks怎么用?PHP CMS::getLinks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMS
的用法示例。
在下文中一共展示了CMS::getLinks方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: makeMenu
private function makeMenu()
{
global $cookie, $page_name;
foreach ($this->getMenuItems() as $item) {
$id = (int) substr($item, 3, strlen($item));
switch (substr($item, 0, 3)) {
case 'CAT':
$this->getCategory($id, $cookie->id_lang);
break;
case 'PRD':
$selected = $page_name == 'product' && Tools::getValue('id_product') == $id ? ' class="sfHover"' : '';
$product = new Product($id, true, $cookie->id_lang);
if (!is_null($product->id)) {
$this->_menu .= '<li' . $selected . '><a href="' . $product->getLink() . '">' . $product->name . '</a></li>' . PHP_EOL;
}
break;
case 'CMS':
$selected = $page_name == 'cms' && Tools::getValue('id_cms') == $id ? ' class="sfHover"' : '';
$cms = CMS::getLinks($cookie->id_lang, array($id));
if (count($cms)) {
$this->_menu .= '<li' . $selected . '><a href="' . $cms[0]['link'] . '">' . $cms[0]['meta_title'] . '</a></li>' . PHP_EOL;
}
break;
case 'MAN':
$selected = $page_name == 'manufacturer' && Tools::getValue('id_manufacturer') == $id ? ' class="sfHover"' : '';
$manufacturer = new Manufacturer($id, $cookie->id_lang);
if (!is_null($manufacturer->id)) {
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($manufacturer->name, false);
} else {
$manufacturer->link_rewrite = 0;
}
$link = new Link();
$this->_menu .= '<li' . $selected . '><a href="' . $link->getManufacturerLink($id, $manufacturer->link_rewrite) . '">' . $manufacturer->name . '</a></li>' . PHP_EOL;
}
break;
case 'SUP':
$selected = $page_name == 'supplier' && Tools::getValue('id_supplier') == $id ? ' class="sfHover"' : '';
$supplier = new Supplier($id, $cookie->id_lang);
if (!is_null($supplier->id)) {
$link = new Link();
$this->_menu .= '<li' . $selected . '><a href="' . $link->getSupplierLink($id, $supplier->link_rewrite) . '">' . $supplier->name . '</a></li>' . PHP_EOL;
}
break;
case 'LNK':
$link = MenuTopLinks::get($id, $cookie->id_lang);
if (count($link)) {
$this->_menu .= '<li><a href="' . $link[0]['link'] . '"' . ($link[0]['new_window'] ? ' target="_blank"' : '') . '>' . $link[0]['label'] . '</a></li>' . PHP_EOL;
}
break;
}
}
}
示例2: hookFooter
/**
* Returns module content
*
* @param array $params Parameters
* @return string Content
*/
function hookFooter($params)
{
global $smarty, $cookie;
$cms = CMS::listCms($cookie->id_lang, $this->id);
$id_cms = array();
foreach ($cms as $row) {
$id_cms[] = intval($row['id_cms']);
}
$smarty->assign('cmslinks', CMS::getLinks($cookie->id_lang, $id_cms));
return $this->display(__FILE__, 'blockvariouslinks.tpl');
}
示例3: hookFooter
/**
* Returns module content
*
* @param array $params Parameters
* @return string Content
*/
function hookFooter($params)
{
global $smarty, $cookie;
$smarty->caching = 0;
$cms = CMS::listCms($cookie->id_lang, $this->id);
$id_cms = array();
$rewlink = array();
foreach ($cms as $row) {
$id_cms[] = intval($row['id_cms']);
}
$links = CMS::getLinks($cookie->id_lang, $id_cms);
for ($x = 0; $x < count($links); $x++) {
$l = $links[$x]["link"];
$s = strpos($l, "/prestashop/");
$links[$x]["link"] = substr($l, $s);
}
// echo("<pre>"); print_r($links); echo("</pre>");
$smarty->assign('cmslinks', $links);
return $this->display(__FILE__, 'blockvariouslinks.tpl');
}
示例4: makeMenu
protected function makeMenu()
{
$root_node = $this->makeNode(['label' => null, 'type' => 'root', 'children' => []]);
$menu_items = $this->getMenuItems();
$id_lang = (int) $this->context->language->id;
$id_shop = (int) Shop::getContextShopID();
foreach ($menu_items as $item) {
if (!$item) {
continue;
}
preg_match($this->pattern, $item, $value);
$id = (int) substr($item, strlen($value[1]), strlen($item));
switch (substr($item, 0, strlen($value[1]))) {
case 'CAT':
$categories = $this->generateCategoriesMenu(Category::getNestedCategories($id, $id_lang, false, $this->user_groups));
$root_node['children'] = array_merge($root_node['children'], $categories);
break;
case 'PRD':
$product = new Product((int) $id, true, (int) $id_lang);
if ($product->id) {
$root_node['children'][] = $this->makeNode(['type' => 'product', 'page_identifier' => 'product-' . $product->id, 'label' => $product->name, 'url' => $product->getLink()]);
}
break;
case 'CMS':
$cms = CMS::getLinks((int) $id_lang, array($id));
if (count($cms)) {
$root_node['children'][] = $this->makeNode(['type' => 'cms-page', 'page_identifier' => 'cms-page-' . $id, 'label' => $cms[0]['meta_title'], 'url' => $cms[0]['link']]);
}
break;
case 'CMS_CAT':
$root_node['children'][] = $this->generateCMSCategoriesMenu((int) $id, (int) $id_lang);
break;
// Case to handle the option to show all Manufacturers
// Case to handle the option to show all Manufacturers
case 'ALLMAN':
$children = array_map(function ($manufacturer) use($id_lang) {
return $this->makeNode(['type' => 'manufacturer', 'page_identifier' => 'manufacturer-' . $manufacturer['id_manufacturer'], 'label' => $manufacturer['name'], 'url' => $this->context->link->getManufacturerLink(new Manufacturer($manufacturer['id_manufacturer'], $id_lang), null, $id_lang)]);
}, Manufacturer::getManufacturers());
$root_node['children'][] = $this->makeNode(['type' => 'manufacturers', 'page_identifier' => 'manufacturers', 'label' => $this->l('All manufacturers'), 'url' => $this->context->link->getPageLink('manufacturer'), 'children' => $children]);
break;
case 'MAN':
$manufacturer = new Manufacturer($id, $id_lang);
if ($manufacturer->id) {
$root_node['children'][] = $this->makeNode(['type' => 'manufacturer', 'page_identifier' => 'manufacturer-' . $manufacturer->id, 'label' => $manufacturer->name, 'url' => $this->context->link->getManufacturerLink($manufacturer, null, $id_lang)]);
}
break;
// Case to handle the option to show all Suppliers
// Case to handle the option to show all Suppliers
case 'ALLSUP':
$children = array_map(function ($supplier) use($id_lang) {
return $this->makeNode(['type' => 'supplier', 'page_identifier' => 'supplier-' . $supplier['id_supplier'], 'label' => $supplier['name'], 'url' => $this->context->link->getSupplierLink(new Supplier($supplier['id_supplier'], $id_lang), null, $id_lang)]);
}, Supplier::getSuppliers());
$root_node['children'][] = $this->makeNode(['type' => 'suppliers', 'page_identifier' => 'suppliers', 'label' => $this->l('All suppliers'), 'url' => $this->context->link->getPageLink('supplier'), 'children' => $children]);
break;
case 'SUP':
$supplier = new Supplier($id, $id_lang);
if ($supplier->id) {
$root_node['children'][] = $this->makeNode(['type' => 'supplier', 'page_identifier' => 'supplier-' . $supplier->id, 'label' => $supplier->name, 'url' => $this->context->link->getSupplierLink($supplier, null, $id_lang)]);
}
break;
case 'SHOP':
$shop = new Shop((int) $id);
if (Validate::isLoadedObject($shop)) {
$root_node['children'][] = $this->makeNode(['type' => 'shop', 'page_identifier' => 'shop-' . $id, 'label' => $shop->name, 'url' => $shop->getBaseURL()]);
}
break;
case 'LNK':
$link = Ps_MenuTopLinks::get($id, $id_lang, $id_shop);
if (!empty($link)) {
if (!isset($link[0]['label']) || $link[0]['label'] == '') {
$default_language = Configuration::get('PS_LANG_DEFAULT');
$link = Ps_MenuTopLinks::get($link[0]['id_linksmenutop'], $default_language, (int) Shop::getContextShopID());
}
$root_node['children'][] = $this->makeNode(['type' => 'link', 'page_identifier' => $link[0]['link'], 'label' => $link[0]['label'], 'url' => $link[0]['link'], 'open_in_new_window' => $link[0]['new_window']]);
}
break;
}
}
return $this->mapTree(function ($node, $depth) {
$node['depth'] = $depth;
return $node;
}, $root_node);
}
示例5: hookAjaxCall
function hookAjaxCall()
{
$action = Tools::getValue('action');
$errors = null;
$id_shop = null;
if (Tools::getValue('id_shop') != '' && Tools::getValue('id_shop') != 0) {
Shop::setContext(Shop::CONTEXT_SHOP, Tools::getValue('id_shop'));
$id_shop = (int) Shop::getContextShopID();
} else {
$id_shop = Configuration::get('PS_SHOP_DEFAULT');
}
if ($action == "delete") {
$link = new MegaMenuClass((int) Tools::getValue('id'));
Db::getInstance()->Execute('UPDATE `' . _DB_PREFIX_ . 'megamenu` SET `position` = (`position` - 0.01) WHERE `position` > ' . $link->position . ' AND `parent` = ' . $link->parent);
$link->delete();
echo Tools::jsonEncode('Link deleted successfully');
} elseif ($action == "enable") {
if (Tools::getValue('custom') == 'true') {
$link = new MegaMenuClass((int) Tools::getValue('id'));
$link->active = $link->active ? 0 : 1;
$link->update();
$response = array('msg' => 'Item status has changed.', 'active' => $link->active);
// if categories element
} else {
$active = null;
$CATS = Configuration::get('MEGAMENU_CATS');
$UN_CATS = array();
$UN_CATS = unserialize($CATS);
// get serialzie date
if (empty($UN_CATS)) {
is_array($UN_CATS) == false ? $UN_CATS = array() : '';
// add first time if empty
array_push($UN_CATS, (int) Tools::getValue('id'));
$SE_CATS = serialize($UN_CATS);
Configuration::updateValue('MEGAMENU_CATS', $SE_CATS);
$active = 0;
} else {
if (in_array(Tools::getValue('id'), $UN_CATS)) {
foreach ($UN_CATS as $key => $value) {
if ($value == Tools::getValue('id')) {
unset($UN_CATS[$key]);
$active = 1;
}
}
} else {
$active = 0;
array_push($UN_CATS, (int) Tools::getValue('id'));
}
//corect keys
$UN_CATS = array_values($UN_CATS);
//serialize and save configuration
$SE_CATS = serialize($UN_CATS);
Configuration::updateValue('MEGAMENU_CATS', $SE_CATS);
}
$response = array('msg' => 'Item status has changed.', 'active' => $active);
}
echo Tools::jsonEncode($response);
} elseif ($action == "edit") {
$link = new MegaMenuClass((int) Tools::getValue('id'), Context::getContext()->cookie->id_lang);
echo Tools::jsonEncode($link);
} elseif ($action == "add") {
$link = new MegaMenuClass();
$link->active = 1;
$link->parent = (int) Tools::getValue('parent');
$link->parent_custom = Tools::getValue('custom') == 'true' ? 1 : 0;
$link->copyFromPost();
$link->add();
$response = array('id' => $link->id, 'parent' => $link->parent, 'name' => $link->name[Context::getContext()->cookie->id_lang], 'msg' => 'Menu item added.');
echo Tools::jsonEncode($response);
} elseif ($action == "saveedit") {
$link = new MegaMenuClass((int) Tools::getValue('id_megamenu'));
$link->copyFromPost();
$link->update();
$item = new MegaMenuClass((int) Tools::getValue('id_megamenu'), Context::getContext()->cookie->id_lang);
$response = array('msg' => 'Item modified.', 'item' => $item);
echo Tools::jsonEncode($response);
} elseif ($action == "copycms") {
$id_cms = array((int) Tools::getValue('id_cms'));
$cmslink[] = null;
$languages = Language::getLanguages(false);
foreach ($languages as $language) {
$cms = CMS::getLinks($language['id_lang'], $id_cms);
$cmslink += array('name_' . $language['id_lang'] => $cms[0]['meta_title'], 'title_' . $language['id_lang'] => $cms[0]['meta_title'], 'url_' . $language['id_lang'] => $cms[0]['link']);
}
if (!$errors) {
$link = new MegaMenuClass();
$link->active = 1;
$link->parent = (int) Tools::getValue('parentid');
$link->parent_custom = Tools::getValue('custom') == 'true' ? 1 : 0;
$link->copyFromPost($cmslink);
$link->add();
$response = array('id' => $link->id, 'parent' => $link->parent, 'name' => $link->name[Context::getContext()->cookie->id_lang], 'msg' => 'Cms item added.');
echo Tools::jsonEncode($response);
} else {
$error = array('error' => $errors);
echo Tools::jsonEncode($error);
}
} elseif ($action == "position") {
$csvAll = explode(",", Tools::getValue('csv'));
$total = count($csvAll) - 1;
//.........这里部分代码省略.........
示例6: makeMobileMenu
private function makeMobileMenu($item)
{
$listofthisfrontmenu = '';
$id_lang = (int) $this->context->language->id;
$id_shop = (int) Shop::getContextShopID();
preg_match($this->pattern, $item, $values);
$id = (int) substr($item, strlen($values[1]), strlen($item));
switch (substr($item, 0, strlen($values[1]))) {
case 'CAT':
$this->_mmenu .= $this->getCatMobileOption((int) $id);
break;
case 'PRD':
$selected = $this->page_name == 'product' && Tools::getValue('id_product') == $id ? ' class="sfHover"' : '';
$product = new Product((int) $id, true, (int) $id_lang);
if (!is_null($product->id)) {
$this->_mmenu .= '<option value="' . $product->getLink() . '">' . $product->name . '</option>' . PHP_EOL;
}
break;
case 'CMS':
$selected = $this->page_name == 'cms' && Tools::getValue('id_cms') == $id ? '' : '';
$cms = CMS::getLinks((int) $id_lang, array($id));
if (count($cms)) {
$this->_mmenu .= '<option value="' . $cms[0]['link'] . '">' . $cms[0]['meta_title'] . '</option>' . PHP_EOL;
}
break;
case 'CMS_CAT':
$category = new CMSCategory((int) $id, (int) $id_lang);
if (count($category)) {
$this->_mmenu .= '<option value="' . $category->getLink() . '"><span class="errow"></span><span>' . $category->name . '</option>';
$this->getCMSMenuItems($category->id);
}
break;
case 'MAN':
$selected = $this->page_name == 'manufacturer' && Tools::getValue('id_manufacturer') == $id ? ' class="sfHover"' : '';
$manufacturer = new Manufacturer((int) $id, (int) $id_lang);
if (!is_null($manufacturer->id)) {
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($manufacturer->name);
} else {
$manufacturer->link_rewrite = 0;
}
$link = new Link();
$this->_mmenu .= '<option value="' . htmlentities($link->getManufacturerLink((int) $id, $manufacturer->link_rewrite)) . '">' . $manufacturer->name . '</option>' . PHP_EOL;
}
break;
case 'SUP':
$selected = $this->page_name == 'supplier' && Tools::getValue('id_supplier') == $id ? ' class="sfHover"' : '';
$supplier = new Supplier((int) $id, (int) $id_lang);
if (!is_null($supplier->id)) {
$link = new Link();
$this->_mmenu .= '<option value="' . $link->getSupplierLink((int) $id, $supplier->link_rewrite) . '">' . $supplier->name . '</option>' . PHP_EOL;
}
break;
case 'LNK':
$link = TdMegaMenu::getCustomLinksByid((int) $id, (int) $id_lang, (int) $id_shop);
if (count($link)) {
if (!isset($link[0]['label']) || $link[0]['label'] == '') {
$default_language = Configuration::get('PS_LANG_DEFAULT');
$link = TdMegaMenu::getCustomLinksByid($link[0]['id_tdmegamenu'], (int) $default_language, (int) Shop::getContextShopID());
}
$listofthisfrontmenu .= '<option value="' . $link[0]['menu_link'] . '">' . $link[0]['menu_title'] . '</option>' . PHP_EOL;
if ($link[0]['custome_type'] == 'cus_html') {
$this->_mmenu .= html_entity_decode($link[0]['description']);
}
}
break;
case 'SHOP':
$selected = $this->page_name == 'index' && $this->context->shop->id == $id ? ' class="sfHover"' : '';
$shop = new Shop((int) $id);
if (Validate::isLoadedObject($shop)) {
$link = new Link();
$this->_mmenu .= '<option value="' . $shop->getBaseURL() . '">' . $shop->name . '</option>' . PHP_EOL;
}
break;
}
return $listofthisfrontmenu;
}
示例7: getCMSMenuItems
private function getCMSMenuItems($parent, $depth = 1, $id_lang = false)
{
$id_lang = $id_lang ? (int) $id_lang : (int) Context::getContext()->language->id;
if ($depth > 3) {
return;
}
$categories = $this->getCMSCategories(false, (int) $parent, (int) $id_lang);
$pages = $this->getCMSPages((int) $parent);
if (count($categories) || count($pages)) {
$this->_menuLink .= '<div class ="popup" style ="display:none">';
foreach ($pages as $page) {
$cms = new CMS($page['id_cms'], (int) $id_lang);
$links = $cms->getLinks((int) $id_lang, array((int) $cms->id));
$selected = $this->page_name == 'cms' && (int) Tools::getValue('id_cms') == $page['id_cms'] ? ' class="sfHoverForce"' : '';
$this->_menuLink .= '<div class ="block1"><div class="column col1"><div class="itemSubMenu level3"><a href="' . $links[0]['link'] . '">' . $cms->meta_title . '</a></div></div></div>' . PHP_EOL;
}
$this->_menuLink .= '</div></div>';
}
}
示例8: getCMSMenuItems
private function getCMSMenuItems(&$menu, $parent, $depth = 1, $id_lang = false)
{
$category_id = (int) Tools::getValue('id_cms_category', false);
$page_id = (int) Tools::getValue('id_cms', false);
$is_category = $this->page_name == 'cms' && $category_id;
$is_page = $this->page_name == 'cms' && $page_id;
$id_lang = $id_lang ? (int) $id_lang : (int) Context::getContext()->language->id;
$activeCategories = array();
if ($is_page) {
$parent_category = $this->getCmsParentCategory($page_id);
$activeCategories = $this->getActiveCMSMenuItemPath($parent_category, $id_lang);
} else {
if ($is_category) {
$activeCategories = $this->getActiveCMSMenuItemPath($category_id, $id_lang);
}
}
$categories = $this->getCMSCategories(false, (int) $parent, (int) $id_lang);
$pages = $this->getCMSPages((int) $parent);
if ((count($categories) || count($pages)) && ($this->_showAll !== 'one level' || $this->_showAllResponsive !== 'one level')) {
$pageMenu = '';
foreach ($pages as $page) {
$cms = new CMS($page['id_cms'], (int) $id_lang);
$links = $cms->getLinks((int) $id_lang, array((int) $cms->id));
$selected = $this->page_name == 'cms' && (int) Tools::getValue('id_cms') == $page['id_cms'] ? ' class="active"' : '';
$pageMenu .= $this->_subItemHead . '<li class="' . $this->_subItemClass . '">';
$pageMenu .= '<a href="' . $links[0]['link'] . '"' . $selected . '><span>' . $cms->meta_title . '</span></a>';
$pageMenu .= '</li>' . $this->_subItemTail;
}
$catMenu = '';
foreach ($categories as $category) {
$currentId = (int) $category['id_cms_category'];
$catSelect = '';
foreach ($activeCategories as $activeCategory) {
if ($currentId === (int) $activeCategory['id_cms_category']) {
$catSelect = ' class="active"';
}
}
$cat = new CMSCategory((int) $category['id_cms_category'], (int) $id_lang);
$catMenu .= $this->_subItemHead . '<li class="' . $this->_subItemClass . '">';
$catMenu .= '<a href="' . Tools::HtmlEntitiesUTF8($cat->getLink()) . '"' . $catSelect . '><span>' . $category['name'] . '</span></a>';
$this->getCMSMenuItems($catMenu, $category['id_cms_category'], (int) $depth + 1, $id_lang);
$catMenu .= '</li>' . $this->_subItemTail;
}
$menu .= $this->_subMenuHead . '<ul class="' . $this->_subMenuClass . (empty($catMenu) ? '' : ' active') . '">';
$menu .= $catMenu;
$menu .= $pageMenu;
$menu .= '</ul>' . $this->_subMenuTail;
}
}
示例9: makeMenu
private function makeMenu()
{
global $cookie, $page_name;
$curr_level = 1;
foreach ($this->getMenuItems() as $key => $item) {
extract($item);
if ($depth > $curr_level) {
$this->_menu .= '<ul>';
}
if ($depth == $curr_level && $key != 0) {
$this->_menu .= '</li>';
}
if ($depth < $curr_level) {
$this->_menu .= str_repeat('</li></ul>', $curr_level - $depth) . '</li>';
}
$curr_level = $depth;
switch ($type) {
case 'CAT':
$this->getCategory($id_ref, $cookie->id_lang);
break;
case 'PRD':
$selected = $page_name == 'product' && Tools::getValue('id_product') == $id_ref ? ' class="sfHover"' : '';
$product = new Product($id_ref, true, $cookie->id_lang);
if (!is_null($product->id)) {
$this->_menu .= '<li' . $selected . '><a href="' . $product->getLink() . '"><span>' . $product->name . '</span></a>' . PHP_EOL;
}
break;
case 'CCS':
$selected = $page_name == 'cms' && Tools::getValue('id_cms_category') == $id_ref ? ' class="sfHover"' : '';
$_this_cat = new CMSCategory($id_ref, $cookie->id_lang);
$link = new Link();
$this->_menu .= '<li' . $selected . '><a href="' . $link->getCMSCategoryLink($_this_cat->id, $_this_cat->link_rewrite) . '"><span>' . htmlentities($_this_cat->name) . '
</span></a>' . PHP_EOL;
break;
case 'CMS':
$selected = $page_name == 'cms' && Tools::getValue('id_cms') == $id_ref ? ' class="sfHover"' : '';
$cms = CMS::getLinks($cookie->id_lang, array($id_ref));
if (count($cms)) {
$this->_menu .= '<li' . $selected . '><a href="' . $cms[0]['link'] . '"><span>' . htmlentities($cms[0]['meta_title']) . '</span></a>' . PHP_EOL;
}
break;
case 'MAN':
$selected = $page_name == 'manufacturer' && Tools::getValue('id_manufacturer') == $id_ref ? ' class="sfHover"' : '';
$manufacturer = new Manufacturer($id_ref, $cookie->id_lang);
if (!is_null($manufacturer->id)) {
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($manufacturer->name, false);
} else {
$manufacturer->link_rewrite = 0;
}
$link = new Link();
$this->_menu .= '<li' . $selected . '><a href="' . $link->getManufacturerLink($id_ref, $manufacturer->link_rewrite) . '">' . $manufacturer->name . '</a>' . PHP_EOL;
}
break;
case 'SUP':
$selected = $page_name == 'supplier' && Tools::getValue('id_supplier') == $id_ref ? ' class="sfHover"' : '';
$supplier = new Supplier($id_ref, $cookie->id_lang);
if (!is_null($supplier->id)) {
$link = new Link();
$this->_menu .= '<li' . $selected . '><a href="' . $link->getSupplierLink($id_ref, $supplier->link_rewrite) . '"><span>' . $supplier->name . '</span></a>' . PHP_EOL;
}
break;
case 'LNK':
$link = WPMenuTopLinks::get($id_ref, $cookie->id_lang);
if (count($link)) {
$this->_menu .= '<li><a href="' . $link[0]['link'] . '"' . ($link[0]['new_window'] ? ' target="_blank"' : '') . '><span>' . $link[0]['label'] . '</span></a>' . PHP_EOL;
}
break;
}
}
$this->_menu .= str_repeat('</li></ul>', $curr_level - 1) . '</li>';
}
示例10: strip_tags
$ret = '<li>' . "\n";
$ret .= '<a href="' . $node['link'] . '" title="' . strip_tags($node['desc']) . '">' . $node['name'] . '</a>' . "\n";
if (!empty($node['children'])) {
$ret .= '<ul>' . "\n";
foreach ($node['children'] as $child) {
$ret .= constructTreeNode($child);
}
$ret .= '</ul>' . "\n";
}
$ret .= '</li>' . "\n";
return $ret;
}
$ulTree = '<div class="tree-top">' . $categTree['name'] . '</div>' . "\n";
$ulTree .= '<ul class="tree">' . "\n";
foreach ($categTree['children'] as $child) {
$ulTree .= constructTreeNode($child);
}
$ulTree .= '</ul>' . "\n";
$smarty->assign('categoryTree', $ulTree);
/* ELSE */
$smarty->assign('categoriesTree', $categTree);
/* /ONLY FOR THEME OLDER THAN v1.0 */
$cms = CMS::listCms(intval($cookie->id_lang));
$id_cms = array();
foreach ($cms as $row) {
$id_cms[] = intval($row['id_cms']);
}
$smarty->assign('cmslinks', CMS::getLinks(intval($cookie->id_lang), $id_cms));
$smarty->assign('voucherAllowed', intval(Configuration::get('PS_VOUCHERS')));
$smarty->display(_PS_THEME_DIR_ . 'sitemap.tpl');
include dirname(__FILE__) . '/footer.php';
示例11: getItemsForView
public static function getItemsForView($id_lang, $id_parent = 0)
{
if (self::isCached($id_lang)) {
return self::getCache($id_lang);
}
$results = Db::getInstance()->ExecuteS('
SELECT a.`id_menu`, a.`id_parent`, a.`id_item`, a.`type`, a.`level`, a.`ignore`, a.`logged`, a.`new_window`, a.`css`, b.`title`, b.`link`
FROM `' . _DB_PREFIX_ . 'menu` a
LEFT JOIN `' . _DB_PREFIX_ . 'menu_lang` b ON (a.`id_menu` = b.`id_menu` AND b.`id_lang` = "' . $id_lang . '")
WHERE a.`id_parent` = "' . $id_parent . '" AND a.`active` = 1
ORDER BY a.`position` ASC
');
foreach ($results as $k => $result) {
if (is_array($result) && count($result)) {
$childrens = self::getItemsForView($id_lang, $result['id_menu']);
} else {
$childrens = array();
}
// BEGIN - TITLE
$link = $result['link'];
if ($result['type'] == 'cms') {
$object = new CMS($result['id_item'], $id_lang);
$title = $object->meta_title;
$cms = CMS::getLinks($id_lang, array($result['id_item']));
if (count($cms)) {
$link = $cms[0]['link'];
} else {
$link = '#';
}
} else {
if ($result['type'] != 'link' && $result['type'] != 'manufacturers' && $result['type'] != 'suppliers') {
if ($result['type'] == 'product') {
$objectName = ucfirst($result['type']);
$object = new $objectName($result['id_item'], true, $id_lang);
} else {
$objectName = ucfirst($result['type']);
$object = new $objectName($result['id_item'], $id_lang);
}
$title = $object->name;
switch ($result['type']) {
case 'category':
$link = $object->getLink();
if (Configuration::get('MENU_CATEGORIES_NUM') == '2' && $result['id_item'] != '1') {
$results[$k]['numProducts'] = self::getNumProductsByCategory($result['id_item']);
}
$categories = self::getCategories($result['id_item'], $id_lang, explode(',', $result['ignore']), intval($result['level']));
if (isset($categories[0]) && isset($categories[0]['childrens'])) {
$childrens = array_merge($childrens, $categories[0]['childrens']);
}
break;
case 'product':
$link = $object->getLink();
break;
case 'manufacturer':
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($title, false);
} else {
$manufacturer->link_rewrite = 0;
}
$_link = new Link();
$link = $_link->getManufacturerLink($result['id_item'], $object->link_rewrite);
break;
case 'supplier':
$_link = new Link();
$link = $_link->getSupplierLink($result['id_item'], $object->link_rewrite);
break;
}
}
}
// Manufacturers
if ($result['type'] == 'manufacturers') {
$link = 'manufacturer.php';
$childrens = self::getManufacturers();
}
// Suppliers
if ($result['type'] == 'suppliers') {
$link = 'supplier.php';
$childrens = self::getSuppliers();
}
$results[$k]['link'] = $link;
if (trim($result['title']) == '') {
$results[$k]['title'] = $title;
}
if (count(explode('.', $results[$k]['title'])) > 1) {
$results[$k]['title'] = str_replace('.', '', strstr($results[$k]['title'], '.'));
}
$results[$k]['id'] = $result['id_item'];
unset($results[$k]['id_parent'], $results[$k]['id_item'], $results[$k]['level'], $results[$k]['ignore']);
// END - TITLE
$results[$k]['childrens'] = $childrens;
}
if ($id_parent == 0) {
self::setCache($results, $id_lang);
}
return $results;
}
示例12: getMenuCustomerLink
public function getMenuCustomerLink($lang_id = NULL)
{
$menu_items = $this->getMenuItems();
$id_lang = (int) $this->context->language->id;
$id_shop = (int) Shop::getContextShopID();
foreach ($menu_items as $item) {
if (!$item) {
continue;
}
preg_match($this->pattern, $item, $value);
$id = (int) substr($item, strlen($value[1]), strlen($item));
switch (substr($item, 0, strlen($value[1]))) {
case 'CAT':
$this->_menuLink .= $this->drawCustomMenuItem($id, 0, false, 0, $lang_id);
break;
case 'PRD':
$selected = $this->page_name == 'product' && Tools::getValue('id_product') == $id ? ' class="sfHover"' : '';
$product = new Product((int) $id, true, (int) $id_lang);
if (!is_null($product->id)) {
$this->_menuLink .= '<div id ="pt_menu_product" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($product->getLink()) . '"><span>' . $product->name . '</span></a></div></div>' . PHP_EOL;
}
break;
case 'CMS':
$selected = $this->page_name == 'cms' && Tools::getValue('id_cms') == $id ? ' class="sfHover"' : '';
$cms = CMS::getLinks((int) $id_lang, array($id));
if (count($cms)) {
$this->_menuLink .= '<div id ="pt_menu_cms" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($cms[0]['link']) . '"><span>' . $cms[0]['meta_title'] . '</span></a></div></div>' . PHP_EOL;
}
break;
case 'CMS_CAT':
$category = new CMSCategory((int) $id, (int) $id_lang);
if (Validate::isLoadedObject($category)) {
$this->_menuLink .= '<div id ="pt_menu_cms" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($category->getLink()) . '"><span>' . $category->name . '</span></a>';
}
$this->_menuLink .= '</div>' . PHP_EOL;
$this->_menuLink .= $this->getCMSMenuItems($category->id);
// Case to handle the option to show all Manufacturers
// Case to handle the option to show all Manufacturers
case 'ALLMAN':
$link = new Link();
$this->_menuLink .= '<div id ="pt_menu_allsub" class ="pt_menu"><div class="parentMenu" ><a href="' . $link->getPageLink('manufacturer') . '" ><span>' . $this->l('All manufacturers') . '</span></a></div>' . PHP_EOL;
$manufacturers = Manufacturer::getManufacturers();
$this->_menuLink .= '<div class ="popup" style ="display:none">';
foreach ($manufacturers as $key => $manufacturer) {
$this->_menuLink .= '<div class ="block1"><div class="column col1"><div class="itemSubMenu level3"><a href="' . $link->getManufacturerLink((int) $manufacturer['id_manufacturer'], $manufacturer['link_rewrite']) . '">' . $manufacturer['name'] . '</a></div></div></div>' . PHP_EOL;
}
$this->_menuLink .= '</div></div>';
break;
case 'MAN':
$selected = $this->page_name == 'manufacturer' && Tools::getValue('id_manufacturer') == $id ? ' class="sfHover"' : '';
$manufacturer = new Manufacturer((int) $id, (int) $id_lang);
if (!is_null($manufacturer->id)) {
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($manufacturer->name);
} else {
$manufacturer->link_rewrite = 0;
}
$link = new Link();
$this->_menuLink .= '<div id ="pt_menu_man" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($link->getManufacturerLink((int) $id, $manufacturer->link_rewrite)) . '"><span>' . $manufacturer->name . '</span></a></div></div>' . PHP_EOL;
}
break;
// Case to handle the option to show all Suppliers
// Case to handle the option to show all Suppliers
case 'ALLSUP':
$link = new Link();
$this->_menuLink .= '<div id ="pt_menu_allsub" class ="pt_menu"><div class="parentMenu" ><a href="' . $link->getPageLink('supplier') . '" ><span>' . $this->l('All suppliers') . '</span></a></div>' . PHP_EOL;
$suppliers = Supplier::getSuppliers();
$this->_menuLink .= '<div class ="popup" style ="display:none">';
foreach ($suppliers as $key => $supplier) {
$this->_menuLink .= '<div class ="block1"><div class="column col1"><div class="itemSubMenu level3"><a href="' . $link->getSupplierLink((int) $supplier['id_supplier'], $supplier['link_rewrite']) . '">' . $supplier['name'] . '</a></div></div></div>' . PHP_EOL;
}
$this->_menuLink .= '</div></div>';
break;
case 'SUP':
$selected = $this->page_name == 'supplier' && Tools::getValue('id_supplier') == $id ? ' class="sfHover"' : '';
$supplier = new Supplier((int) $id, (int) $id_lang);
if (!is_null($supplier->id)) {
$link = new Link();
$this->_menuLink .= '<div id ="pt_menu_sub" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($link->getSupplierLink((int) $id, $supplier->link_rewrite)) . '"><span>' . $supplier->name . '</span></a></div></div>' . PHP_EOL;
}
break;
case 'SHOP':
$selected = $this->page_name == 'index' && $this->context->shop->id == $id ? ' class="sfHover"' : '';
$shop = new Shop((int) $id);
if (Validate::isLoadedObject($shop)) {
$link = new Link();
$this->_menuLink .= '<div id ="pt_menu_sub" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($shop->getBaseURL()) . '"><span>' . $supplier->name . '</span></a></div></div>' . PHP_EOL;
}
break;
case 'LNK':
$link = VegaTopLinks::get((int) $id, (int) $id_lang, (int) $id_shop);
if (count($link)) {
if (!isset($link[0]['label']) || $link[0]['label'] == '') {
$default_language = Configuration::get('PS_LANG_DEFAULT');
$link = VegaTopLinks::get($link[0]['id_linksvegatop'], $default_language, (int) Shop::getContextShopID());
}
$this->_menuLink .= '<div id ="pt_ver_menu_link" class ="pt_menu"><div class="parentMenu" ><a href="' . Tools::HtmlEntitiesUTF8($link[0]['link']) . '"' . ($link[0]['new_window'] ? ' target="_blank"' : '') . '><span>' . $link[0]['label'] . '</a></span></div></div>' . PHP_EOL;
}
break;
}
//.........这里部分代码省略.........
示例13: getCMSMenuItems
private function getCMSMenuItems(&$menu, $parent, $depth = 1, $id_lang = false)
{
$id_lang = $id_lang ? (int) $id_lang : (int) Context::getContext()->language->id;
if ($depth > 3) {
return;
}
$categories = $this->getCMSCategories(false, (int) $parent, (int) $id_lang);
$pages = $this->getCMSPages((int) $parent);
if ((count($categories) || count($pages)) && ($this->_showAll !== 'one level' || $this->_showAllResponsive !== 'one level')) {
$menu .= $this->_subMenuHead . '<ul class="' . $this->_subMenuClass . '">';
foreach ($categories as $category) {
$menu .= $this->_subItemHead . '<li class="' . $this->_subItemClass . '">';
$menu .= '<a href="#"><span>' . $category['name'] . '</span></a>';
$this->getCMSMenuItems($menu, $category['id_cms_category'], (int) $depth + 1);
$menu .= '</li>' . $this->_subItemTail;
}
foreach ($pages as $page) {
$cms = new CMS($page['id_cms'], (int) $id_lang);
$links = $cms->getLinks((int) $id_lang, array((int) $cms->id));
$selected = $this->page_name == 'cms' && (int) Tools::getValue('id_cms') == $page['id_cms'] ? ' active' : '';
$menu .= $this->_subItemHead . '<li class="' . $this->_subItemClass . $selected . '">';
$menu .= '<a href="' . $links[0]['link'] . '"><span>' . $cms->meta_title . '</span></a>';
$menu .= '</li>' . $this->_subItemTail;
}
$menu .= '</ul>' . $this->_subMenuTail;
}
}
示例14: makeMenu
protected function makeMenu()
{
$menu_items = $this->getMenuItems();
$id_lang = (int)$this->context->language->id;
$id_shop = (int)Shop::getContextShopID();
$iteration = 1;
foreach ($menu_items as $item) {
if (!$item) {
continue;
}
preg_match($this->pattern, $item, $value);
$id = (int)substr($item, strlen($value[1]), strlen($item));
switch (substr($item, 0, strlen($value[1]))) {
case 'CAT':
$this->_menu .= $this->generateCategoriesMenu(Category::getNestedCategories($id, $id_lang, false, $this->user_groups), 0, $iteration);
$iteration++;
break;
case 'PRD':
$selected = ($this->page_name == 'product' && (Tools::getValue('id_product') == $id)) ? ' class="sfHover"' : '';
$product = new Product((int)$id, true, (int)$id_lang);
if (!is_null($product->id)) {
$this->_menu .= '<li'.$selected.'><a href="'.Tools::HtmlEntitiesUTF8($product->getLink()).'" title="'.$product->name.'">'.$product->name.'</a></li>'.PHP_EOL;
}
break;
case 'CMS':
$selected = ($this->page_name == 'cms' && (Tools::getValue('id_cms') == $id)) ? ' class="sfHover"' : '';
$cms = CMS::getLinks((int)$id_lang, array($id));
if (count($cms)) {
$this->_menu .= '<li'.$selected.'><a href="'.Tools::HtmlEntitiesUTF8($cms[0]['link']).'" title="'.Tools::safeOutput($cms[0]['meta_title']).'">'.Tools::safeOutput($cms[0]['meta_title']).'</a></li>'.PHP_EOL;
}
break;
case 'CMS_CAT':
$category = new CMSCategory((int)$id, (int)$id_lang);
if (count($category)) {
$this->_menu .= '<li><a href="'.Tools::HtmlEntitiesUTF8($category->getLink()).'" title="'.$category->name.'">'.$category->name.'</a>';
$this->getCMSMenuItems($category->id);
$this->_menu .= '</li>'.PHP_EOL;
}
break;
// Case to handle the option to show all Manufacturers
case 'ALLMAN':
$link = new Link;
$this->_menu .= '<li><a href="'.$link->getPageLink('manufacturer').'" title="'.$this->l('All manufacturers').'">'.$this->l('All manufacturers').'</a><ul>'.PHP_EOL;
$manufacturers = Manufacturer::getManufacturers();
foreach ($manufacturers as $key => $manufacturer) {
$this->_menu .= '<li><a href="'.$link->getManufacturerLink((int)$manufacturer['id_manufacturer'], $manufacturer['link_rewrite']).'" title="'.Tools::safeOutput($manufacturer['name']).'">'.Tools::safeOutput($manufacturer['name']).'</a></li>'.PHP_EOL;
}
$this->_menu .= '</ul>';
break;
case 'MAN':
$selected = ($this->page_name == 'manufacturer' && (Tools::getValue('id_manufacturer') == $id)) ? ' class="sfHover"' : '';
$manufacturer = new Manufacturer((int)$id, (int)$id_lang);
if (!is_null($manufacturer->id)) {
if (intval(Configuration::get('PS_REWRITING_SETTINGS'))) {
$manufacturer->link_rewrite = Tools::link_rewrite($manufacturer->name);
} else {
$manufacturer->link_rewrite = 0;
}
$link = new Link;
$this->_menu .= '<li'.$selected.'><a href="'.Tools::HtmlEntitiesUTF8($link->getManufacturerLink((int)$id, $manufacturer->link_rewrite)).'" title="'.Tools::safeOutput($manufacturer->name).'">'.Tools::safeOutput($manufacturer->name).'</a></li>'.PHP_EOL;
}
break;
// Case to handle the option to show all Suppliers
case 'ALLSUP':
$link = new Link;
$this->_menu .= '<li><a href="'.$link->getPageLink('supplier').'" title="'.$this->l('All suppliers').'">'.$this->l('All suppliers').'</a><ul>'.PHP_EOL;
$suppliers = Supplier::getSuppliers();
foreach ($suppliers as $key => $supplier) {
$this->_menu .= '<li><a href="'.$link->getSupplierLink((int)$supplier['id_supplier'], $supplier['link_rewrite']).'" title="'.Tools::safeOutput($supplier['name']).'">'.Tools::safeOutput($supplier['name']).'</a></li>'.PHP_EOL;
}
$this->_menu .= '</ul>';
break;
case 'SUP':
$selected = ($this->page_name == 'supplier' && (Tools::getValue('id_supplier') == $id)) ? ' class="sfHover"' : '';
$supplier = new Supplier((int)$id, (int)$id_lang);
if (!is_null($supplier->id)) {
$link = new Link;
$this->_menu .= '<li'.$selected.'><a href="'.Tools::HtmlEntitiesUTF8($link->getSupplierLink((int)$id, $supplier->link_rewrite)).'" title="'.$supplier->name.'">'.$supplier->name.'</a></li>'.PHP_EOL;
}
break;
case 'SHOP':
$selected = ($this->page_name == 'index' && ($this->context->shop->id == $id)) ? ' class="sfHover"' : '';
$shop = new Shop((int)$id);
if (Validate::isLoadedObject($shop)) {
$link = new Link;
$this->_menu .= '<li'.$selected.'><a href="'.Tools::HtmlEntitiesUTF8($shop->getBaseURL()).'" title="'.$shop->name.'">'.$shop->name.'</a></li>'.PHP_EOL;
}
break;
case 'LNK':
$link = MenuTopLinks::get((int)$id, (int)$id_lang, (int)$id_shop);
//.........这里部分代码省略.........
示例15: getCMSMenuItems
protected function getCMSMenuItems($parent, $depth = 1, $id_lang = false)
{
$id_lang = $id_lang ? (int) $id_lang : (int) Context::getContext()->language->id;
if ($depth > 3) {
return;
}
$categories = $this->getCMSCategories(false, (int) $parent, (int) $id_lang);
$pages = $this->getCMSPages((int) $parent);
if (count($categories) || count($pages)) {
$this->_menu .= '<ul>';
foreach ($categories as $category) {
$cat = new CMSCategory((int) $category['id_cms_category'], (int) $id_lang);
$this->_menu .= '<li>';
$this->_menu .= '<a href="' . Tools::HtmlEntitiesUTF8($cat->getLink()) . '">' . $category['name'] . '</a>';
$this->getCMSMenuItems($category['id_cms_category'], (int) $depth + 1);
$this->_menu .= '</li>';
}
foreach ($pages as $page) {
$cms = new CMS($page['id_cms'], (int) $id_lang);
$links = $cms->getLinks((int) $id_lang, array((int) $cms->id));
$selected = $this->page_name == 'cms' && (int) Tools::getValue('id_cms') == $page['id_cms'] ? ' class="sfHoverForce"' : '';
$this->_menu .= '<li ' . $selected . '>';
$this->_menu .= '<a href="' . $links[0]['link'] . '">' . $cms->meta_title . '</a>';
$this->_menu .= '</li>';
}
$this->_menu .= '</ul>';
}
}