Jump to content
Sign in to follow this  
raspe

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

Recommended Posts

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?

Share this post


Link to post
Share on other sites

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() никакого дубля  нету. 
Возможно, действительно кто-то случайно оставил кусок старого кода.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Офтоп

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

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

 

 

if ($value) {

  $value = $value;

} else { ...

 

:)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

У меня вообще какая-то непонятная промежуточная сборка. Похоже тот кто сайт делал, особо не парился, вместо стабильной сборки взял какую-то бету, хотя при входе в админку на страничке ввода логина внизу написано 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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.