Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-12-09 06:22:06

dzheker
Участник
Зарегистрирован: 2010-11-20
Сообщений: 19
Рейтинг :   

Как уменьшить сторонние изображения с фотохостинга

Добрый день .30 минут покапался на форуме но так и не пришел к нужному ответу.
А именно мне на сайт вставляют большие изображения.Из за этого сам сайт настолько растягивается что его вообще невидно. Ну вот и мне нужно чтоб человек к примеру если он вставил картинку с другого фотохостинга. (Именно что с другого а не на мой сайт). Так как на мой сайт нельзя заливать. Изображения уменьшалось до заданного параметра по ширине. Ну не превышала заданный параметр . Вот посмотрел тут на форуме нашел плагин Highslide JS  .Но из его описания я понял что картинки должны заливаться на свой сайт.Значит не подходит .

Есть ли какое то решения уменьшения этих картинок напишите пожалуйста и как . Спасибо

Не в сети

#2 2010-12-09 07:24:48

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: Как уменьшить сторонние изображения с фотохостинга

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. Ты пропиши исходя из своего дизайна, максимальную ширину и все будет ОК smile

Изменено RocketBoy (2010-12-09 17:04:31)

Не в сети

#3 2010-12-09 17:01:06

dzheker
Участник
Зарегистрирован: 2010-11-20
Сообщений: 19
Рейтинг :   

Re: Как уменьшить сторонние изображения с фотохостинга

RocketBoy пишет:

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. Ты пропиши исходя из своего дизайна, максимальную ширину и все будет ОК smile

А можно понаглядней ??? Ну вот у меня есть кусок как его вставить то правильно то ???


    <br />[/update]{short-story} [more][/more] {full-story}<div style="padding: 10px; text-align:center;">

Изменено dzheker (2010-12-09 17:06:03)

Не в сети

#4 2010-12-09 17:06:11

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: Как уменьшить сторонние изображения с фотохостинга

Ну вот у меня есть кусок как его вставить то правильно то ???

Тебе надо в style.css добавить, вот эту строку

.telo img {max-width: 660px;}

Не в сети

#5 2010-12-09 17:18:45

dzheker
Участник
Зарегистрирован: 2010-11-20
Сообщений: 19
Рейтинг :   

Re: Как уменьшить сторонние изображения с фотохостинга

А все спасибо понял как сделать . Молодец спасибо огромное  .


Я это {full-story}  поменял на это <div class="telo">{full-story}</div>

А в цсс добавил

.telo, img {
max-width : 500px;
}

И все работает как нужно

Изменено dzheker (2010-12-09 17:20:59)

Не в сети

#6 2010-12-09 18:18:35

d7p4x
Модератор
Зарегистрирован: 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Как уменьшить сторонние изображения с фотохостинга

Мой вариант, заливаем скриптик:

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) />');

Тогда картиночки красивенько будут уменьшаться и увеличиваться по клику.

Скрипт был в свое время выковырен с торы.

Не в сети

#7 2010-12-09 21:43:58

dzheker
Участник
Зарегистрирован: 2010-11-20
Сообщений: 19
Рейтинг :   

Re: Как уменьшить сторонние изображения с фотохостинга

Интересный вариант . А не могли бы поподробней про установку сиво суда рассказать. А то не совсем понятно .

Вот это куда вcтавлять в какой файл ????



d7p4x пишет:

Мой вариант, заливаем скриптик:

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)

Не в сети

#8 2010-12-09 22:27:36

d7p4x
Модератор
Зарегистрирован: 2008-10-13
Сообщений: 199
Рейтинг :   
Сайт

Re: Как уменьшить сторонние изображения с фотохостинга

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);" />');

Думаю так.

Не в сети

#9 2010-12-10 22:53:46

dzheker
Участник
Зарегистрирован: 2010-11-20
Сообщений: 19
Рейтинг :   

Re: Как уменьшить сторонние изображения с фотохостинга

d7p4x   Спасибо .Все работает

Не в сети

Подвал раздела

Работает на FluxBB