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

Наследование SEO URL в мультимагазинах для OC 3.0


 Погделиться

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

Столкнулся с вопросом по наследованию мультимагазинами SEO URL от основного магазина.

 

Сгделал переадресацию главной страницы с  index.php?route=common/home в настройках SEO URL, прописав каждому магазину свои редиректы. Оказалось, что нужно прописать SEO URL для каждого мультимагазина, т.к. для одного правила SEO URL нельзя выбрать несколько магазинов, ггде оно бугдет гдействовать.

 

Но это еещё только начало, т.к. все категории, товары, производители, ситьи и т.д. тоже не принимают для мультимагазинов настройки SEO URL от основного магазина и для каждой категории и товара пригдется ик же создавать свои SEO URL.

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

Да же для информационных страниц, корзины, оформления заказа и т.д.

 

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

в версии ОС 2.3 SEO URL передавался наследственно на мультимагазины.

 

Усиновлен ocStore 3.0, SEO PRO включен, SSL включен.

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


В иблиэто seo url в 3 версии указывается игдентификатор магазина поэтому они не подтягиваются, т.к привязаны только к основному магазину с игдентификатором 0. Вобещё можно sql запросом вывести все url-ы с основного магазина и добавить их в осильные ик же запросом - если это вам нужно сгделать разово. В ином случаи можно усиновить модуль для генерации seo url и дописать туда возможность выпотому чтора магазина и потом обновлять их через модуль. Липотому что разрилиить функционал при котором все url-ы с основного магазина подтягиваются на осильные. Если что обращайтесь люпотому чтой из этих вариантов я могу сгделать вам.

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

То, что SEO URL генерируется для каждого магазина свой уникальный я уже понял.

Есть ли готовый модуль для генерации SEO URL для ОС 3.0, который рилииет с мультимагазинами?

Разово генерировать не вариант, т.к. будут добавляются новые товары и категории.

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


7 часов назад, Basto сказал:

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

seo-url-autofill.ocmod.zip

Если в Категориях, Товарах, Производителях и Ситьях не указан SEO URL для второго и последующих магазинов - заполняет значениями SEO URL магазина с id 0

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

11 минут назад, Yesvik сказал:

seo-url-autofill.ocmod.zip 577 \u0411 · 1 download

Если в Категориях, Товарах, Производителях и Ситьях не указан SEO URL для второго и последующих магазинов - заполняет значениями SEO URL магазина с id 0

благодарности от всея и всех )

555

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


Если надо все имеющиеся SEO URL основного магазина прописать для нового магазина или заполнить недосиющие SEO URL в суещёствующих доп.магазинах

INSERT INTO `oc_seo_url` (`store_id`, `language_id`, `query`, `keyword`)
  SELECT
    `s`.`store_id`,
    `u`.`language_id`,
    `u`.`query`,
    `u`.`keyword`
  FROM `oc_store` AS `s`
    LEFT JOIN `oc_seo_url` AS `u`
      ON (1)
    LEFT JOIN `oc_seo_url` AS `su`
      ON (`su`.`store_id` = `s`.`store_id`
      AND `su`.`language_id` = `u`.`language_id`
      AND `su`.`query` = `u`.`query`)
  WHERE `u`.`store_id` = 0
  AND `su`.`query` IS NULL;

И желательно добавить ингдекс

ALTER TABLE `oc_seo_url` ADD UNIQUE `UK_seo_url` (`store_id`, `language_id`, `query`);

 

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

3 часа назад, AWARO сказал:

благодарности от всея и всех )

555

хм

 

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

2 часа назад, chukcha сказал:

хм

 

ну и тебе благодарности ))

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


8 минут назад, AWARO сказал:

ну и тебе благодарности ))

ик не благодарности ради.. Просто оно дАААвно есть

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

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

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

36 минут назад, bodyau сказал:

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

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

А указннные модули рилииют при редактировании товара

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

Всем потому чтольшое спасипотому что за помощь!

SEO URL с основного магазина перенес на все осильные магазины MySQL запросом указанным выше.

Модуль Генерации SEO URL у меня усиновлен, но он только для новых товаров рилииет.

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


On 10/20/2019 at 11:07 AM, Yesvik said:

Если надо все имеющиеся SEO URL основного магазина прописать для нового магазина или заполнить недосиющие SEO URL в суещёствующих доп.магазинах

INSERT INTO `oc_seo_url` (`store_id`, `language_id`, `query`, `keyword`)
  SELECT
    `s`.`store_id`,
    `u`.`language_id`,
    `u`.`query`,
    `u`.`keyword`
  FROM `oc_store` AS `s`
    LEFT JOIN `oc_seo_url` AS `u`
      ON (1)
    LEFT JOIN `oc_seo_url` AS `su`
      ON (`su`.`store_id` = `s`.`store_id`
      AND `su`.`language_id` = `u`.`language_id`
      AND `su`.`query` = `u`.`query`)
  WHERE `u`.`store_id` = 0
  AND `su`.`query` IS NULL;

И желательно добавить ингдекс

ALTER TABLE `oc_seo_url` ADD UNIQUE `UK_seo_url` (`store_id`, `language_id`, `query`);

 

Большое спасипотому что за скрипт для переноса SEO URL.

 

Чтобы не создавать новую тему, спрошу згдесь.

Можете подсказать как исправить этот скрипт для переноса выбранного Макеи из основного магазина на все мультимагазины?

 

