создание своей CMS. как добавлять картинки?

SN
На сайте с 04.07.2013
Offline
84
766

Интересует сама модель, архитектура так сказать.

У меня сейчас так:

В админке выбираю картинку, она загружается на сервак а в текст добавляется ссылка. Этот текст с html кодом ссылки идет в базу данных.

Мне бы хотелось чтобы картинки не зависили от текста. Например в тексте 20 картинок большого формата. Для мобильной версии сайта я хочу чтобы эти картинки были меньшего формата или не все. Так же для версии для печати.

Надеюсь понятно объяснил что я хочу. Как лучше сделать? :confused:

DV
На сайте с 01.05.2010
Offline
644
#1

Введите формат медиа данных (оригинал, средние, мелкие).

Храните только оригинал, а остальное пусть генерирует скрипт при запросе и складывает в кэш.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Ш
На сайте с 29.12.2012
Offline
45
#2

Для разных размеров под разных шаблонов - после загрузки на сервер большой картинки делайте на сервере тем же GD необходимое количество копий/превьюшек нужного размера. На счет чтобы в мобильной версии были не все картинки - поставьте ограничение, сколько и каких выводить.

Оффтоп: а зачем Вам своя CMS?

Пока писал ответ, DenisVS ответил-)

SN
На сайте с 04.07.2013
Offline
84
#3
Шварц:
Для разных размеров под разных шаблонов - после загрузки на сервер большой картинки делайте на сервере тем же GD необходимое количество копий/превьюшек нужного размера. На счет чтобы в мобильной версии были не все картинки - поставьте ограничение, сколько и каких выводить.

Оффтоп: а зачем Вам своя CMS?
Пока писал ответ, DenisVS ответил-)

В базе то хранится текст с кодом ссылки на картинку определенного размера. Можно конечно в базе создать отдельное поле для полной версии, мобильной, версии для печати и для каждой будет генерироваться свой текст с ссылками на соответствующие превьюшки. Вот только база разрастется в три раза минимум, а это повлияет на скорость.

Кстати как вариант я думал анализировать текст с помощью регулярных выражений и вносить правки в зависимости от версии страницы, но мне кажется это тоже нагрузка на сервер большая.

Я CMS я написал потому что готовые не устраивают ни в плане SEO ни в плане гибкости.

---------- Добавлено 28.04.2015 в 17:43 ----------

DenisVS:
Введите формат медиа данных (оригинал, средние, мелкие).
Храните только оригинал, а остальное пусть генерирует скрипт при запросе и складывает в кэш.

А этот скрипт можно написать на PHP ? Или только JS, Ajax? Мне приходили похожие мысли но показалось что это на PHP это невозможно сделать. Покрайней мере пока идей нет.

DV
На сайте с 01.05.2010
Offline
644
#4

SeoNk, выше вам про GD идею подали. Погуглите.

Ш
На сайте с 29.12.2012
Offline
45
#5
SeoNk:
В базе то хранится текст с кодом ссылки на картинку определенного размера. Можно конечно в базе создать отдельное поле для полной версии, мобильной, версии для печати и для каждой будет генерироваться свой текст с ссылками на соответствующие превьюшки. Вот только база разрастется в три раза минимум, а это повлияет на скорость.
Кстати как вариант я думал анализировать текст с помощью регулярных выражений и вносить правки в зависимости от версии страницы, но мне кажется это тоже нагрузка на сервер большая.

Я CMS я написал потому что готовые не устраивают ни в плане SEO ни в плане гибкости.

Зачем для 1 картинки хранить несколько ссылок в БД? В БД для 1 картинки хранится 1 поле, например "image1.jpg". Копии различного размера хранятся каждая в своей директории. Для вывода полной картинки в шаблоне используете путь типа "/fullimages/image1.jpg", для этой же картинки среднего размера - "/mediumimages/image1.jpg", для маленьких = "/smallimages/image1.jpg".

web-developer
На сайте с 24.11.2014
Offline
15
#6
Я CMS я написал потому что готовые не устраивают ни в плане SEO ни в плане гибкости.
как добавлять картинки?

Может не стоит?

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

SM
На сайте с 03.09.2009
Offline
83
#7
Шварц:

Оффтоп: а зачем Вам своя CMS?

Свои более оптимизированные, более легкие, более гибкие, легче добавить свой функционал чем от версии к версии общеупотребимых cms разбираться что к чему. Меньше уязвимостей при должной квалификации, или ты знаешь где они)

***

По картинкам делаю так:

Превью картинок чтобы небыло необходимости разные мелкие форматы хранить, делаю средние 150-200 px в ширину. Если вдруг верстку поменять от 50 до 300 px они хорошо тянутся, их использовать в анансах статей, они же в галерее, все одна картинка.

Сами картинки которые иллюстрации в статье, тоже средний размер выбрать. Чтоб и при больших разрешениях если надо чуть растянулись, при маленьких и на мобильных ужались, но сами файлы те же остались.

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

Верстка если нужна другая на мобильных и параметры ширины картинок, если лишние скрывать картинки или другой формат галереи картинок все через Javascript параметры верстки регулировать можно.

--

Добавил: В html код ширины, высоты картинок не прописываем, прописываем какой ни-будь придуманный параметр в класс и через css задаем размеры.

дани мапов
На сайте с 06.09.2012
Offline
204
#8
SeoNk:
Кстати как вариант я думал анализировать текст с помощью регулярных выражений и вносить правки в зависимости от версии страницы, но мне кажется это тоже нагрузка на сервер большая.

Нормальное решение, можно и не регулярками, а через str_replace производить замену названия папки.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
Plazik
На сайте с 29.07.2008
Offline
168
#9
SL.ME:
Свои более оптимизированные, более легкие, более гибкие, легче добавить свой функционал чем от версии к версии общеупотребимых cms разбираться что к чему. Меньше уязвимостей при должной квалификации, или ты знаешь где они)

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий