Автор Тема: Как правильно организовать файлы на сервере в \uplod \download \cms  (Прочитано 2873 раз)

13 Февраль 2013, 00:42:32
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Использую Prestashop 1.5.3.1.
Облазил весь интернет, так и не нашел описания назначения папок и правильной организации файлов в Prestashop.
Где хранить файлы, используемые в CMS, FAQ, блоге и т.д.?
В одном только месте нашел, что изображения CMS должны по умолчанию храниться в \img\cms\
А видео и другое медиа, используемое для страничек CMS, блога и т.д. туда же закачивать? Можно ли там делать подпапки?
Я сейчас сделал подпапки в папке \upload и гружу туда файлы, используемые в контенте сайта. Такую структуру.
\upload\files
\upload\flash
\upload\images\articles
\upload\images\categories
\upload\images\logos
\upload\images\manufacturers
\upload\images\news
\upload\images\products
\upload\images\stores
\upload\images\suppliers
\upload\media
\upload\price
Но вот случайно выяснилось, что в эту же папку \upload\ в корень грузятся файлы, загружаемые заказчиками. Нет ли здесь проблем с безопасностью сайта?

А для чего папка \download ? Какие файлы туда помещать?
Какие права надо давать на все эти папки и подпапки?
Поделитесь, как правильно организовать папки на сайте. Где размещать и права папок:
- файлы для скачки заказчиками - прайсы, скачиваемый контент
- папки для хранения закачиваемых заказчиками данных - их фото и прочее
- папки для различного контента сайта: картинки галерей, статей, видеофайлы, логотипы товаров, производителей и прочее.

Есть ли ограничения Prestashop в отношении них, например, все картинки для CMS должны быть обязательно именно в \img\cms\ ?
13 Февраль 2013, 12:03:39
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102479
  • Репутация: +34219/-0
    • Просмотр профиля
Файлы автогенерации, такие как счет-фактуры pdf, изображения товаров, категорий, страниц смс, prestashop сохраняет в папках, которые определены правилами системы.
Структура файлов в Prestashop.
Download
Содержит файлы которые могут скачать пользователи, например, счета pdf.
Upload
Для файлов, которые клиент хочет добавить, например, прикрепляет к письму.
Img
Содержит медиа-файлы. Картинки, флеш, сцены и т.д.
Где хранятся картинки в PrestaShop?
В Prestashop 1.5 можно поменять рассположение картинок, установив в админке новую папку.

Кроме этих папок, медиа-файлы могут размешаться непосредствено в папках модулей, которые используют картинки, баннеры, флешролики и т.д.
Например, модуль Слайдшоу на главной странице хранит свои слайды в папке:
/modules/homeslider/images/...
Права доступа к папкам и файлам устанавливаются как при инсталяции.
Инсталляция PrestaShop
13 Февраль 2013, 18:05:14
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ!


Осталось кое-что неясное.

1. Папка \img\cms, какое назначение имеет? Она создается Prestashop 1.5 при инсталляции. Соответственно свои картинки для контента, видео и желательно загонять туда, чтобы какое-то смысловое единообразие было?

2. В \download помещать скачиваемые товары, т.е. те, что добавляются в корзину?

3. По поводу того, что \download "Содержит файлы которые могут скачать пользователи, например, счета pdf." Счета к заказам ведь генерируются на лету? Я проверял эту папку после скачки счетов к своим тестовым заказам - в этой папке ничего нет. Я, правда, проверяю на локальном сервере - может здесь они помещаются в папку \TEMP системы и потом удаляются автоматом.

Хочется до конца разобраться в данном вопросе.

4. "В Prestashop 1.5 можно поменять расположение картинок, установив в админке новую папку." А где именно устанавливается это?
13 Февраль 2013, 21:03:59
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86543
  • Репутация: +25419/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В папку \img\cms сохраняются картинки, видео которые вставляете на страницы смс.
В  \download храняться все файлы, которые клиент может скачать. Создали продукт, вложили файл, он в этой папке сохраниться.
Для смены системы хранения изображений нужно в админке, в меню
Настройка -> Изображения
Указать Использовать совместимую файловую систему изображений : Да/Нет
Нажать кнопку Перемещение изображений.
14 Февраль 2013, 00:25:40
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ!