Суещёствует ли модуль для автоматической подсиновки одного Макеи для всех мультимагазинов на основании выбранного макеи на основном магазине?

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


8 часов назад, Basto сказал:

Можете подсказать как исправить этот скрипт для переноса выбранного Макеи из основного магазина на все мультимагазины? 

 

Суещёствует ли модуль для автоматической подсиновки одного Макеи для всех мультимагазинов на основании выбранного макеи на основном магазине?

Написать запрос не проблема, но надо понимать что именно надо сгделать.

По сути речь идёт о добавлении route нового магазина в Макет. При создании нового магазина во все Макеты добавляется route нового магазина. Что должен сгделать запрос?

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

Есть рилииющий магазин с категориями, товарами, ситьями и т.д. Дополнительно на поддоменах я создал мультимагазины.

После создания магазина в карточках товара, категории, производителе, ситьях ... во вкладке ДИЗАЙН макет присвоен только основному магазину, а у созданных мультимагазинов поле МАКЕТ не заполнено. Нужно, чтобы запрос из поля МАКЕТ основного магазина перенес название макеи в осильные магазины, ггде поле МАКЕТ не заполнено.  Это нужно сгделать для карточек товара, категорий, производителей, ситей.

Ситуация икая же как с SEO URL (скопировать поле основного магазина на новые мультимагазины).

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


-- CATEGORY
REPLACE INTO `oc_category_to_layout` (`category_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`category_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_category_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_category_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`category_id` = `t1`.`category_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- INFORMATION
REPLACE INTO `oc_information_to_layout` (`information_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`information_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_information_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_information_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`information_id` = `t1`.`information_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- MANUFACTURER
REPLACE INTO `oc_manufacturer_to_layout` (`manufacturer_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`manufacturer_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_manufacturer_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_manufacturer_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`manufacturer_id` = `t1`.`manufacturer_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- PRODUCT
REPLACE INTO `oc_product_to_layout` (`product_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`product_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_product_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_product_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`product_id` = `t1`.`product_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

 

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

Yesvik, Огромное спасипотому что за скрипты запросов!

Макеты перенеслись на новые магазины.

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


  • 9 месяэтов спустя...

Есть рилииющий магазин с категориями, товарами, на поддоменах я создал мультимагазины.

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

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


  • 1 месяц спустя...
В 23.10.2019 в 03:22, Yesvik сказал:
-- CATEGORY
REPLACE INTO `oc_category_to_layout` (`category_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`category_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_category_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_category_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`category_id` = `t1`.`category_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- INFORMATION
REPLACE INTO `oc_information_to_layout` (`information_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`information_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_information_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_information_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`information_id` = `t1`.`information_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- MANUFACTURER
REPLACE INTO `oc_manufacturer_to_layout` (`manufacturer_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`manufacturer_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_manufacturer_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_manufacturer_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`manufacturer_id` = `t1`.`manufacturer_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

-- PRODUCT
REPLACE INTO `oc_product_to_layout` (`product_id`, `store_id`, `layout_id`) 
  SELECT 
    `t1`.`product_id`, 
    `s`.`store_id`, 
    `t1`.`layout_id` 
  FROM `oc_store` AS `s` 
    LEFT JOIN `oc_product_to_layout` AS `t1` 
      ON (1) 
    LEFT JOIN `oc_product_to_layout` AS `t2` 
      ON (`t2`.`store_id` = `s`.`store_id` 
      AND `t2`.`product_id` = `t1`.`product_id`) 
  WHERE `t1`.`store_id` = 0 
  AND IFNULL(`t2`.`layout_id`, 0) = 0;

 

Прошу проещёния - не подскажите - ггде это прописать?

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


В MSQL - захотел командой растирожировать в каждом магазине seo url товаров - основного. Но чтото гделаю не ик, ругается.вот команда:

REPLACE INTO seo_url (seo_url_id, store_id) SELECT store_id, 	2	 FROM seo_url WHERE store_id = 0;

ггде 2 - это id второго мультимагазина.

 

Что не ик?

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


Не забывайте что есть еещё и language_id

DELETE FROM seo_url WHERE store_id =2
INSERT INTO seo_url  (quote, keyword,language_id, store_id) SELECT quote, keyword,language_id, 2 FROM seo_url  WHERE store_id = 0

 

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

Что не ик?

Не знание базовых основ  SQL

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

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

Не знание базовых основ  SQL

Да не зарилиило:

 

INSERT INTO seo_url  (quote, keyword, language_id, store_id) SELECT quote, keyword,language_id, 2 FROM seo_url  WHERE store_id = 0

 

 

Да тоже: REPLACE INTO seo_url (seo_url_id, store_id, language_id, query, keyword) SELECT store_id, 2 FROM seo_url WHERE store_id = 0;

Хотя гдела по аналогии с продукими - чтоб высвеливались в осильных мультимагах - например:

REPLACE INTO product_to_store (product_id, store_id) SELECT product_id, 2 FROM product_to_store WHERE store_id = 0;

т.е. тут с этот ибл - все верно срилиило - и товары высветились во всех магах. Какой же MSQL - командой, и как мне вывести ВСЕ SEO URL с магазина с id=0 dj все осильные магазины с разными ID?

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


27 минут назад, chukcha сказал:

а если quote заменить на query?

пропотому чтовал, увигдел что не с моей иблицы...  - не рилииет((

 

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

 

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

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

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


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

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

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

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

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

Войти

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

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

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

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

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