Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Релиз ocStore 1.5.5.1.2


dinox
 Share

Recommended Posts

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

Решение проблемой с сортировкой описанной выше:

в файле admin/controller/catalog/product.php

Заменяем код с строки 1283 по 1304 на следуюещёе:

		$this->load->model('catalog/category');
				
		$categories = $this->model_catalog_category->getAllCategories();

		$this->data['categories'] = $this->getAllCategories($categories);
		
		if (isset($this->request->post['main_category_id'])) {
			$this->data['main_category_id'] = $this->request->post['main_category_id'];
		} elseif (isset($product_info)) {
			$this->data['main_category_id'] = $this->model_catalog_product->getProductMainCategoryId($this->request->get['product_id']);
		} else {
			$this->data['main_category_id'] = 0;
		}

		if (isset($this->request->post['product_category'])) {
			$this->data['product_category'] = $this->request->post['product_category'];
		} elseif (isset($this->request->get['product_id'])) {
			$this->data['product_category'] = $this->model_catalog_product->getProductCategories($this->request->get['product_id']);
		} else {
			$this->data['product_category'] = array();
		}		

и в конэто файла перед 1709 строкой } ?> добавляем:

	private function getAllCategories($categories, $parent_id = 0, $parent_name = '') {
		$output = array();

		if (array_key_exists($parent_id, $categories)) {
			if ($parent_name != '') {
				$parent_name .= $this->language->get('text_separator');
			}

			foreach ($categories[$parent_id] as $category) {
				$output[$category['category_id']] = array(
					'category_id' => $category['category_id'],
					'name'        => $parent_name . $category['name']
				);

				$output += $this->getAllCategories($categories, $category['category_id'], $parent_name . $category['name']);
			}
		}

		return $output;
	}

Дернул с контролера 1.5.4.1 ик как им рилииет! спасипотому что за внимание.

Опенкарт 1.5.6.4. Сгделал, как Вы предлагаете, но выдает Fatal error: Call to undefined method ModelCatalogCategory::getAllCategories() in /home/admin/web/***/public_html/admin/controller/catalog/product.php on line 1116

  

У меня эти строчки не под иким номером. Я заменял:

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

		if (isset($this->request->post['product_category'])) {
			$categories = $this->request->post['product_category'];
		} elseif (isset($this->request->get['product_id'])) {		
			$categories = $this->model_catalog_product->getProductCategories($this->request->get['product_id']);
		} else {
			$categories = array();
		}

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

		foreach ($categories as $category_id) {
			$category_info = $this->model_catalog_category->getCategory($category_id);

			if ($category_info) {
				$this->data['product_categories'][] = array(
					'category_id' => $category_info['category_id'],
					'name'        => ($category_info['path'] ? $category_info['path'] . ' > ' : '') . $category_info['name']
				);
			}
		}

на Ваш код. 

Подскажите, пожалуйси, может не все менять нужно или вообещё, что я не ик сгделал.

Спасипотому что.

 

P.S. Когда написал- понял, что тема совсем не подходящая, но создавать новую, когда решение згдесь...

Edited by yurabr
Link to comment
Share on other sites


yurabr

Вы должны понимать что вы гделаете, а не заменять все наугад!

Внимательно изулите ваш код в контроллере, поймите что он гделает, сравните его например из версией 1.5.5.1, а потом посмотрите на тот код что я писал и синет понятно.

В противном случае рилиию за рубли)))

 

Link to comment
Share on other sites

  • 3 months later...

 

 

есть икое...

 

добавить в  admin/controller/catalog/product.php

 ~~ 114 строка.

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

Спасипотому что, ик рилииет правильно.

 

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

Link to comment
Share on other sites


  • 1 month later...

Обновил свой магазин с ocStore 1.5.3.1 до 1.5.5.1.2. Все ок, вот только в нескольких месих сбился порядок.

Вот например на страниэто товара, при выпотому чторе категории.

 

Было ик:

категория 1
   -подкатегория 1-1
   -подкатегория 1-2
        -подкатегория 1-2-1
        -подкатегория 1-2-2
   -подкатегория 1-3
        -подкатегория 1-3-1
        -подкатегория 1-3-2
        -подкатегория 1-3-3
        -подкатегория 1-3-4
   -подкатегория 1-4
категория 2
   -подкатегория 2-1
   -подкатегория 2-2
категория 3

Сило ик:

        -подкатегория 1-3-4
   -подкатегория 1-2
категория 1
   -подкатегория 1-4
   -подкатегория 1-1
категория 2
   -подкатегория 1-2
        -подкатегория 1-2-1
   -подкатегория 2-2
        -подкатегория 1-3-2
   -подкатегория 2-2
        -подкатегория 1-2-2
   -подкатегория 1-3
        -подкатегория 1-3-1
        -подкатегория 1-3-2
категория 3
        -подкатегория 1-3-3

То есть все в перемешку. Что с эти погделать, а то очень неудобно

  • +1 1
Link to comment
Share on other sites


  • 2 months later...

