Работа изображений в instantcms

#16 21 мая 2015 в 15:15


3. Так же при редактирование страниц тоже не удаляет.

Гарри

• Mike •
И!!???


Редактирование страниц — это имелось в виду страниц, а не редактор текста. А ещё есть посты, статьи, объявления и т.д.
#17 21 мая 2015 в 15:19
У вас изображение вставленное через редактор…
на скриншоте, поэтому и уточнил…
#18 21 мая 2015 в 16:08
На самом деле дело обстоит следующим образом:
Записи обо всех загруженных изображениях есть в `cms_upload_images`, без разницы, отображается это изображение на страницах сайта или нет.
При удалении или редактировании эти записи тоже не удаляются, как и сами изображения. Так что сравнивать список файлов с этой таблицей смысла нет.
Но, ссылки на существующие ссылки на папку, например, /upload/comments есть в таблице cms_comments в колонке content_bbcode.
Также в этой колонке лежит куча всяких смайликов и прочей шелухи, поэтому для вывода только картинок использовал следующий код:

  1. $sql = "SELECT content_bbcode FROM $table_name WHERE (locate('/upload/comments/',content)>0) ORDER BY id ";
Теперь список имен картинок реально отображаемых на сайте отлично выводится. Осталось как-то сравнить с этой кучей список самих картинок, лежащих в папке /upload/comments
  1. $dir = 'upload/comments/';
  2.  
  3. $f = scandir($dir);
  4.  
  5. foreach ($f as $file){
  6. if(preg_match('/\.(gif|jpg|png)/', $file)){
  7. $file= "/upload/comments/".$file.'<br/>';
  8. echo $file;
И удалить те, которые совпадения с записями в content_bbcode не имеют. smile
#19 21 мая 2015 в 16:48

2. Тут при редактирование страниц вообще не удаляется даже в редакторе:

Гарри
/templates/default/js/files.js
строку
  1. $('#f_'+file_id+' input[name='+file_id+']').val('1');
измените на
  1. $('#f_'+file_id+' input[name='+file_id+'][type="hidden"]').val('1');
и очистите кеш браузера
#20 21 мая 2015 в 18:55
Сегодня заметил что если не создавать превью-изображенияМикро и маленький изображения совсем не загружаются
#21 28 мая 2015 в 16:14


2. Тут при редактирование страниц вообще не удаляется даже в редакторе:

Гарри
/templates/default/js/files.js
строку
  1. $('#f_'+file_id+' input[name='+file_id+']').val('1');
измените на
  1. $('#f_'+file_id+' input[name='+file_id+'][type="hidden"]').val('1');
и очистите кеш браузера

Fuze

cryВсе как-то уныло. Внес правки, в редакторе картина исчезает. Аллилуйя dance
scratchИ всё!!! При сохранение страницы этот файл как был так и остается на месте. Если опять редактировать страницу… фокус покус это картинга опять на месте. Писать, что сам файл картинки остается на диске хостинга думаю совсем неуместно.
#22 28 мая 2015 в 17:56
Гарри, как вы считаете, если бы я это решение сам не проверил, я бы стал его писать?
Я процитировал что именно эта правка исправляет. Говорить про кеш браузера надеюсь не надо, само собой подразумевается?
#23 28 мая 2015 в 19:34
Добавил корректировки в файл files.js на чистой системе. Создал объявление. Добавил фотографию, добавил две дополнительные фотографии. В файловой системе создалось несколько файлов картинок разного размера. Удалил одну дополнительную фотографию. Количество файлов фото не уменьшилось, а в объявлении исчезло одно фото из отображения. Удалил второе доп фото. Количество файлов не уменьшилось. Удалил основную фотографию количество файлов в папке \upload\000\u1\000\ уменьшилось. Но остались файлы фото от дополнительных фотографий. Создал другое объявление. Также добавил три фотки. Удалил объявление, файлы картинок этого объявления из папки \upload\000\u1\000\ удалились все. Вывод. Надо что-то подправить в обработке поля "Набор изображений" на удаление файлов.
#24 29 мая 2015 в 09:42

Говорить про кеш браузера надеюсь не надо, само собой подразумевается?

Fuze
Честно написать об этом даже не подумал. Но сейчас перепроверил(даже в другом браузере). Все остается так же и на удаление файла с жесткого диска как я думаю кеш не влияет.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.