Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Andriiko

Массовое копирование разделов

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

Здравствуйте

 

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

 

Возможно ли, допустим, сделать 10 разделов в определенном подразделе, а дальше эти 10 разделов продублировать в другом подразделе, а потом еще в одном?

 

 

Может есть какой-то хук/плагин, который расширяет функционал админки или какой-то запрос прямо в бд?

Поделиться сообщением


Ссылка на сообщение

INSERT INTO forums (parent_id, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title) SELECT 1, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title FROM forums ORDER BY id DESC LIMIT 10

Продублирует в категории 1 (SELECT 1 - ид родительской категории) последние десять созданных форумов. Но кроме самих форумов нужны еще маски доступа, либо придется лезть в настройках форумов и редактировать их, или создать их также sql запросом.

Поделиться сообщением


Ссылка на сообщение

Да, ваша команда работает. Создаются последние созданные разделы. А можно так, что бы скопировать УЖЕ созданные разделы?

 

Вот примерная структура разделов:

 

Раздел А
Раздел A
	Раздел 1
	Раздел 2
	Раздел 3
	Раздел 4
Раздел Б
Раздел B
	Раздел 1
	Раздел 2

Раздел В
Раздел C
	Раздел 1
	Раздел 2

 

Т.е. мне нужно скопировать Раздел 3 в Раздел B и Раздел C, потом скопировать Раздел 4.

Поделиться сообщением


Ссылка на сообщение

Ну поиграйтесь с условием WHERE в селекте, укажите id каких форумов хотите скопировать, или форумы чей parent_id принадлежит этой категории.

Поделиться сообщением


Ссылка на сообщение

Методом проб вывел команду, точнее в конце немного изменил:

INSERT INTO forums (parent_id, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title) SELECT 2475, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title FROM forums WHERE id IN (6, 7, 8)

 

Т.е. команда говорит чтобы в определенный раздел (2475) были вставлены следующие разделы (6, 7, 8)

 

А как теперь сделать наоборот, чтобы в перечень определенных разделов был вставлен один определенный раздел?

Поделиться сообщением


Ссылка на сообщение

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

 

И как теперь сделать наоборот, чтобы в перечень определенных разделов был вставлен один определенный раздел? А может даже вообще, выбрать определенные разделы и скопировать в определенные разделы.

Поделиться сообщением


Ссылка на сообщение

INSERT INTO ... SELECT определенный_раздел_1, ...

INSERT INTO ... SELECT определенный_раздел_2, ...

INSERT INTO ... SELECT определенный_раздел_n, ...

Поделиться сообщением


Ссылка на сообщение

Не получается у меня написать запрос, не силён я в этом.

 

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

 

INSERT INTO forums (parent_id, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title) SELECT 2475, name, description, use_html, sort_key, sort_order, prune, topicfilter, sub_can_post, name_seo, seo_last_title FROM forums WHERE id IN (6, 7, 8)

 

Т.е. выбираются определенные разделы и копируются в один определенный раздел

Поделиться сообщением


Ссылка на сообщение

Правильно.

Копируйте подфорумы указав условие WHERE id IN (ид_подфорума1, ид_подфорума2, ...). Запрос который собственно выше.

Поделиться сообщением


Ссылка на сообщение

siv1987 спасибо

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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