Вот только не понял вот это:

Для смены системы хранения изображений нужно в админке, в меню
Настройка -> Изображения
Указать Использовать совместимую файловую систему изображений : Да/Нет
Нажать кнопку Перемещение изображений.

Как это влияет на организацию файлов контента и работу с ними? Какой вариант удобнее? Поделитесь личным опытом организации - это лучше всего будет новичкам типа  меня.

А вообще вопрос был по поводу цитаты Виктора:
В Prestashop 1.5 можно поменять расположение картинок, установив в админке новую папку.

Это как-то связано с совместимой системой хранения файлов?


Поделитесь, пожалуйста, здесь личным опытом, кто и как организовывает на серверы файлы контента: от именования и расположения папок до именования файлов.

 
14 Февраль 2013, 15:35:29
Ответ #5
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102479
  • Репутация: +34219/-0
    • Просмотр профиля
В Prestashop 1.5 новай порядок хранения изображений. Как заявили разработчики системы, это более логичная (понятная) структура и позволяет избавиться от многих проблем, такие как например, ошибки перегенерации. Плюс еще и в том, что повышается производительность.
Но многие сайты, которые работают на старой версии, содержат большое количество тоаров (изображений). Чтобы при обновлении не было проблем с показом картинок, была встроена возможность использовать старую структуру папок.
Если вы только установитли prestashop или у вас мало товаров, то лучше перейти на новую систему хранения изображений.
14 Февраль 2013, 17:30:09
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1288
  • Репутация: +34/-1
  • Сообщество PrestaShop
    • Просмотр профиля
На 1.4 не работала генерация миниатюр. Ошибок никаких не было, просто не генерировались превьюшки. Обновил до 1.5 и решил  сменить старые файлы картинок, сделать как положено в новой версии. Нажал - Перегенерировать изображения, ничего не менял, файлы картинок не трогал. Сработало без ошибок.
В настройках - Использовать совместимую файловую систему изображений отметил "Нет".
При генерации отметил еще - Удалить старые изображения.
Все работает. Теперь если добавляю изображения, то генерация без ошибок.
Так что лучше по версии 1.5.
Сейчас у меня картинки храняться так, /img/p/1/0/ - здесь все варианты для картинки 10. Это для продуктов.
Блог стоит, так в там в модуле есть папка img в ней храняться.
Для страниц сначала все в одну папку ложил img/cms, потом переделал, для каждой страницы создал отдельную папку в основной и сейчас так  img/cms/about/
Для категорий тоже в одной папке /img/c/, у меня их не много, поэтому устраивает.
14 Февраль 2013, 21:13:53
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за комменты. Особенно интересен личный опыт Mr.Sen :)

Я тоже храню в 1.5. Не очень нравится система Prestashop, когда нарушаются изначально заданные имена картинкам товаров. При сохранении на диск с сайта, конечно, он вставляет ЧПУ в имена картинок. Но ЧПУ одинаково для всех картинок одного товара. Надо было бы хотя бы альтерантивный текст в формате ЧПУ штамповать в имени файла.

А искать владельцу на сервере по ID каталога, затем подкаталога, потом товара - это просто мучение. Гораздо легче было бы если бы имя сохранялось самим Prestashop. И плюс в имени штамповали бы размер или тип. В  общем, мне кажется там над юзабилити никто не работает.

Наверно тоже буду хранить картинки CMS в папках по названиям статей - есть смысл.

Кстати, ужасно не понравилось в Prestashop 1.5.3.1 то, что закачиваемые заказчиками файлы картинок большого размера показываются в товаре, с которым они связаны в полный размер, наползая на правую колонку. Это сводит эту полезную фичу вообще на нет. Надо было бы, чтобы показывалось в товаре в размере, не нарушающем шаблон (я использую default) и увеличивать при необходимости до реального по щелчку.

Это я отвлекся.

А Вы указываете в статьях абсолютные пути к картинкам и медиа или относительные?

Здесь есть проблема тоже. Я хотел указывать относительные. Но встроенный редактор tinyMCE требует указывать их как /img/......, а некоторые другие (Dreamviewer и некоторые другие)  вроде по другому, не помню точно, какжется без слеша вперели т.е. img/.....

