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

Категории, поставить на плагин accordion jQuery [Решено]


iPartizan

Recommended Posts

Причины все еще не ясны?

:) а они там есть? Я же просил не писать ерунды, а аргументировать. Если под причиной подразумевается "нарушение лицензии" - то это просто фраза. Или все продаваемые модули и дополнения лицензированы? :)

Нарушением авторских прав является перепродажа чужой интеллектуальной собственности, либо бесплатная раздача. А при чём здесь покупка вскладчину? Ещё раз повторюсь: человек продаёт что-то для того, чтобы получить деньги. Какая разница, сколько человек скинутся?

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


Ну так напиши бабушке или любому другому администратору - тебе все объяснят. К чему эти возмущения? Когда ты регистрировался на форуме, то по умолчанию соглашался с этими правилами, а если твоя религия против чего-то в этом списке, то стоило подумать об этом раньше.

з.ы.: надеюсь наш оффтоп удалят

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


Не можешь аргументировать - зачем ерунду всякую пишешь? Вопрос не к тебе относился, а к людям, которые могут дать аргументированный ответ. Вообще не понимаю, чего ты встрял со своими не несущими смысловой нагрузки постами.

И где ты там увидел возмущения? Я просто высказал своё мнение и попросил аргументированно объяснить, если я неправ. К чему эти твои пустые ссылки на Правила? Там есть аргументы? Не умеешь аргументированно ответить на вопрос - зачем вообще писать? Лишь бы что-то написать?

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


Зачем столько агрессии?))

Неправильно было бы если я этот модуль куплю, а затем буду перепродавать по более дешевой цене всем желающим. А вот скинуться и купить - другое дело.

Да, это не этично по отношению к разработчикам, но не уверена что это нарушает законодательство.

Если в лицензии сказано что одна покупка модуля дает право реализовать его только в одном магазине, то да, это нарушение. (Тогда если я его куплю и захочу поставить на несколько своих магазинов, то мне получается нужно будет платить за модуль несколько раз? .. )

Лицензию не читала, может так и есть, но если нет, тогда не вижу в совместной покупке ничего зазорного.

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


все верно говорите, nanita.

я лишь сказал, что такой метод покупки противоречит правилам данного конкретного форума (однако если вы все-таки решите купить какие-либо модули вскладчину, то я думаю никто вас останавливать не будет) ;)

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


Продажа цыфровых товаров (скрипты, движки) строится совсем не так, как привычно нам. Если ты покупаеш вещь в магазине, то она метериальна, и пользоваться несколько человек одновременно ей не сможе. А вот скриптом - запросто. А фишка тут в том, что если человек купил для себя за 20 баксов модуль, то он будет дорожыть им, не выложыт в паблик, и не даст за просто так другу. Ну а если он купил его за 5 баксов, то он не будет для него дорог. Он даст другу, друг даст ещо одному. И те люди которые ничего за него не заплатили, а им просто друг дал запросто выкладывают его в паблик.

А уж поверте, если твой скрипт попадает в паблик, то продажы падают минимум как в 10 раз.

Вот и продавай потом ....

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


Продажа цыфровых товаров (скрипты, движки) строится совсем не так, как привычно нам. Если ты покупаеш вещь в магазине, то она метериальна, и пользоваться несколько человек одновременно ей не сможе. А вот скриптом - запросто. А фишка тут в том, что если человек купил для себя за 20 баксов модуль, то он будет дорожыть им, не выложыт в паблик, и не даст за просто так другу. Ну а если он купил его за 5 баксов, то он не будет для него дорог. Он даст другу, друг даст ещо одному. И те люди которые ничего за него не заплатили, а им просто друг дал запросто выкладывают его в паблик.

А уж поверте, если твой скрипт попадает в паблик, то продажы падают минимум как в 10 раз.

Вот и продавай потом ....

хм, такая интересная логика...

а если я куплю информационный продукт за 20 долларов, еще два человека - другие модули и также не за 5 долларов, и мы тем всем просто обменяемся (без последующей шары в интернет)?

