Ищите в админке, раздел типы контента
понял… возникла проблема
От типа контента с системным именем Videodiz
Ищите в админке, раздел типы контента
хочу удалить этот тип контента, т.к. там какие-то проблемы...
из БД удалил все таблицы, но в админке название осталось, удалить не могу сообщает
SELECT i.*, u.nickname as user_nickname, f.title as folder_title FROM cms_con_Videodiz i WHERE ((i.is_private = 0 OR i.user_id = '1' OR (i.is_private = 1 AND EXISTS (SELECT id FROM cms_users_friends WHERE user_id='1' AND friend_id=i.user_id AND is_mutual=1)))) AND (i.is_approved = '1') AND (i.is_pub = '1') ORDER BY i.date_pub desc
lezginka.ru, cms_content_types почистили от старого типа контента?
старого контента вообще там нет. я импортирую БД старого сайта и при попытке открыть сайт выдает данное сообщение… и удалить не получается
еще раз пытаюсь запустить сайт и получаю сообщение:
как я понял таблицы не хватает… а откуда мне ее взять???
public function deleteContentType($id){ $ctype = $this->getContentType($id); if ($ctype['is_fixed']) { return false; } $items = $this->getContentItems($ctype['name']); if ($items){ foreach($items as $item){ $this->deleteContentItem($ctype['name'], $item['id']); } } cmsCore::getModel('tags')->recountTagsFrequency(); $this->delete('content_types', $id); $this->delete('content_datasets', $id, 'ctype_id'); $table_name = $this->table_prefix . $ctype['name']; $this->db->dropTable("{$table_name}"); $this->db->dropTable("{$table_name}_fields"); $this->db->dropTable("{$table_name}_cats"); $this->db->dropTable("{$table_name}_cats_bind"); $this->db->dropTable("{$table_name}_props"); $this->db->dropTable("{$table_name}_props_bind"); $this->db->dropTable("{$table_name}_props_values"); cmsCache::getInstance()->clean("content.types"); return true; }
1. Тщательно почистить присутствие всех записей удаляемого типа контента из многих компонентов системы (активность, комментарии, рейтинг, теги и др.) Подробнее см. здесь: ..\system\controllers\content\model.php 1424-ая строка function deleteContentItem($ctype_name, $id)
2. Почистить таблицу cms_content_types (cms_ — префикс может отличаться) от удаляемого типа контента
3. Удалить все наборы удаляемого типа контента в таблице cms_content_datasets
4. Удалить таблицы cms_имятипаконтента, cms_имятипаконтента_fields, cms_имятипаконтента_cats, cms_имятипаконтента_cats_bind, cms_имятипаконтента_props, cms_имятипаконтента_props_bind, cms_имятипаконтента_props_values
5. Зайти в Админ.панель -> Компоненты -> Теги и нажать "Пересчитать теги"
P.S. Проще конечно удалить тип контента через админ.панель, особенно если подумать сколько надо чистить другие компоненты от ссылок записей удаляемого типа контента.
В таблице cms_content_types перечислены все типы контента в системе (статьи, посты, новости и др.) в том числе должен быть и ваш Videodiz. Удалите строку с вашим типом контента.старого контента вообще там нет. я импортирую БД старого сайта и при попытке открыть сайт выдает данное сообщение… и удалить не получается
т.е., по идее, в виджетах не должно быть ссылок на записи этого типа контента.старого контента вообще там нет
Тем не менее проверить это будет не лишним)))
я удалил из cms_content_types каталог Videodiz, но теперь другое сообщение выдает
SELECT i.* FROM cms_con__cats i ORDER BY i.ns_left
SELECT i.* FROM cms_con_Katalog_cats i ORDER BY i.ns_left
внимание разработчиков — припишите где-то, чтобы юзер не мог указывать имя с большой буквы или автоматом переводилось бы в нижний регистр
внимание разработчиков — припишите где-то, чтобы юзер не мог указывать имя с большой буквы
/system/core/controller.php аналогичную функцию привести вот к такому виду
public function validate_sysname($value){ return true; }
p.s. в релизе поправим тоже.