Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Может кто подскажет по горизонтальному меню?


Recommended Posts

есть вот такой вот код меню

 
<div class="box">
  <div class="box-heading"><h3><?php echo $heading_title ?></h3></div>
  <div class="box-content">
    <div class="box-category"><?php echo $category_accordion_menu ?></div>
  </div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.expand-categ').click(function(e) {
e.preventDefault();
expandCategories($(this));
})
 
function expandCategories(categ) {
var categ_id = $(categ).attr('category');
var children = $('#children_' + categ_id);
var path = $(categ).attr('path');
if (!$(children).attr('loaded')) {
 
$.post('<?php echo str_replace('&', '&', $ajax_loader); ?>', { parent_id:categ_id, path:path }, function(data) {
$(children).attr('loaded', 1);
$(children).html(data);
$(children).find('.expand-categ').click(function(e) {
e.preventDefault();
expandCategories($(this));
})
})
}
else {
document.location.href = $(categ).attr('href');
}
}
 
});
</script>

 

у меня 2 вопроса как сделать что бы меню сразу было раскрыто то есть показывались категории второго уровня и как покрасить в разные цвета категории 1 уровня ,заранее благодарю :)

p/s извиняюсь во вертикальному .

Змінено користувачем Lesder
Надіслати
Поділитися на інших сайтах


К сожелению это не код меню код меню лежит в этой перемменой поэтому отследите его в контролере и вам нужно не в HTML для покраски а в CSS + выб силку сбрпосили ато по одному коду много не розбереш

Надіслати
Поділитися на інших сайтах

вот ещё 

<?php

class ControllerModuleCategory1000 extends Controller {
public $category_id = 0;
public $parent_id = 0;
public $path = array();
//---------------------------------------------------------------------------------------------------------------------------
public function index() {
$this->load->language('module/category1000');
  $data['heading_title'] = $this->language->get('heading_title');
$this->load->model('catalog/category');
 
  $data['ajax_loader'] = $this->url->link('module/category1000/ajax');
 
if (isset($this->request->get['path'])) {
$this->path = explode('_', $this->request->get['path']);
 
$this->category_id = end($this->path);
}
 
$data['category_accordion_menu'] = $this->loadCategories(0, '', $this->category_id);
 
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category1000.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/module/category1000.tpl', $data);
} else {
return $this->load->view('default/template/module/category1000.tpl', $data);
}
}
//---------------------------------------------------------------------------------------------------------------------------
public function loadCategories($parent_id, $current_path = '', $cid = '') {
//$path = explode('_', $current_path);
//$category_id = array_pop($this->path);
//$this->getCategoriesFromdb($category_id);
 
$results = $this->getCategoriesByParentId($parent_id);
 
$ret_string = '';
if ($results) { 
if ($parent_id == 0) {
$ret_string .= '<ul class="categories_1000">'; 
} else {
$ret_string .= '<ul id="children_' . $parent_id . '" loaded="1">'; 
}
}
 
foreach ($results as $result) {
if (!$current_path) {
$new_path = $result['category_id'];
} else {
$new_path = $current_path . '_' . $result['category_id'];
}
 
$ret_string .= '<li class="cid' . $result['category_id'] . '">';
 
$ajax = false;
if (in_array($result['category_id'], $this->path)) {
$children = $this->loadCategories($result['category_id'], $new_path, $cid);
}
elseif ($result['children']) {
$children =  '<ul id="children_'.$result['category_id'].'"></ul>';
$ajax = true;
}
else {
$children = '';
}
if ($cid == $result['category_id']) {
//if ($this->category_id == $result['category_id']) {
$classactive = 'active';
} else {
$classactive = '';
}
 
 
if ($children) {
$ret_string .= '<a class="havechild ' . $classactive . ' expand-categ" href="' . $this->url->link('product/category','path=' .  $new_path)  . '" category="'.$result['category_id'].'" path="'.$new_path.'">' . $result['name'] . '</a>';
} else { 
$ret_string .= '<a class="nochild ' . $classactive . '" href="' . $this->url->link('product/category','path=' .  $new_path)  . '">' . $result['name'] . '</a>';
}
 
        $ret_string .= $children.'</li>'; 
}
 
 
if ($results) $ret_string .= '</ul>'; 
return $ret_string;
}
//---------------------------------------------------------------------------------------------------------------------------
 
public function ajax() {
$parent_id = isset($this->request->post['parent_id']) ? $this->request->post['parent_id'] : '';
$current_path = isset($this->request->post['path']) ? $this->request->post['path'] : '';
 
$results = $this->getCategoriesByParentId($parent_id);
$ = '';
 
foreach ($results as $result) {
if (!$current_path) {
$new_path = $result['category_id'];
} else {
$new_path = $current_path . '_' . $result['category_id'];
}
 
$ret_string .= '<li class="cid' . $result['category_id'] . '" category="'.$result['category_id'].'">';
 
if ($result['children']) {
$children =  '<ul id="children_'.$result['category_id'].'"></ul>';
}
else {
$children = '';
}
 
if ($children) { 
$ret_string .= '<a class="havechild expand-categ" href="' . $this->url->link('product/category','path=' .  $new_path)  . '" category="'.$result['category_id'].'" path="'.$new_path.'">' . '+ ' . $result['name'] . '</a>';
} else { 
$ret_string .= '<a class="nochild" href="' . $this->url->link('product/category','path=' .  $new_path)  . '">' . '- ' . $result['name'] . '</a>';
}
 
        $ret_string .= $children.'</li>';
}
 
 
$this->response->setOutput($ret_string);
}
//---------------------------------------------------------------------------------------------------------------------------
 
public function getCategoriesByParentId($parent_id = 0) {
$query = $this->db->query("SELECT *, (SELECT COUNT(parent_id) FROM " . DB_PREFIX . "category WHERE parent_id = c.category_id AND status = '1' ) AS children FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND c.status = '1' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY c.sort_order, cd.name");
 
return $query->rows;
}
}
?>
 
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.