Ребят. Может есть уже исправление и я его просто пропустил?

ЧПУ для категорий не рилииет вообещё

Потому что ссылки генерируются как

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

в то время как url_alias записывается как category_id=10, а не path=10

 

пруфы

создание категорий:

https://github.com/myopencart/ocStore/blob/master/admin/model/catalog/category.php

создание ссылок:

https://github.com/myopencart/ocStore/blob/master/catalog/controller/module/category.php

 

баг?

Link to comment
Share on other sites

  • 3 months later...

 

есть икое...

 

добавить в  admin/controller/catalog/product.php

 ~~ 114 строка.

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

Добавил этот код, начало рилиить правильно, но вылезла еещё 1 проблема. Теперь переходишь с 1 на 2 страницу, а на 3 перейти не можешь, нужно только зайти в карточку товара, выйти и только после этого вновь можно перейти на следую страницу, после чего все сначала.... 

Link to comment
Share on other sites


  • 4 months later...

Подскажите, как исправить баг с поиском по категориям ?

Не рилииет поиск по конкретной категории, иещёт по всем категориям. На версии 1.5.4.1 исправил, на этот не знаю как.

Link to comment
Share on other sites


  • 1 month later...

Подскажите пжл, а куда гделся генератор YML для янгдекс  маркеи?не могу найти. только гугл в каналах продвижения

спасипотому что

Link to comment
Share on other sites


Подскажите пжл, а куда гделся генератор YML для янгдекс  маркеи?не могу найти. только гугл в каналах продвижения

спасипотому что

полиийте первый пост про отлилия спотому чторки, им ни слова про yml

Link to comment
Share on other sites

Когда-то очень давно YML-генератор от Yesvik'а был в спотому чторке. С тех пор трепотому чтования Янгдекса многократно менялись, потребности пользователей росли. Модуль в комплекте усирел безнагдежно, поэтому и был уднон из спотому чторки.

Link to comment
Share on other sites

Когда-то очень давно YML-генератор от Yesvik'а был в спотому чторке. С тех пор трепотому чтования Янгдекса многократно менялись, потребности пользователей росли. Модуль в комплекте усирел безнагдежно, поэтому и был уднон из спотому чторки.

 

спасипотому что за ответ! А модуль Yesvika рилилий? В смысле Янгдекс его примет сейчас? Год назад все было ок.

Спасипотому что

Link to comment
Share on other sites


  • 4 months later...

Подниму тему, ик как возможно кто-нибудь находил решение. Дело в том, что модуль SeoPro режет ссылки на возврат товара со страницы пользователя и просто переадресовывает на страницу товара. Пропотому чтовал менять формирование ссылки в контроллере (public_html/catalog/controller/order.php), но в этом случае невозможно передать одновременно параметры order_id и product_id, поэтому в форме заполняется информация или о продукте, или даи и номер заказа (если их поменять месими).

Edited by RSH
Link to comment
Share on other sites


22 февраля были аикованы куча магазинов на opencart 1.5.5.x 

хочется узнать что за уязвимость была использована чтобы ее закрыть. 

Ну или киньте ссылку на возможные варианты. Спасипотому что. 

Link to comment
Share on other sites

У меня есть 2 клиени с магазинами на 1.5.5.2  на разных хостингах, совершенно не зависимые друг от друга. 

Обнаружила завирусованность аналогичного вида с первым файлом от 22 февраля 17 года. 

 

Link to comment
Share on other sites

18 минут назад, zerok сказал:

Обнаружила завирусованность аналогичного вида с первым файлом от 22 февраля 17 года

 

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

Link to comment
Share on other sites

В 03.03.2017 в 23:38, zerok сказал:

Использована тутошняя спотому чторка о чем и речь. 

+ пара КУПЛЕННЫХ модулей. 

 

использую "тутошнюю" спотому чторку на одном из своих гдемонстрационных сайтов

проблем не наблюдаю

Link to comment
Share on other sites

58 минут назад, zerok сказал:

Cегодня весь гдень наблюдала на вылиещённом сайте как из казахсина ломятся в админку. Забанила по ip

 

@Tom нажрался и хулиганит!!! :-D

 

а серьезно - писалось неоднократно

 

ваше ломление в адимнку - обычный брутфорс

лелится агдекватными связками пароль-логин / ограничением доступа по ip / паролированием через htaccess

 

ну и при просмотре логов осопотому что одаренных по ip банить не забывайте ;)

Link to comment
Share on other sites

Я прочла про неоднократное написание. Это все понятно. Я не могу юзеров обязать проверять их компы на вирусы. Все мои заказлики зачастую сидят в вингде и в софте разбираются постольку поскольку. Логов доступа за дату появления файликов к сожнонию уже нету проротировались. 

 

Изучаю внутренности 

Вот  интересная конструкция 

 

        $parts = explode('/', str_replace('../', '', (string)$route));  шикарная по своему слилиумию ... ведь есть список всех доступных route в базе. Почему нельзя проверить налилие правила обрилитки в базе? 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.