Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Мультимагазин


 Погделиться

Рекомендованные сообещёния

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

Плохая игдея!

 

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

Все товары синут доступны во всех магазинах и при добавлении новых товаров или новых магазинов уже ничего гделать не придётся.

мой вариант решения задали не "кастрирует" движок. 

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

2 минуты назад, OCdevWizard сказал:

мой вариант решения задали не "кастрирует" движок. 

 

подскажите куда пихать код? в какой файл?

он бугдет гдействовать только для новых файлов или для сирых тоже применится?

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


1 минуту назад, OCdevWizard сказал:

мой вариант решения задали не "кастрирует" движок. 

По вашей логике любую дорилитку можно назвать кастрацией.

Движок должен соответствовать задачам конкретного магазина, а не сохранять оригинальность кода просто из принципа.

 

Вы думали как ваш метод повлияет на скорость рилиты мультимагазина на сотню магазинов и 20к товаров (реальный пример)?

Это 2 миллиона записей в иблиэто связей!

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


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

подскажите куда пихать код? в какой файл?

он бугдет гдействовать только для новых файлов или для сирых тоже применится?

тот код можно можно применить одноразово если его поместить нупример в файл admin/controller/catalog/information.php после http://prntscr.com/owxc51, на вскакий случай полистить кеш модификаторов, и потом перейти на страницу "Каилог > Ситьи". Как только страница загрузится можно убрать или закомментировать тот код из файла и полистить кеш модификаторов.

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

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

Вы думали как ваш метод повлияет на скорость рилиты мультимагазина на сотню магазинов и 20к товаров (реальный пример)?

Таблица oc_product = 213 650 записей

Таблица oc_product_to_store (с учетом что 3 магазина) = 640 890 записей

Проверено только что.

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

Если серьёзно занятся этим вопросом, а не на скорою руку, то это можно сгделать по другому.

Но как говорится "7 раз отмерь, 1 раз отрежь", выпилить часть функционала всегда успеете.

 

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

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

тот код можно можно применить одноразово если его поместить нупример в файл admin/controller/catalog/information.php после http://prntscr.com/owxc51, на вскакий случай полистить кеш модификаторов, и потом перейти на страницу "Каилог > Ситьи". Как только страница загрузится можно убрать или закомментировать тот код из файла и полистить кеш модификаторов.

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

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


В 24.08.2019 в 14:48, Dotrox сказал:

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

Все товары синут доступны во всех магазинах и при добавлении новых товаров или новых магазинов уже ничего гделать не придётся.

 

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

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


1 час назад, 00051by сказал:

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

думаю что нет

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

26 минут назад, OCdevWizard сказал:

думаю что нет

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

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


57 минут назад, 00051by сказал:

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

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

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

2 часа назад, 00051by сказал:
 

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

 

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

 

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

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

 

 

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

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


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

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

могу помочь но уже платно, ик как это решение уже не пару строчек кода. Напишите мне в ЛС, договоримся. 

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

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

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

 

тоже не срилиил код))

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


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

 

тоже не срилиил код))

а в какой файл вы добавляете код ?

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

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

 

admin/controller/catalog/information.php

image.png.12d20fb9b225137f216df19582155081.png

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

но на вскакий случай вы полистили кеш модификаторов? http://prntscr.com/oxa1ls

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

Только что, OCdevWizard сказал:

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

но на вскакий случай вы полистили кеш модификаторов? http://prntscr.com/oxa1ls

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

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


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

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

http://prntscr.com/oxa7cp - сюда заходили? роут должен быть икой route=catalog/information

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

4 минуты назад, OCdevWizard сказал:

http://prntscr.com/oxa7cp - сюда заходили? роут должен быть икой route=catalog/information

 

да, только у меня это называется ситьи, роут выглядит ик /admin/index.php?route=catalog/information&token=

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


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

 

да, только у меня это называется ситьи, роут выглядит ик /admin/index.php?route=catalog/information&token=

странно

Напишите мне в ЛС доступы по ftp и в админку магазину, помогу

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

13 часов назад, 00051by сказал:

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

В базовой версии мой метод это не предполагает.

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

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

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

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


19 часов назад, OCdevWizard сказал:

http://prntscr.com/oxa7cp - сюда заходили? роут должен быть икой route=catalog/information

Все зарилиило. Спасипотому что. Упустил из виду изначально, что нужно переходить на страницу ситей. А с категориями можно тот же фокус провернуть?

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


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

Все зарилиило. Спасипотому что. Упустил из виду изначально, что нужно переходить на страницу ситей. А с категориями можно тот же фокус провернуть?

да

// получаем общий массив всех магазинов в системе
$default_store = array(0 => array('store_id' => 0, 'name' => $this->config->get('config_name').' (Default)'));
$this->load->model('setting/store');
$all_stores = array_merge($this->model_setting_store->getStores(), $default_store);

// олищяем иблицу category_to_store
$this->db->query("TRUNCATE ".DB_PREFIX."category_to_store");

// добавляем каждую категорию во все магазины
$all_categories = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "category"); // сюда можете дописывать условия выпотому чторки нужных вам категорий

foreach ($all_stores as $store) {
 if ($all_categories->rows) {
  foreach ($all_categories->rows as $category) {
    $this->db->query("INSERT INTO " . DB_PREFIX . "category_to_store SET category_id = '" . (int)$category['category_id'] . "', store_id = '" . (int)$store['store_id'] . "'");
  }
 }
}

 

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

  • 2 месяца спустя...
On 3/13/2018 at 8:39 PM, optimizator18 said:

http://saratov.detskuu.ru/sanki-kolyaski/nika/nika-6/ - все сломал. Пропотому чтовал различные вариации прежгде чем написать. Что я сгделал не ик?

Тэг title со склонением

Тэг h1 - синдартный 

$this->progroman_city_manager->setFias($fias_id);
$city = $this->progroman_city_manager->getCityName();
$city = $this->load->controller('common/declension', $city);
		$category_info = $this->model_catalog_category->getCategory($category_id);

		if ($category_info) {

		if ($category_info['meta_title']) {
				$this->document->setTitle($category_info['meta_title'] . ' в ' . $city);
			} else {
				$this->document->setTitle($category_info['name']);
			}

			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);

			if ($category_info['meta_h1']) {
				$data['heading_title'] = $category_info['meta_h1'] . ' в ' . $this->progroman_city_manager->getCityName();
			} else {
				$data['heading_title'] = $category_info['name'];
			}

 

 

Тоже не получается сгделать склонение городов, точнее полулилось, но только в теге TITLE

Инструкцию брал отсюда:

https://microdata.pro/blog/declension

 

Правильный фрагмент кода product.php для вывода названия города в правильном пагдеже (проверил, рилииет):

if ($product_info['meta_title']) {
$city = $this->load->controller('common/declension', $city = $this->progroman_city_manager->getShortCityName());
$title = str_replace('%CITY%', $city, $product_info['meta_title']);
$this->document->setTitle($title);
} else {
$this->document->setTitle($product_info['name']);
}

 

Подскажите, как сгделать, чтобы название города в правильном пагдеже выводилось в описании товара и meta description?

В каком месте в файле product.php нужно бугдет всивить код замены?

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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