Где прячутся тэги?

Материал из Umicms
Версия от 20:39, 4 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Бывает возникает такая ситуация, что очень многим страницам назначены определенные тэги и в какой-то момент появляется необходимость удалить некоторые тэги, чтобы они не отображались больше в облаке тэгов. Не всегда просто найти нужные страницы в админке, но это можно сделать напрямую через базу данных, допустим используя утилиту phpMyAdmin. Необходимые строки данных хранятся в таблице cms3_object_content с field_id = 8837. Один тэг – одна строка данных, если для какой-то страницы назначены два тэга, то уже будет две строки данных для одной страницы. Отобразить все существующие тэги можно данным SQL запросом:

SELECT * FROM cms3_object_content WHERE field_id = 8837 AND varchar_val IS NOT NULL

Если какой тэг у страницы надо удалить, то открывем строку данных на редактирование и устанавливаем галку NULL для поля varchar_val. Запускаете запрос через phpmyadmin и редактируете, в строках где нужно удалить тэг ставите галку NULL для поля varchar_val. Для удаления значения тэга 'фото', используется данный запрос:

UPDATE cms3_object_content SET varchar_val = NULL WHERE field_id = 8837 AND varchar_val = 'фото'

Обнуление всех тэгов:

UPDATE cms3_object_content SET varchar_val = NULL WHERE field_id = 8837 AND varchar_val IS NOT NULL

Для очистки статистики по тэгам, которую используют макросы из модуля content, необходимо очистить (не удалять) таблицы: cms_stat_events, cms_stat_events_collected и cms_stat_hits