0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 571 Просмотров
*

tom_jdev

  • Новичок
  • 3
  • 0 / 0
Добрый день. Есть сайт, который работает с 2012 года, на котором скопилось очень много материалов. Возникла необходимость удалить материалы, которые опубликованы, но при этом сами не привязаны к меню или входят в категорию, которая не привязана к меню. Т.е. материалы существуют, опубликованы, ищутся поиском, но при этом нет страницы, к которой они привязаны. К сожалению те, кто сопровождал сайт ранее, не озадачились удалением материалов, когда в них пропадала необходимость.
Ну и собственно вопрос: как можно удалить такие материалы?
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Простыми методами - никак, пожалуй.
Тут надо придумать и написать скриптик чтоб их нашел и удалил
*

tom_jdev

  • Новичок
  • 3
  • 0 / 0
Простыми методами - никак, пожалуй.
Тут надо придумать и написать скриптик чтоб их нашел и удалил
Например, можно искать их запросами к БД, но тогда вопрос, по какому принципу?
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Например, можно искать их запросами к БД, но тогда вопрос, по какому принципу?

Да сложно там - строить дерево меню, с категориями и материалами и проходиться по каждому материалу, проверяя, есть ли оно в дереве
*

SeBun

  • Живу я здесь
  • 3998
  • 259 / 4
  • @SeBun48
В таблице #__categories находятся категории. Их там не так много обычно, вы можете легко получить ID тех категорий, которые у вас отключены. В таблице #__content находятся материалы. Вы можете их выбрать по значению столбца catid. Например, такой запрос:
Код
SELECT * FROM prefix_content where catid=1 OR catid=2 OR catid=3 

Такой запрос выдаст вам все материалы, относящиеся к конкретным категориям. Вы можете так же одним запросом снять их все с публикации. Удалять таким образом крайне не рекомендую, т.к. на материалы завязана еще одна таблица, #__assets, есть и другие связи. Так что я показываю лишь способ снятия с публикации. Например, такой запрос:

Код
UPDATE prefix_content SET state=0 where catid=1 OR catid=2 OR catid=3 

Примерно то же самое и с меню. Можно сделать выборку по материалам. Если пункт меню у вас ведет на конкретный материал, можно сделать составной запрос и выбрать материалы, на которые не ведет ни один пункт меню плюс дополнительные условия, например дату публикации, что бы не снять с публикации нужные материалы. Здесь, как сказал @voland, лучше всего написать скрипт, который будет решать такую задачу. И выполнить его в виде маленького компонента, что бы работать из админки самой Joomla. Ибо лезть с запросами в базу без четкого понимания, что делаешь - это плохая практика.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

tom_jdev

  • Новичок
  • 3
  • 0 / 0
В таблице #__categories находятся категории. Их там не так много обычно, вы можете легко получить ID тех категорий, которые у вас отключены.
Категорий достаточно много (130+)
Здесь, как сказал @voland, лучше всего написать скрипт, который будет решать такую задачу. И выполнить его в виде маленького компонента, что бы работать из админки самой Joomla. Ибо лезть с запросами в базу без четкого понимания, что делаешь - это плохая практика.
Скорее всего напишу скрипт, а пока решил задачу(получения списка материалов) таким образом:

Код
SELECT #__content.id, #__content.title, #__content.alias, #__content.catid FROM #__content
LEFT JOIN #__menu ON #__menu.link = concat('index.php?option=com_content&view=article&id=', #__content.id)
WHERE #__menu.id is NULL AND #__content.catid IN (
SELECT #__categories.id FROM #__categories
LEFT JOIN #__menu ON #__menu.link = concat('index.php?option=com_content&view=category&id=', #__categories.id)
WHERE #__menu.id is NULL
)
AND #__content.state = 1
Спасибо, @voland, @SeBun
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка материалов в блоге

Автор ebonydabster

Ответов: 6
Просмотров: 692
Последний ответ 13.07.2022, 16:42:46
от original.gangsta
CSS стиль для значения поля в списке материалов

Автор Vlad1

Ответов: 8
Просмотров: 297
Последний ответ 29.06.2022, 03:09:37
от Ciaoatutti
Исчезло меню при редактировании материалов и категорий

Автор Lier

Ответов: 20
Просмотров: 1488
Последний ответ 27.06.2022, 15:29:04
от dron
Как вывести списки материалов в категориях?

Автор mak200

Ответов: 1
Просмотров: 172
Последний ответ 03.06.2022, 19:22:20
от KKAAZZOO
Не отображаются поля при создании и редактировании модулей и материалов

Автор Didj

Ответов: 5
Просмотров: 280
Последний ответ 04.05.2022, 21:49:39
от marksetter