Тоже сложности с переносом на другой домен могут возникнуть.

И еще, в tinyMCE в браузере ajaxfilemanager надо задавать папку внутри которой он будет искать медиафайлы (выше прыгнуть не дает). Т.е. придется все запихивать в img/cms в любом случае - и видео, и картинки и задать ее в качестве верхней для ajaxfilemanager.


15 Февраль 2013, 15:23:33
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 14066
  • Репутация: +14569/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Кстати, ужасно не понравилось в Prestashop 1.5.3.1 то, что закачиваемые заказчиками файлы картинок большого размера показываются в товаре, с которым они связаны в полный размер, наползая на правую колонку. Это сводит эту полезную фичу вообще на нет. Надо было бы, чтобы показывалось в товаре в размере, не нарушающем шаблон (я использую default) и увеличивать при необходимости до реального по щелчку.
В престашопе 1.4 можно было настроить размеры для картинок. В меню Настройки и Товары указать макс. вес, ширина и высота. В престашоп 1.5 тоже должны быть эти функции.
15 Февраль 2013, 15:33:28
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105596
  • Репутация: +39548/-0
    • Просмотр профиля
    • Webstudio UwK
Цитата: Adik
Цитировать
Кстати, ужасно не понравилось в Prestashop 1.5.3.1 то, что закачиваемые заказчиками файлы картинок большого размера показываются в товаре, с которым они связаны в полный размер, наползая на правую колонку. Это сводит эту полезную фичу вообще на нет. Надо было бы, чтобы показывалось в товаре в размере, не нарушающем шаблон (я использую default) и увеличивать при необходимости до реального по щелчку.
В престашопе 1.4 можно было настроить размеры для картинок. В меню Настройки и Товары указать макс. вес, ширина и высота. В престашоп 1.5 тоже должны быть эти функции.
В prestashop v.1.5 максимальный размер изображений, загружаемых клиентами (в байтах) устанавливается в меню администратора,
Настройка > Изображения. Блок - Изображение товара.
Cоздание интернет сайтов Webstudio UwK
15 Февраль 2013, 15:40:25
Ответ #10
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105596
  • Репутация: +39548/-0
    • Просмотр профиля
    • Webstudio UwK
Цитата: ghhhhhh
Здесь есть проблема тоже. Я хотел указывать относительные. Но встроенный редактор tinyMCE требует указывать их как /img/......, а некоторые другие (Dreamviewer и некоторые другие)  вроде по другому, не помню точно, какжется без слеша вперели т.е. img/.....

Тоже сложности с переносом на другой домен могут возникнуть.

И еще, в tinyMCE в браузере ajaxfilemanager надо задавать папку внутри которой он будет искать медиафайлы (выше прыгнуть не дает). Т.е. придется все запихивать в img/cms в любом случае - и видео, и картинки и задать ее в качестве верхней для ajaxfilemanager.
Настроить редактор можно под ваши требования.
js/tinymce.inc.js
admin\themes\default\template\helpers\form\form.tpl
Cоздание интернет сайтов Webstudio UwK
18 Февраль 2013, 18:08:38
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Когда я говорил, про ужасный вид картинок, закачиваемых заказчиками, я имел в виду о картинках, закачиваемых через customzied  (я их перевел как "настраиваемые") поля в карточке товара. Попробуйте сами в 1.5.3.1 (а может и в Вашей версии). Поясню.

Предположим, Ваш магазин продает майки и на них могут перед доставкой напечатать фотографию, присланную клиентом. Создаете в карточке товара customzied поле. Разрешаете в настройках Prestashop закачивать заказчику большие (в пикселях) картинки - скажем, 1280x1024. Заказчик загружает через customzied поле картинку, сохраняет товар. Что Вы видите? Картинка расползается на правую колонку Prestashop.

А ка сделать, чтобы в сохраненном кастомизированном товаре показывалась миниатюра загруженной картинки ЗАДАННОГО размера, а по щелчку на нем в thickbox, например, показывалась картинка большого размера?

 
18 Февраль 2013, 18:08:55
Ответ #12
  • Фрилансер
  • *
  • Сообщений: 148
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля