Увеличение изображений

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

Livestreet 1.0.1

Спасибо!

27 комментариев

avatar
Могу предложить вариант, который реализовал на одном из своих проектов (пример можно посмотреть тут на стене пользователя), где много предполагается много фотоматериалов. По клику фотография будет увеличиваться как в фотосете + под фотографией будет её описание. Для этого нужно отредактировать всего 2 файла.

1. В файле /engine/modules/image/Image.class.php в самом низу найти функцию public function BuildHTML и заменить следующим:

	public function BuildHTML($sPath,$aParams) {
		$sText='<a class="photoset-image" href="'.$sPath.'"><img src="'.$sPath.'" ';
		if (isset($aParams['title']) and $aParams['title']!='') {
			$sText.=' title="'.htmlspecialchars($aParams['title']).'" ';
			/**
			 * Если не определен ALT заполняем его тайтлом
			 */
			if(!isset($aParams['alt'])) $aParams['alt']=$aParams['title'];
		}
		if (isset($aParams['align']) and in_array($aParams['align'],array('left','right','center'))) {
			if ($aParams['align'] == 'center') {
				$sText.=' class="image-center"';
			} else {
				$sText.=' align="'.htmlspecialchars($aParams['align']).'" ';
			}
		}
		$sAlt = isset($aParams['alt'])
			? ' alt="'.htmlspecialchars($aParams['alt']).'"'
			: ' alt=""';
		$sText.=$sAlt.' /></a>
<div align="'.htmlspecialchars($aParams['align']).'"><font color="#888A85">'.htmlspecialchars($aParams['title']).'</font></div>';

		return $sText;
	}


2. В файле /config/jevix.php найти

			array(
				'img',
				array(...)
			),
и заменить на

			array(
				'img',
				array('src', 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center', 'middle'), 'width' => '#int', 'height' => '#int', 'hspace' => '#int', 'vspace' => '#int', 'class'=> array('image-center'))
			),

			array(
                                'div',
                                array('align'=> array('left','center','right'))
                        ),

			array(
                                'font',
                                array('color'=> array('#FCE94F','#EDD400','#C4A000',
                                                      '#FCAF3E','#F57900','#CE5C00',
                                                      '#E9B96E','#C17D11','#8F5902',
                                                      '#8AE234','#73D216','#4E9A06',
                                                      '#729FCF','#3465A4','#204A87',
                                                      '#AD7FA8','#75507B','#5C3566',
                                                      '#EF2929','#CC0000','#A40000',
                                                      '#FFFFFF','#D3D7CF','#BABDB6',
                                                      '#888A85','#555753','#000000',))
                        ),
avatar
avatar
Поменял на:
$sText='<a class="photoset-image" href="'.$sPath.'"><img src="'.$sPath.'" ';
avatar
Так блин, вы с самого начала не правильно сделали)
avatar
Fatal error: Uncaught exception 'Exception' with message 'Тег div отсутствует в списке разрешённых тегов' /www/engine/lib/external/Jevix/jevix.class.php:259 Stack trace: #0 [internal function]: Jevix->cfgAllowTagParams('div', Array) #1…


/www/engine/lib/external/Jevix/jevix.class.php on line 259
avatar
Удалил array(
'div',
array('align'=> array('left','center','right'))
),

array(
'font',


заработало

Огромное спасибо вам!
avatar
Ой, да да, я забыл кое что еще, в самом начале в файле jevix.php идет список разрешенных тегов:

			array(
				array('ls','cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h4', 'h5', 'h6', 'br', 'hr', 'pre', 'code', 'object', 'param', 'embed', 'blockquote', 'iframe','table','th','tr','td','div','font'),
			),	

Вот в конце нужно добавить div и font
avatar
Ну это конечно, так уже, опционально на счет цвета текста и выравниванию.
avatar
Огромное спасибо!
avatar
Не заметил ссылку на ваш сайт, у меня почему-то не так открывается, у меня просто открывается картинка, см: http://itsnon.com

может еще что-то добавить нужно?
avatar
с font и div я разобрался, но как у вас все равно не работает
avatar
Ммм, добавьте в /templates/skin/social/comment_tree.tpl в самое начало

<script type="text/javascript" src="{cfg name='path.root.engine_lib'}/external/prettyPhoto/js/prettyPhoto.js"></script>
<link rel='stylesheet' type='text/css' href="{cfg name='path.root.engine_lib'}/external/prettyPhoto/css/prettyPhoto.css" />
<script type="text/javascript">
	jQuery(document).ready(function($) {
		$('.photoset-image').prettyPhoto({
			social_tools:'',
			show_title: false,
			slideshow:false,
			deeplinking: false
		});
	});
</script>
avatar
Добавил в /templates/skin/synio/comment_tree.tpl
Не помогло
У меня тема synio, наверное в этом проблема?
avatar
Ладно, сутра напишу пост с инструкцией как сделать, где проверю на чистой ЛС.
avatar
А хотя я понял что я забыл) В jevix.php найти тег 'a' и добавить в разрешенных параметрах к нему 'class' => array('photoset-image'), чтобы получилось так:

			array(
				'a',
				array('title', 'href', 'rel' => '#text', 'name' => '#text', 'target' => array('_blank'), 'class' => array('photoset-image'))
			),
avatar
Не помогло))

Если не трудно — напишите пожалуйста
Большое спасибо за помощь =)
avatar
Вот отличный, но заброшенный плагин. Жаль что под 1.0.1 не допилили
  • Rega
  • +1
avatar
сделал все как в коментарии, но почему то открывается в новой вкладке
avatar
или хотя бы открывалось в новой вкладке
вы добились своего что еще нужно? подключайте библиотеки различные lightbox итп.
avatar
ау народ!!! Хелп ми плз
avatar
Это пробовали?
avatar
спасибо, теперь гуд
avatar
У тебя заработало как в примере или открывается в новом окне?
avatar
да
avatar
по-моему эту функцию увеличения изображения разработчикам нужно выделить отдельной строчкой в конфиге движка, для того чтобы у пользователя был выбор — использовать ее или нет. Это будет самым логичным…
avatar
у меня снова проблема с открытием
открывает в новой вкладке после добавления плагина «события»
В плагене события я покапался, вытался найти те же самые файлы ( думал туда тоже надо б=добавить эти строчки если есть такие файлы" но не 1 такого файла там нет

Что делать?
avatar
я выйснял, дело не в плагине, но почему то перестало работать
все перепроверил
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.