Тогда получиться три модуля по цене одного, но они будут только у нас и никуда дальше не пойдут (по крайней мере я не собираюсь раздавать)

Почему совместная покупка должна обязательно влекти за собой "паблик в интернет"?

И еще одно, их 20 денежных единиц - это наших 160 денежных единиц. Если бы модуль стоил 20 гривен я бы его без всяких раздумий купила.

П.с.

Ну а если он купил его за 5 баксов, то он не будет для него дорог.

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


А фишка тут в том, что если человек купил для себя за 20 баксов модуль, то он будет дорожыть им, не выложыт в паблик, и не даст за просто так другу. Ну а если он купил его за 5 баксов, то он не будет для него дорог. Он даст другу, друг даст ещо одному. И те люди которые ничего за него не заплатили, а им просто друг дал запросто выкладывают его в паблик.

А уж поверте, если твой скрипт попадает в паблик, то продажы падают минимум как в 10 раз.

Определённая логика в Ваших словах, конечно, есть. Но... для одного человека 5 баксов - не деньги, для другого 20 баксов - не деньги, для третьего и 100 - не деньги. nanita правильно говорит, для людей из развитых стран 20 баксов - как для Украины 20 гривен (для России, соответственно, рублей 70.) Поэтому, не думаю, что цена является гарантией невыкладывания скрипта в паблик. Да и какой смысл туда выкладывать? Что это выкладывающему даёт? Чисто подгадить продавцу? Ну, если кто-то захочет подгадить, то его 20 баксов не остановят. :)

И ещё. На этом форуме в дополнениях есть платные модули по 5 баксов. Давно. А в паблике их до сих пор нет.

Хотя, повторюсь, доля истины в Ваших словах таки есть. Но, если посмотреть с точки зрения продавца - думаю ему будет гораздо интереснее продать продукт группе, чем не продать никому. Кстати, можно спросить у продавцов, которые продают здесь товар. Если они, конечно, захотят честно ответить. :)

Мне кажется, платных модулей Опенкарта нет в паблике по причине небольшой его популярности. Т.е., они, мягко говоря, никому не нужны... :) Вернее, нужны небольшой группе людей. :)

В любом случае, спасибо за Ваше мнение.

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


Я вот, например, на плати.ру продаю три скрипта, которые заказывал для себя (выложил не мало денег). Их у меня не так часто покупают, но все же я бы не хотел йго продать группе людей.

Но сам люблю халяву, и если есть такая возможнось скидываюсь с знакомымы и покупаем чтото нужное)) :rolleyes:

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


  • 2 weeks later...

Люди, кто-нибудь решил проблему с тем, чтобы при переходе в какую-либо категорию меню с этой категорией оставалось открытым?

Проблема решается с помощью использования cookies. У меня есть рабочий вариант, только времени не было доделать до конца. Там проблема в том, что при нажатии на ссылки вне категорий, например "Главная", "Корзина" и т.д. меню остается открытым.
Надіслати
Поділитися на інших сайтах

  • 2 months later...
  • 4 weeks later...

Выкладываю свой вариант Accordeon Menu

Сразу опишу недоработки:

1) Нормально отображает только до 2-го уровня вложенности

2) При переходе по ссылкам не относящимся к меню открытая категория не сворачивается.

Пример работы можно посмотреть По этой ссылке

MyCategory.zip

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

  • 2 weeks later...

Выкладываю свой вариант Accordeon Menu

Сразу опишу недоработки:

1) Нормально отображает только до 2-го уровня вложенности

2) При переходе по ссылкам не относящимся к меню открытая категория не сворачивается.

Пример работы можно посмотреть По этой ссылке

MyCategory.zip

Привет! Подскажите в чем проблема. Когда отключаю стандартное меню категорий, остается только "Мои категории", то выскакивает ошибка:

Fatal error: Call to a member function getCategories() on a non-object in V:\home\14.if.ua\www\catalog\controller\module\mycategory.php on line 39

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


Привет! Подскажите в чем проблема. Когда отключаю стандартное меню категорий, остается только "Мои категории", то выскакивает ошибка:

