COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Копирование категорий


Desserro

Recommended Posts

Всем доброго времени!

Прикупил модификатор "Копирование категорий"

Не могу разобраться как сделать для Pro версии

На Opencart 2.3 работает без проблем

На Pro отказывается 

Пишет

Скрытый текст

Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.phpon line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.phpon line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.php on line 749Notice: Undefined variable: url in D:\OSPanel\domains\expo.biz.ua\system\storage\modification\admin\controller\catalog\category.phpon line 749

 

Ругается на эту строку: 

Скрытый текст

'copy' => $this->url->link('catalog/category/copycat', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'),

 

Скинул бы в полном виде этот модификатор но не хочу нарушать права продавца

С продавцом решить!

Ну сложно было обьяснить что я не д... на кнопку установить нажать могу.

Все писать что было не уместно((

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

19 минут назад, Desserro сказал:

Ну сложно было обьяснить что я не д...

Тогда вы вряд ли поймёте, что обратиться к автору платного модуля это нормальная практика.

А задавать вопрос, не показывая в чём причина, это не нормальная практика.

Зайдите в Тему поддержки сборки и обратите внимание на Раздел 2 Правил, это поможет Вам гораздо быстрее получать ответы на форуме в будущем.

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

На это ругается: 

1 час назад, Desserro сказал:

'copy' => $this->url->link('catalog/category/copycat', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'),

 

Предполагаю строка устанавливается в этот кусок кода, где $url быть не может.

Скрытый текст

            $output[$result['category_id']] = array(
                'category_id' => $result['category_id'],
                'name'        => $name,
                'sort_order'  => $result['sort_order'],
                'noindex'        => $result['noindex'],
                'edit'        => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'], true),
                'selected'    => $selected,
                'action'      => $action,
                'href'        => $href,
                'href_shop'   => HTTP_CATALOG . 'index.php?route=product/category&path=' . ($result['category_id']),
                'indent'      => $indent
            );

 

Но возможно автор хотел там вставить условия параметров типа таких для того, чтобы при нажатии на кнопку копирования оставаться на той же странице или с учётом фильтрации категорий.

Скрытый текст

        $url = '';

        if (isset($this->request->get['sort'])) {
            $url .= '&sort=' . $this->request->get['sort'];
        }

        if (isset($this->request->get['order'])) {
            $url .= '&order=' . $this->request->get['order'];
        }

        if (isset($this->request->get['page'])) {
            $url .= '&page=' . $this->request->get['page'];
        }


Так, что попробуйте сделать так:

Скрытый текст

'copy' => $this->url->link('catalog/category/copycat', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'], true),


или так:

Скрытый текст

	private function getCategories($parent_id, $parent_path = '', $indent = '') {
		$url = '';

		if (isset($this->request->get['sort'])) {
			$url .= '&sort=' . $this->request->get['sort'];
		}

		if (isset($this->request->get['order'])) {
			$url .= '&order=' . $this->request->get['order'];
		}

		if (isset($this->request->get['page'])) {
			$url .= '&page=' . $this->request->get['page'];
		}
		
		$category_id = array_shift($this->path);
		$output = array();
		static $href_category = null;
		static $href_action = null;
		if ($href_category === null) {
			$href_category = $this->url->link('catalog/category', 'token=' . $this->session->data['token'] . '&path=', true);
			$href_action = $this->url->link('catalog/category/update', 'token=' . $this->session->data['token'] . '&category_id=', true);
		}
		$results = $this->model_catalog_category->getCategoriesByParentId($parent_id);
		foreach ($results as $result) {
			$path = $parent_path . $result['category_id'];
			$href = ($result['children']) ? $href_category . $path : '';
			$name = $result['name'];
			if ($category_id == $result['category_id']) {
				$name = '<b>' . $name . '</b>';
				$data['breadcrumbs'][] = array(
					'text'      => $result['name'],
					'href'      => $href,
					'separator' => ' :: '
			);
				$href = '';
			}
			$selected = isset($this->request->post['selected']) && in_array($result['category_id'], $this->request->post['selected']);
			$action = array();
			$action[] = array(
				'text' => $this->language->get('text_edit'),
				'href' => $href_action . $result['category_id']
			);
			$output[$result['category_id']] = array(
				'copy'        => $this->url->link('catalog/category/copycat', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, true),
				'category_id' => $result['category_id'],
				'name'        => $name,
				'sort_order'  => $result['sort_order'],
				'noindex'  	  => $result['noindex'],
				'edit'        => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'], true),
				'selected'    => $selected,
				'action'      => $action,
				'href'        => $href,
				'href_shop'   => HTTP_CATALOG . 'index.php?route=product/category&path=' . ($result['category_id']),
				'indent'      => $indent
			);
			if ($category_id == $result['category_id']) {
				$output += $this->getCategories($result['category_id'], $path . '_', $indent . str_repeat(' ', 8));
			}
		}
		return $output;
	}

 

 

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

Join the conversation

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  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.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу