|
|
05.12.2006, 18:47
|
|
Гость
Гость
|
Нужно сделать чтобы картинка в разделе товары еще и увеличивалась, как это можно осуществить?
|
|
|
06.12.2006, 11:47
|
|
Кирилл Хряпин
NetCat
Зарегистрирован: 2006-06-15
Сообщений: 207
|
Необходимо добавить дополнительное поле "Большая картинка" (BigImage) к шаблону "Товар". При редактировании товара нужно будет указывать две картинки (уменьшенную и большого размера). Ссылка на новую картинку будет доступна в переменной $f_BigImage.
|
|
|
06.12.2006, 12:55
|
|
Гость
Гость
|
Немного не понятно, как саму ссылку сделать при момощи переменной $f_BigImage?
|
|
|
06.12.2006, 16:32
|
|
Гость
Гость
|
Код:<a href="$f_BigImage" target="_blank"><img src="$f_SmallImage"></a>
|
|
|
06.12.2006, 16:55
|
|
Гость
Гость
|
А как сделать, чтобы закрывалась, при помощи щелчка по открытому увеличенному изображению?
|
|
|
06.12.2006, 17:22
|
|
Гость
Гость
|
Это ты немножко не то написал. По шаблону фотогаллереи можно понять что как то по другому это делается, вот только как?
|
|
|
06.12.2006, 18:38
|
|
Bash
Х
Зарегистрирован: 2006-12-06
Сообщений: 23
|
Сохрани этот код в файле с именем graph.php и сохрани в корневой папке своего сайта:
Код:<?echo "<html><head><title>$title</title></head><body onload="window.resizeTo($w,$h); function ow(){window.moveTo(Math.ceil((window.screen.width - $w) / 2),Math.ceil((window.screen.height - $h) / 2))}; ow()" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0><a href="javascript:self.close()"><img src="$path" alt="$title" border=0></a></body></html>";?>
В шаблоне, вставь код:
Код:
".opt($size=getimagesize($DOCUMENT_ROOT.str_replace("h_","",$f_BigPic)),"")."
".opt($path=nc_file_path(43, $f_RowID, 'BigPic',''),"")."
<A href="/graph.php?title=$f_Name&w=$size[0]&h=$size[1]&path=$path" onclick="window.open('/graph.php?title=$f_Name&w=$size[0]&h=$size[1]&path=$path','title','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1'); return false;" title="Увеличить">
<IMG src="$f_Pic" alt="" border="0"></A>
Замени все имена полей на те, которые у тебя в шаблоне. И исправь номер шаблона (43) на свой, в функции nc_file_path.
Этот скрипт выводит большое изображение, при нажатии на превьюшку и выравнивает окно по центру экрана.
Скрипт индексируется поисковиками и может работать даже если у пользователя отключен JavaScript
|
|
|
07.12.2006, 07:42
|
|
Гость
Гость
|
Выдает такую ошибку, это че?
Warning: getimagesize(c:/apache_swissknife/сайты/localhost01/html/): failed to open stream: Permission denied in c:apache_swissknifeсайтыlocalhost01htmlnetcatrequires_list.inc.php(487) : eval()'d code on line 17
Fatal error: Call to undefined function: nc_file_path() in c:apache_swissknifeсайтыlocalhost01htmlnetcatrequires_list.inc.php(487) : eval()'d code on line 18
|
|
|
07.12.2006, 11:13
|
|
Гость
Гость
|
OPT не IF - он всё равно вызовет функцию getimagesize, хоть и стоит проверка на наличие файла. А если файла нет, то она и вывалит ошибку. Решение - использовать @getimagesize или конструкцию IF.
|
|
|
07.12.2006, 16:06
|
|
Лаошвили Гоча
Зарегистрирован: 2006-12-06
Сообщений: 20
|
для этого существует "Шаблон отображения одного объекта на отдельной странице"
а в ссылку просто пропишешь <a href='$fullLink'></a>
а уже в шаблоне отображения одного объекта пропишешь яваскрипт на $f_BigImage
|
|
|
07.12.2006, 18:40
|
|
Bash
Х
Зарегистрирован: 2006-12-06
Сообщений: 23
|
Очевидно у вас не самая последняя версия NetCat. Этот способ проверялся только на версии 243, там новая файловая система (которая, кстати говоря, стала совершенно нелогичная и запутанная) Попробуйте что-нибудь вроде этого: getimagesize($sub_host."/".$f_BigPic)
Цитата:для этого существует "Шаблон отображения одного объекта на отдельной странице"
а в ссылку просто пропишешь <a href='$fullLink'></a>
а уже в шаблоне отображения одного объекта пропишешь яваскрипт на $f_BigImage
А если мы УЖЕ находимся на $fullLink и нам надо оттуда щелкнуть на картинке, чтобы она открылась в новом окне и закрылась по щелчку мышки на ней.
Ваш вариант подходит только для фотогалереи, где каждая картинка добавляется отдельной записью. Нам-же, к примеру, требуется увеличить картинку в контексте какой-нибудь новости.
Это можно сделать средствами неткат, только если хранить картинки в другом, скрытом шаблоне, и присваивать каждой картинке ID-шник статьи, в котором она должна быть. А в каждой статье вытаскивать нужные картинки с помощью listQuery("SELECT Picture FROM MessageXX WHERE Picture_ID=$f_RowID","$data[Picture]")."
Тогда можно будет сделать как вы сказали, но это уж очень много времени требует на отладку и не каждому под силу...
|