Removed search feature, already handled in own module

This commit is contained in:
djfm
2015-09-11 10:13:20 +02:00
parent c4f5919c0a
commit 4a7db33427
+46 -175
View File
@@ -93,7 +93,7 @@ class Blocktopmenu extends Module implements WidgetInterface
$this->clearMenuCache();
if ($delete_params) {
if (!$this->installDb() || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_ITEMS', 'CAT3,CAT26') || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_SEARCH', '1')) {
if (!$this->installDb() || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_ITEMS', 'CAT3,CAT26')) {
return false;
}
}
@@ -130,7 +130,7 @@ class Blocktopmenu extends Module implements WidgetInterface
$this->clearMenuCache();
if ($delete_params) {
if (!$this->uninstallDB() || !Configuration::deleteByName('MOD_BLOCKTOPMENU_ITEMS') || !Configuration::deleteByName('MOD_BLOCKTOPMENU_SEARCH')) {
if (!$this->uninstallDB() || !Configuration::deleteByName('MOD_BLOCKTOPMENU_ITEMS')) {
return false;
}
}
@@ -190,8 +190,6 @@ class Blocktopmenu extends Module implements WidgetInterface
}
}
$updated &= Configuration::updateValue('MOD_BLOCKTOPMENU_SEARCH', (bool)Tools::getValue('search'), false, (int)$shop_group_id, (int)$shop_id);
if (!$updated) {
$shop = new Shop($shop_id);
$errors_update_shops[] = $shop->name;
@@ -463,54 +461,22 @@ class Blocktopmenu extends Module implements WidgetInterface
return $html.'</select>';
}
protected function getCMSMenuItems($id, $id_lang)
protected function makeNode(array $fields)
{
$nodes = [];
$defaults = [
'type' => '',
'label' => '',
'url' => '',
'children' => [],
'open_in_new_window' => false,
'image_urls' => []
];
$categories = $this->getCMSCategories(false, (int)$id, (int)$id_lang);
ddd($categories);
return $nodes;
/*
$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>';
}*/
return array_merge($defaults, $fields);
}
protected function generateCMSCategoriesMenu($id_cms_category, $id_lang)
{
$selected = false; // FIXME
$category = new CMSCategory($id_cms_category, $id_lang);
$rawSubCategories = $this->getCMSCategories(false, $id_cms_category, $id_lang);
@@ -521,8 +487,7 @@ class Blocktopmenu extends Module implements WidgetInterface
}, $rawSubCategories);
$subPages = array_map(function ($page) use ($id_lang) {
$selected = false; // FIXME
return [
return $this->makeNode([
'type' => 'cms-page',
'label' => $page['meta_title'],
'url' => $this->context->link->getCMSLink(
@@ -530,28 +495,26 @@ class Blocktopmenu extends Module implements WidgetInterface
null, null,
$id_lang
),
'current' => $selected
];
]);
}, $rawSubPages);
$node = [
$node = $this->makeNode([
'type' => 'cms-category',
'label' => $category->name,
'url' => $category->getLink(),
'current' => $selected,
'children' => array_merge($subCategories, $subPages)
];
]);
return $node;
}
protected function makeMenu()
{
$root_node = [
$root_node = $this->makeNode([
'label' => null,
'type' => 'root',
'children' => []
];
]);
$menu_items = $this->getMenuItems();
$id_lang = (int)$this->context->language->id;
@@ -574,28 +537,24 @@ class Blocktopmenu extends Module implements WidgetInterface
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 ($product->id) {
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'product',
'label' => $product->name,
'url' => $product->getLink(),
'current' => $selected
];
]);
}
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)) {
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'cms-page',
'label' => $cms[0]['meta_title'],
'url' => $cms[0]['link'],
'current' => $selected
];
'url' => $cms[0]['link']
]);
}
break;
@@ -605,102 +564,86 @@ class Blocktopmenu extends Module implements WidgetInterface
// Case to handle the option to show all Manufacturers
case 'ALLMAN':
$current = false; // FIXME
$children = array_map(function ($manufacturer) use ($id_lang) {
$current = false; // FIXME
return [
return $this->makeNode([
'type' => 'manufacturer',
'label' => $manufacturer['name'],
'url' => $this->context->link->getManufacturerLink(
new Manufacturer($manufacturer['id_manufacturer'], $id_lang),
null,
$id_lang
),
'current' => false
];
)
]);
}, Manufacturer::getManufacturers());
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'manufacturers',
'label' => $this->l('All manufacturers'),
'url' => $this->context->link->getPageLink('manufacturer'),
'current' => $current,
'children' => $children
];
]);
break;
case 'MAN':
$current = ($this->page_name == 'manufacturer' && (Tools::getValue('id_manufacturer') == $id));
$manufacturer = new Manufacturer($id, $id_lang);
if ($manufacturer->id) {
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'manufacturer',
'label' => $manufacturer->name,
'url' => $this->context->link->getManufacturerLink(
$manufacturer,
null,
$id_lang
),
'current' => $current
];
)
]);
}
break;
// Case to handle the option to show all Suppliers
case 'ALLSUP':
$current = false; // FIXME
$children = array_map(function ($supplier) use ($id_lang) {
$current = false; // FIXME
return [
return $this->makeNode([
'type' => 'supplier',
'label' => $supplier['name'],
'url' => $this->context->link->getManufacturerLink(
new Manufacturer($supplier['id_manufacturer'], $id_lang),
new Supplier($supplier['id_supplier'], $id_lang),
null,
$id_lang
),
'current' => false
];
)
]);
}, Supplier::getSuppliers());
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'suppliers',
'label' => $this->l('All suppliers'),
'url' => $this->context->link->getPageLink('supplier'),
'current' => $current,
'children' => $children
];
]);
break;
case 'SUP':
$current = ($this->page_name == 'supplier' && (Tools::getValue('id_supplier') == $id));
$supplier = new Supplier($id, $id_lang);
if ($supplier->id) {
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'supplier',
'label' => $supplier->name,
'url' => $this->context->link->getSupplierLink(
$supplier,
null,
$id_lang
),
'current' => $current
];
)
]);
}
break;
case 'SHOP':
$current = ($this->page_name == 'index' && ($this->context->shop->id == $id));
$shop = new Shop((int)$id);
if (Validate::isLoadedObject($shop)) {
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'shop',
'label' => $shop->name,
'url' => $shop->getBaseURL(),
'current' => $current
];
]);
}
break;
case 'LNK':
@@ -710,13 +653,12 @@ class Blocktopmenu extends Module implements WidgetInterface
$default_language = Configuration::get('PS_LANG_DEFAULT');
$link = MenuTopLinks::get($link[0]['id_linksmenutop'], $default_language, (int)Shop::getContextShopID());
}
$root_node['children'][] = [
$root_node['children'][] = $this->makeNode([
'type' => 'link',
'label' => $link[0]['label'],
'url' => $link[0]['link'],
'current' => false,
'open_in_new_window' => $link[0]['new_window']
];
]);
}
break;
}
@@ -1037,24 +979,6 @@ class Blocktopmenu extends Module implements WidgetInterface
'label' => '',
'name' => 'link',
'lang' => true,
),
array(
'type' => 'switch',
'label' => $this->l('Search bar'),
'name' => 'search',
'is_bool' => true,
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => 0,
'label' => $this->l('Disabled')
)
),
)
),
'submit' => array(
@@ -1072,26 +996,6 @@ class Blocktopmenu extends Module implements WidgetInterface
),
'info' => '<div class="alert alert-warning">'.
$this->l('All active products combinations quantities will be changed').'</div>',
'input' => array(
array(
'type' => 'switch',
'label' => $this->l('Search bar'),
'name' => 'search',
'is_bool' => true,
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => 0,
'label' => $this->l('Disabled')
)
),
)
),
'submit' => array(
'name' => 'submitBlocktopmenu',
'title' => $this->l('Save')
@@ -1113,7 +1017,6 @@ class Blocktopmenu extends Module implements WidgetInterface
'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
$helper->token = Tools::getAdminTokenLite('AdminModules');
$helper->tpl_vars = array(
'fields_value' => $this->getConfigFieldsValues(),
'languages' => $this->context->controller->getLanguages(),
'id_language' => $this->context->language->id,
'choices' => $this->renderChoicesSelect(),
@@ -1340,21 +1243,6 @@ class Blocktopmenu extends Module implements WidgetInterface
return Cache::retrieve($cache_id);
}
public function getConfigFieldsValues()
{
$shops = Shop::getContextListShopID();
$is_search_on = true;
foreach ($shops as $shop_id) {
$shop_group_id = Shop::getGroupFromShop($shop_id);
$is_search_on &= (bool)Configuration::get('MOD_BLOCKTOPMENU_SEARCH', null, $shop_group_id, $shop_id);
}
return array(
'search' => (int)$is_search_on
);
}
public function getAddLinkFieldsValues()
{
$links_label_edit = '';
@@ -1446,29 +1334,12 @@ class Blocktopmenu extends Module implements WidgetInterface
public function getWidgetVariables($hookName, array $configuration)
{
ddd($this->makeMenu());
return $this->makeMenu();
}
public function renderWidget($hookName, array $configuration)
{
$variables = $this->getWidgetVariables($hookName, $configuration);
/*$this->user_groups = ($this->context->customer->isLogged() ?
$this->context->customer->getGroups() : array(Configuration::get('PS_UNIDENTIFIED_GROUP')));
$this->page_name = Dispatcher::getInstance()->getController();
if (!$this->isCached('blocktopmenu.tpl', $this->getCacheId())) {
if (Tools::isEmpty($this->_menu)) {
$this->makeMenu();
}
$shop_id = (int)$this->context->shop->id;
$shop_group_id = Shop::getGroupFromShop($shop_id);
$this->smarty->assign('MENU_SEARCH', Configuration::get('MOD_BLOCKTOPMENU_SEARCH', null, $shop_group_id, $shop_id));
$this->smarty->assign('MENU', $this->_menu);
$this->smarty->assign('this_path', $this->_path);
}
$html = $this->display(__FILE__, 'blocktopmenu.tpl', $this->getCacheId());
return $html;*/
ddd($variables);
}
}