Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

tom_jdev

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

voland

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

tom_jdev

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

voland

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

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

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @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 | Миграция/Обновление | Сопровождение | 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
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 4
Просмотров: 2180
Последний ответ 24.05.2025, 09:20:18
от azm1n
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1952
Последний ответ 06.04.2025, 09:27:20
от wishlight
Поменять порядок материалов

Автор tatyana34

Ответов: 3
Просмотров: 1009
Последний ответ 11.12.2024, 16:10:41
от nikolakovach8619
Модуль «Материалы - Новости» выводит неправильное количество материалов

Автор goga_pgasovav

Ответов: 1
Просмотров: 1101
Последний ответ 20.03.2023, 19:30:45
от goga_pgasovav
[howto] Блог. Вывод материалов в списке подкатегорий

Автор dynamit

Ответов: 3
Просмотров: 1522
Последний ответ 05.10.2022, 13:37:10
от Mitriy