Вы не зашли.
Добрый день .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 17: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 17:06:03)
Не в сети
Не в сети
А все спасибо понял как сделать . Молодец спасибо огромное .
Я это {full-story} поменял на это <div class="telo">{full-story}</div>
А в цсс добавил
.telo, img {
max-width : 500px;
}
И все работает как нужно
Изменено dzheker (2010-12-09 17: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 21: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);" />');
Думаю так.
Не в сети