Перейти к публикации

Автоматическое изменение размера для удаленных изображений


Рекомендованные сообщения

Здравствуйте!

У меня есть база, в которой у большинства новостей вставлены удаленные картинки тегами img - /img. Ранее, у меня не стояло опции уменьшения удаленных изображений, т.к. шаблон был сильно резиновый. Теперь же, в связи с планируемым изменением шаблона на не-резиновый, может потребоваться уменьшение все этих картинок.

Установка в Админке параметра 320 в поле "Автоматическое изменение размера для удаленных изображений" не помогла, все осталось, как было.

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

А поскольку некоторые изображения у меня сильно большого размера, то просмотр их с шириной 320 - не есть разумный выход.

В теории я вижу 2 варианта, но не знаю как реализовать их на практике:

- либо как-то через css или javascript прикрутить к каждой картинке кликабельность, чтобы она увеличивалась на АЯКСе, также как и все загружаемые изображения;

- либо как-то сделать, чтобы движок "переработал" существующие в базе ссылки на картинки, и добавил к ним актуальные параметры.

Это возможно? Или, м.б., есть еще какие-нибудь варианты решения вопроса?

Спасибо!

P.S. Если необходимо, ссылку на сайт пришлю в личку. Не особо хочу афишировать.

P.P.S. Ах, конечно же, версия DLE - 7.5, естественно лицензия.

Ссылка на сообщение
Поделиться на других сайтах

Установка в Админке параметра 320 в поле "Автоматическое изменение размера для удаленных изображений" не помогла, все осталось, как было.

Новость нужно пересохранить, для вступления изменений в силу.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо, но не подходит. В моем случае ситуация усугубляется следующим: фотографии находятся на том же сервере, где и движок. И пути в тегах img были прописаны не абсолютные, а относительные вида

[img=/users_artwork/user_name/artwork1.jpg]

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

Я проверил: если пересохранить новость - они не уменьшаются. Потом ручками поменял одну ссылку на абсолютную (sitename.com/pic.jpg), и фото уменьшилось.

При этом появилось еще одно НО: в связи с тем, что многие фото у меня СИЛЬНО большого размера (около 4-6 тыс. пикселей по высоте, по длине меньше, но тоже не мало), то увеличение их через highslide не приближает фото до 100%, а лишь увеличивает его до вертикального размера окна браузера. Соответственно фотографию толком не видно.

Каким я вижу решение. Идеальный вариант, с помощью которого можно было бы убить двух зайцев - при помощи css классов уменьшать фотки в полной и краткой новостях до нужной ширины (это я уже научился) и как-нибудь при помощи того же css, яваскрипт или чего-то другого присваивать им какой-нибудь класс, который бы говорил браузеру, что при клике по уменьшенной фотке, надо через HIGHSLIDE открывать изображение в 100% масштабе, а не уменьшенное до размера окна браузера.

Это идеальный вариант. Если такого сделать НИКАК НЕЛЬЗЯ, тогда можно попробовать и через Автозамену поменять в базе все ссылки на абсолютные, но при этом все равно останется проблема с увеличением через hihgslide до 100%-го масштаба. Подчеркну еще раз, что замена ссылок на абсолютные КРАЙНЕ не желательна.

Заранее большое спасибо!

Ссылка на сообщение
Поделиться на других сайтах

Предыдущее сообщение можно не читать внимательно, основное - ниже.

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

Поэтому единственно возможный вариант, который я вижу - это описанный выше идеальный. На всякий случай повторюсь. При помощи css классов уменьшать фотки в полной и краткой новостях до нужной ширины (это я уже научился) и как-нибудь при помощи того же css, яваскрипт или чего-то другого присваивать им какой-нибудь класс, который бы говорил браузеру, что при клике по уменьшенной (с помощью css) фотке, надо через HIGHSLIDE открывать изображение в 100% масштабе, а не уменьшенное до размера окна браузера.

Ссылка на сообщение
Поделиться на других сайтах

всё намного проще...

1. делаешь доп поля

2. загружаешь в доп. поля картинки

3. прописываешь в шортстори фуллстори где необходимо...

<img src="[тегдопполясименем]" width="ширина" height="высота">

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

Ссылка на сообщение
Поделиться на других сайтах

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

Точнее нет, если бы только это. Есть более серьезная трудность - в каких-то новостях по одному изображению, а в каких-то по 30. Получается, что надо 30 доп полей сделать И потом все новости редактировать, перемещая ссылку в доп.поле. Как вариант, конечно, можно, но...

Но ведь было бы куда проще в шаблонах краткой и полной новости присвоить картинкам определенные классы, в css указать нужную ширину для картинок этих классов, и потом как-то сделать, чтоб обрабатывался этот класс картинок highslide'oм. Главный вопрос - как? Можно ли в начало шаблона вставить какой-нибудь javascript (или другой) код, который бы переписывал вывод ссылки?

Если точного решение неизвестно, то подскажите хотя бы приблизительно, где искать. Спасибо!

P.S. А то я уже вообще подумываю остаться на старом, табличном, абсолютно не валидном, но зато резиновом шаблоне :huh:

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...