Вы не вошли.
Добрый день .30 минут покапался на форуме но так и не пришел к нужному ответу.
А именно мне на сайт вставляют большие изображения.Из за этого сам сайт настолько растягивается что его вообще невидно. Ну вот и мне нужно чтоб человек к примеру если он вставил картинку с другого фотохостинга. (Именно что с другого а не на мой сайт). Так как на мой сайт нельзя заливать. Изображения уменьшалось до заданного параметра по ширине. Ну не превышала заданный параметр . Вот посмотрел тут на форуме нашел плагин Highslide JS .Но из его описания я понял что картинки должны заливаться на свой сайт.Значит не подходит .
Есть ли какое то решения уменьшения этих картинок напишите пожалуйста и как . Спасибо
Вне форума
dzheker, я бы сделал так. Прописал в css, максимальный размер изображения max-width, для div в котором выводится {short-story} и {full-story}
Пример news.full.tpl:
<div class="news">
<h2>{title}</h2>
<div class="telo">
{full-story}
</div>
</div>В css добавляешь:
.telo img {max-width: 660px;}Получится, что в твоей полной новости, максимальный размер изображения будет 660px. Ты пропиши исходя из своего дизайна, максимальную ширину и все будет ОК :)
Отредактировано RocketBoy (2010-12-09 16:04:31)
Вне форума
dzheker, я бы сделал так. Прописал в css, максимальный размер изображения max-width, для div в котором выводится {short-story} и {full-story}
Пример news.full.tpl:<div class="news"> <h2>{title}</h2> <div class="telo"> {full-story} </div> </div>В css добавляешь:
.telo img {max-width 660px:}Получится, что в твоей полной новости, максимальный размер изображения будет 660px. Ты пропиши исходя из своего дизайна, максимальную ширину и все будет ОК :)
А можно понаглядней ??? Ну вот у меня есть кусок как его вставить то правильно то ???
<br />[/update]{short-story} [more][/more] {full-story}<div style="padding: 10px; text-align:center;">
Отредактировано dzheker (2010-12-09 16:06:03)
Вне форума
А все спасибо понял как сделать . Молодец спасибо огромное .
Я это {full-story} поменял на это <div class="telo">{full-story}</div>
А в цсс добавил
.telo, img {
max-width : 500px;
}
И все работает как нужно
Отредактировано dzheker (2010-12-09 16:20:59)
Вне форума
Мой вариант, заливаем скриптик:
function imgFit (img, maxImgWidth)
{
if (typeof img.naturalWidth == 'underfined')
{
img.naturalHeight = img.height;
img.naturalWidth = img.width;
}
if (img.width > maxImgWidth)
{
img.height = Math.round(((maxImgWidth)/img.width)*img.height);
img.width = maxImgWidth;
img.title = 'Увеличить';
img.style.cursor = 'move';
}
else if (img.width == maxImgWidth && img.width < img.naturalWidth)
{
img.height = img.naturalHeight;
img.width = img.naturalWidth;
img.title = 'Уменьшить :)';
}
}К картинкам дописываем, например это можно засунуть в обработку bbcode.
onLoad="imgFit(this, 500);" onclick="imgFit(this, 500);Если картинки вставляются через ['img] то наверно в файл parse.class.php найти и заменить:
array_push($rdest, "<img ".(implode(" ", $outkeys)).' onLoad="imgFit(this, 500);" onclick="imgFit(this, 500) />');Тогда картиночки красивенько будут уменьшаться и увеличиваться по клику.
Скрипт был в свое время выковырен с торы.
Вне форума
Интересный вариант . А не могли бы поподробней про установку сиво суда рассказать. А то не совсем понятно .
Вот это куда вcтавлять в какой файл ????
Мой вариант, заливаем скриптик:
function imgFit (img, maxImgWidth) { if (typeof img.naturalWidth == 'underfined') { img.naturalHeight = img.height; img.naturalWidth = img.width; } if (img.width > maxImgWidth) { img.height = Math.round(((maxImgWidth)/img.width)*img.height); img.width = maxImgWidth; img.title = 'Увеличить'; img.style.cursor = 'move'; } else if (img.width == maxImgWidth && img.width < img.naturalWidth) { img.height = img.naturalHeight; img.width = img.naturalWidth; img.title = 'Уменьшить :)'; } }К картинкам дописываем, например это можно засунуть в обработку bbcode.
onLoad="imgFit(this, 500);" onclick="imgFit(this, 500);Если картинки вставляются через ['img] то наверно в файл parse.class.php найти и заменить:
array_push($rdest, "<img ".(implode(" ", $outkeys)).' onLoad="imgFit(this, 500);" onclick="imgFit(this, 500) />');Тогда картиночки красивенько будут уменьшаться и увеличиваться по клику.
Скрипт был в свое время выковырен с торы.
Вот это куда вcтавлять в какой файл ????
function imgFit (img, maxImgWidth)
{
if (typeof img.naturalWidth == 'underfined')
{
img.naturalHeight = img.height;
img.naturalWidth = img.width;
}
if (img.width > maxImgWidth)
{
img.height = Math.round(((maxImgWidth)/img.width)*img.height);
img.width = maxImgWidth;
img.title = 'Увеличить';
img.style.cursor = 'move';
}
else if (img.width == maxImgWidth && img.width < img.naturalWidth)
{
img.height = img.naturalHeight;
img.width = img.naturalWidth;
img.title = 'Уменьшить :)';
}
}====================
И во это
onLoad="imgFit(this, 500);" onclick="imgFit(this, 500);Не понятно
И вот это вот ,что на что менять ???
['img] то наверно в файл parse.class.php найти и заменить:
array_push($rdest, "<img ".(implode(" ", $outkeys)).' onLoad="imgFit(this, 500);" onclick="imgFit(this, 500) />');Ну нужно понять что на что поменять и в какой файл чтоб это работало .
А так очень полезная вещь если конечно установить
Отредактировано dzheker (2010-12-09 20:55:48)
Вне форума
JavaScript можно записать в файл, например main.js, закинуть его в папку на сервер /js/ подключить его в шаблоне main.tpl например так:
<script language="JavaScript" type="text/javascript" src="/js/main.js"></script>Далее открываем файл engine\includes\classes\parse.class.php, находим там
array_push($rdest, "<img ".(implode(" ", $outkeys)).' />');Заменяем на:
array_push($rdest, "<img ".(implode(" ", $outkeys)).' onLoad="imgFit(this, 500);" onclick="imgFit(this, 500);" />');Думаю так.
Вне форума
[ Сгенерировано за 0.029 сек, 7 запросов выполнено - Использовано памяти: 561.91 Кбайт (Пик: 582.91 Кбайт) ]