Перейти к содержанию
raspe

Вопрос по контроллеру категорий

Рекомендуемые сообщения

OpenCart версии 1.5.5.1.1. Разбираюсь с контроллером категорий товаров для админки. В контроллере есть такой код получения категорий:

protected function getForm() 
{
	...
	$categories = $this->model_catalog_category->getAllCategories();
	$this->data['categories'] = $this->getAllCategories($categories);

	if (isset($category_info)) {
		unset($this->data['categories'][$category_info['category_id']]);
	}

    ...

	// Categories
	$this->load->model('catalog/category');
	$this->data['categories'] = $this->model_catalog_category->getCategories(0);
}

Видно, что сначала категории получаются методом getAllCategories (в методе идет формирование полных путей к категориям с разделителями), потом из перечня полученных категорий удаляется редактируемая категория (чтобы нельзя было выбрать в качестве родительской саму себя). Но вот ниже снова идет код получения категорий уже из модели и сама категория не удаляется. Что это? Почему два раза получают список категорий? Остаток кода от прежних версий OpenCart?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

OpenCart разве есть версии 1.5.5.1.1? Есть ocstore 1.5.5.1.1

У меня сейчас ocstore 1.5.5.1.1 по рукой нету, есть 1.5.5.1.2, смотрю там (admin/controler/catalog/category.php) в getForm() никакого дубля  нету. 
Возможно, действительно кто-то случайно оставил кусок старого кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, ocStore конечно. А в 1.5.5.1.2 какой вариант? Верхний или нижний кусок кода снести?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 1.5.5.1.2 верхний вариант. Нижнего нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, нижний вариант (тот что через $this->model_catalog_category->getCategories(0)) должен вроде как пошустрее отрабатывать. Там склейка категорий (полный путь к категории) выполняется средствами MySQL через GROUP_CONCAT(). Странная какая-то сборка у меня видать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Офтоп

Только что случайно увидел. 

/system/library/surrency.php (ocstore 1.5.5.1.2)

 

 

if ($value) {

  $value = $value;

} else { ...

 

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого 1.5.5.1.1 посмотрите пожалуйста, если не в лом, как у вас выглядит метод getForm файла admin\controller\catalog\category.php. Подозреваю, что мне криво поставили ИМ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ссылку. Мда. Посмотрел. У меня вообще какая-то непонятная промежуточная сборка. Похоже тот кто сайт делал, особо не парился, вместо стабильной сборки взял какую-то бету, хотя при входе в админку на страничке ввода логина внизу написано 1.5.5.1.1. Там похоже таких косяков вагон и маленькая тележка. Как сейчас лучше поступить? Можно ли переехать на 1.5.5.1.2? База сильно меняется между версиями? Да и с кодом непонятно как быть, кастомизация вносилась в админку.  Т.е. можно ли при имеющейся базе изменить код на стабильную версию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли переехать на 1.5.5.1.2? База сильно меняется между версиями?

Я не разработчик ocstore, поэтому на 100% сказать не могу, а смотреть код влом, но на 99% я уверен что база не менялась.

Создайте тестовый каталог, скопируйте туда сайт, перепишите все файлы с новой версии и посмотрите как все будет работать. Думаю, должно работать.

Да и с кодом непонятно как быть, кастомизация вносилась в админку.

Откройте для себя систему контроля версий на будущее, например git. Иначе все ваши изменения нужно будет переносить вручную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто-нибудь из разрабов ocStore здесь бывает? Мне бы узнать чем 1.5.5.1.1 принципиально от 1.5.5.1.2 отличается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

diff вам в помощь..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вообще какая-то непонятная промежуточная сборка. Похоже тот кто сайт делал, особо не парился, вместо стабильной сборки взял какую-то бету, хотя при входе в админку на страничке ввода логина внизу написано 1.5.5.1.1

скорее всего незаконченная 1.5.5.1.2, прямо с репо скачанная.

 

А кто-нибудь из разрабов ocStore здесь бывает? Мне бы узнать чем 1.5.5.1.1 принципиально от 1.5.5.1.2 отличается

https://opencartforum.com/topic/32923-релиз-ocstore-15512/?do=findComment&comment=263167

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

скорее всего незаконченная 1.5.5.1.2, прямо с репо скачанная.

 

https://opencartforum.com/topic/32923-релиз-ocstore-15512/?do=findComment&comment=263167

Спасибо. Это я видел. Там отличия по БД не описаны. Посмотрел Araxis-ом отличия в админке незначительные. Наверное, оставлю как есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.