Fatal error: Call to a member function getCategories() on a non-object in V:\home\14.if.ua\www\catalog\controller\module\mycategory.php on line 39

Я менял стандартный модуль Category, сменил только конфликтующие переменные, видимо при отключении модуля пропадает часть переменных и выдает ошибку. На днях исправлю.

Проще немного изменить стандартный модуль Category.

Для этого делаем резервную копию файла catalog\controller\module\category.php (в случае если понадобится вернуть изменения)

затем в этом файле меняем строки:

~ 41 строчку

$output .= '<ul>';
меняем на
$output .= ($current_path == '') ? '<ul id="CategoryMenu">' : '<ul class="submenu">';
~ 51 строку
$output .= '<li>';
меняем на
$output .= '<li class="menuitem">';
находим строки:
$children = '';
			
			if ($category_id == $result['category_id']) {
				$children = $this->getCategories($result['category_id'], $new_path);
			}
			
			if ($this->category_id == $result['category_id']) {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '"><b>' . $result['name'] . '</b></a>';
			} else {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';
			}
меняем на:
$children = $this->getCategories($result['category_id'], $new_path);
			if ($this->category_id == $result['category_id']) {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . ' "  ><b>' . $result['name'] . '</b></a>';
			} else {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '" >' . $result['name'] . '</a>';
			}

В конечном итоге файл catalog\controller\module\category.php должен выглядеть примерно так:

<?php  
class ControllerModuleCategory extends Controller {
	protected $category_id = 0;
	protected $path = array();
	
	protected function index() {
		$this->language->load('module/category');
		
    	$this->data['heading_title'] = $this->language->get('heading_title');
		
		$this->load->model('catalog/category');
		$this->load->model('tool/seo_url');
		
		if (isset($this->request->get['path'])) {
			$this->path = explode('_', $this->request->get['path']);
			
			$this->category_id = end($this->path);
		}
		
		$this->data['category'] = $this->getCategories(0);
												
		$this->id = 'category';

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/category.tpl';
		} else {
			$this->template = 'default/template/module/category.tpl';
		}
		
		$this->render();
  	}
	
	protected function getCategories($parent_id, $current_path = '') {	
		$category_id = array_shift($this->path);
		
		$output = '';
		
		$results = $this->model_catalog_category->getCategories($parent_id);
		
		if ($results) { 			
			$output .= ($current_path == '') ? '<ul id="CategoryMenu">' : '<ul class="submenu">';
    	}
		
		foreach ($results as $result) {	
			if (!$current_path) {
				$new_path = $result['category_id'];
			} else {
				$new_path = $current_path . '_' . $result['category_id'];
			}
			
			$output .= '<li class="menuitem">';
			
			$children = $this->getCategories($result['category_id'], $new_path);
			if ($this->category_id == $result['category_id']) {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . ' "  ><b>' . $result['name'] . '</b></a>';
			} else {
				$output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '" >' . $result['name'] . '</a>';
			}			

			$output .= $children;
        	
			
        	$output .= '</li>'; 
		}
 
		if ($results) {
			$output .= '</ul>';
		}
		
		return $output;
	}		
}
?>

далее делаем резервную копию файла catalog\view\theme\default\template\module\category.tpl

в самый верх файла добавляем строки:

<script type="text/javascript" src="catalog/view/javascript/menu/jquery.cookie.js"></script>
<script type="text/javascript" src="catalog/view/javascript/menu/accordeon.menu.js"></script>
строку
<div class="box">
меняем на
<div id="mycategory" class="box">
Надіслати
Поділитися на інших сайтах

  • 2 months later...
  • 7 months later...

...

category.php - контроллер который будет строить меню категорий (брать в одном из ответов темы)

...

Вот собственно и всё. Если что не понятно или про что-то забыл спрашивайте=)

Добрый день. Я как раз ищу подобную реализацию, но у меня category.php выглядит совсем подругому и его замена приводит к смерти сайта.

У меня версия магазина opencart_v1.5.1.3.1

Файл catalogcontrollermodulecategory.php выглядит следующим образом:

<?php

class ControllerModuleCategory extends Controller {

protected function index() {

$this->language->load('module/category');

$this->data['heading_title'] = $this->language->get('heading_title');

if (isset($this->request->get['path'])) {

$parts = explode('_', (string)$this->request->get['path']);

} else {

$parts = array();

}

if (isset($parts[0])) {

$this->data['category_id'] = $parts[0];

} else {

$this->data['category_id'] = 0;

}

if (isset($parts[1])) {

$this->data['child_id'] = $parts[1];

} else {

$this->data['child_id'] = 0;

}

$this->load->model('catalog/category');

$this->load->model('catalog/product');

$this->data['categories'] = array();

$categories = $this->model_catalog_category->getCategories(0);

foreach ($categories as $category) {

$children_data = array();

$children = $this->model_catalog_category->getCategories($category['category_id']);

foreach ($children as $child) {

$data = array(

'filter_category_id' => $child['category_id'],

'filter_sub_category' => true

);

$product_total = $this->model_catalog_product->getTotalProducts($data);

$children_data[] = array(

'category_id' => $child['category_id'],

'name' => $child['name'] . ' (' . $product_total . ')',

'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])

);

}

$data = array(

'filter_category_id' => $category['category_id'],

'filter_sub_category' => true

);

$product_total = $this->model_catalog_product->getTotalProducts($data);

$this->data['categories'][] = array(

'category_id' => $category['category_id'],

'name' => $category['name'] . ' (' . $product_total . ')',

'children' => $children_data,

'href' => $this->url->link('product/category', 'path=' . $category['category_id'])

);

}

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/category.tpl')) {

$this->template = $this->config->get('config_template') . '/template/module/category.tpl';

} else {

$this->template = 'default/template/module/category.tpl';

}

$this->render();

}

}

?>

Я буду очень благодарен если вы подправите мне этот файл, что-бы аккардеон заработал. И дадите инструкции если необходимо делать коррективы других файлов (например tpl)

Кстати у меня уже подключена jquery-1.6.1.min.js (будет ли с ней работать?)

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


Уже решил эту проблемму, прикрутил подходящую jquery библиотеку. Причём получилось так, что категория в которой я нахожусь всегда остаётся открытой. Тоесть как раз то, что надо. Правил только tpl файлы

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


Firebug выдает ошибку:

jQuery is not defined

jQuery.fn.initMenu = function() {

при этом все работает как надо.

Знающие люди, пожауйста подскажите в чем может быть проблема?

Версия OCstore 1.5.2

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


  • 4 months later...

В общем уже не надо париться, еще в марте на оф. сайте появился БЕСПЛАТНЫЙ модуль который работает как надо. Вот ссылка http://www.opencart.com/index.php?route=extension/extension/info&extension_id=5333

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

  • 2 months later...

В общем уже не надо париться, еще в марте на оф. сайте появился БЕСПЛАТНЫЙ модуль который работает как надо. Вот ссылка http://www.opencart....tension_id=5333

А есть такое для 1.5.4.1 - бесплатное?

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

В общем уже не надо париться, еще в марте на оф. сайте появился БЕСПЛАТНЫЙ модуль который работает как надо. Вот ссылка http://www.opencart....tension_id=5333

Модуль не работает как надо! При выборе основной категории, в которой есть товары, страница не открывается. Открывается только вложенная категория (под категория).

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


Заинтересовался темой. Установил модуль от Dragon. Не надеюсь что кто-то ответит, но проблема только одна - модуль не работает при выключенном заводском. Сайт просто не доступен. Ошибка HTTP 500 (Internal Server Error)

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


  • 6 months later...

Заинтересовался темой. Установил модуль от Dragon. Не надеюсь что кто-то ответит, но проблема только одна - модуль не работает при выключенном заводском. Сайт просто не доступен. Ошибка HTTP 500 (Internal Server Error)

Давненько сюда не заглядывал =) Проблема возникает из-за того, что в моем примере использовались переменные, объявленные в родном модуле. Делал для себя и не парился на этот счет. Потом нашел нормальный рабочий вариант о котором писал выше и забросил эту тему. Зачем изобретать велосипед =) 

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

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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