Александр 0 Опубликовано 15 апреля, 2012 Жалоба Share Опубликовано 15 апреля, 2012 Кто сталкивался, подскажите. Хочу сделать всплывающее окно со значением доп. поля. в product_info_v1.html : {if $extra_fields_data} {foreach name=aussen item=extra_fields from=$extra_fields_data} {$extra_fields.NAME}: {$extra_fields.VALUE}<br /> {/foreach} {/if} [/CODE] меняю на : [CODE] {if $extra_fields_data} {foreach name=aussen item=extra_fields from=$extra_fields_data} < a class="iframe" href="extrafield.php?products_id={$PRODUCTS_ID}">{$extra_fields.NAME}</a> {/foreach} {/if} extrafield.php кладу в корень. надо поправить код ентого файла: <?php require('includes/application_top.php'); echo {$extra_fields.VALUE};?> [/code] Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 15 апреля, 2012 Автор Жалоба Share Опубликовано 15 апреля, 2012 Пока решил так: в шапку: <link rel="stylesheet" href="popup.css" type="text/css" media="screen" /> <script type="text/javascript" src="js/popup.js"></script> <script type="text/javascript"> $(document).ready(function(){ PopUp($('#obj'), $('#trigg')); }); </script> [/CODE] [b]popup.js[/b]: [CODE] /** * @version 0.0.1 16.05.2011 $ * @package POP-UP jQuery * @copyright Copyright (C) 2011 - 2012 Open Source Matters. All rights reserved. * @license GNU/GPL * project page http://www.cleverscript.ru * support support@cleverscript.ru * author cleverscript */ function PopUp(obj,trig){ var html = obj.html(); obj.remove(); var body = $('body')[0]; var HTML="<div id='popup'><span id='cancel'></span>"+html+"</div>"; var win = $('<div id="win">'+HTML+'</div>'); win.appendTo(body); function showWin(){ $('#win').css({display: 'block'}); $('#popup').css({ display:'block', opacity:0, top: $(window).height()/2-$('#popup').height()/2+'px', left: $(window).width()/2-$('#popup').width()/2+'px' }); $('#popup').css('opacity', 1); } if($(trig)){ $(trig).click(function(){ showWin(); }); } if($('#cancel')){ $('#cancel').click(function(){ $('#win').css('display', 'none'); }); } } popup.css: .cb { clear:both !important; height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; line-height:0 !important; font-size:0 !important; } #win{ position:absolute; z-index:2000; top:0; left:0; background:url(img/win.png); display:none; height:100%; width:100%; } #popup{ padding:0; background:#FFFFFF; position:fixed; width:400px; height:300px; text-align:center; z-index:3000; } #cancel{ display:block; float:right; width:15px; height:15px; background:url(img/close.gif) no-repeat; cursor:pointer; position:absolute; top:4px; right:4px; } #obj{display:none;} .sample{padding:20px;} [/code] Ну и сам [b]product_info_v1.html:[/b] [color=#008000][i][b]{if $extra_fields_data} {foreach name=aussen item=extra_fields from=$extra_fields_data} <a id="trigg" href="javascript:void(0);">{$extra_fields.NAME}</a><div id="obj"><div class="sample"> {$extra_fields.VALUE}</div></div> {/foreach} {/if}[/b][/i][/color] Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 15 апреля, 2012 Автор Жалоба Share Опубликовано 15 апреля, 2012 Хотя первый вариант был бы интересен. Но у меня в базе в таблице extra_fields \ extra_fields_info пусто. Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 15 апреля, 2012 Автор Жалоба Share Опубликовано 15 апреля, 2012 Чего-то я тупанул. В шапку к фэнсибоксу крепим : $("a#inline").fancybox({ "hideOnContentClick": true }); [/CODE] а в product_info_v1.html : [CODE] {if $extra_fields_data} {foreach name=aussen item=extra_fields from=$extra_fields_data} <a id="inline" href="#{$extra_fields.ID}">{$extra_fields.NAME}</a><div style="display: none;"><div id="{$extra_fields.ID}"> {$extra_fields.VALUE}</div></div> {/foreach} {/if} ... только $extra_fields.ID не работает :( Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 апреля, 2012 Жалоба Share Опубликовано 15 апреля, 2012 Так а посмотрите в /includes/modules/product_info.php Есть ли там в массиве $extra_fields_data ID Наверное нужно добавить. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 15 апреля, 2012 Жалоба Share Опубликовано 15 апреля, 2012 ну вообще то Вы в корне не правы с фанси боксом. jQuery("a[rel=example_group]").fancybox({ 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'titlePosition' : 'inside', 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { return '<span id="fancybox-title-inside">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>'; } }), jQuery("#fancyform").fancybox({ 'titlePosition' : 'inside', 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'hideOnContentClick' : false, "frameWidth" : 300, // ширина окна, px (425px - по умолчанию) "frameHeight" : 200, // высота окна, px(355px - по умолчанию) }) <a id="fancyform" href="#fancyform" title="лалала">лала</a> <div style="display: none;"> <div id="fancyform"style="width:200px;height:80px;overflow:auto;" > содержимое </div> </div> это если выводить контент который уже выводится на странице а если ВАм нужно открыть в всплыхивающем окне содержимо, то вот jQuery("a.gallery2, a.iframe").fancybox( { "padding" : 20, // отступ контента от краев окна "imageScale" : true, // Принимает значение true - контент(изображения) масштабируется по размеру окна, или false - окно вытягивается по размеру контента. По умолчанию - TRUE "zoomOpacity" : true, // изменение прозрачности контента во время анимации (по умолчанию false) "zoomSpeedIn" : 700, // скорость анимации в мс при увеличении фото (по умолчанию 0) "zoomSpeedOut" : 500, // скорость анимации в мс при уменьшении фото (по умолчанию 0) "zoomSpeedChange" : 500, // скорость анимации в мс при смене фото (по умолчанию 0) "frameWidth" : 1000, // ширина окна, px (425px - по умолчанию) "frameHeight" : 600, // высота окна, px(355px - по умолчанию) "frameScale" : true, // Принимает значение true - контент(изображения) масштабируется по размеру окна, или false - окно вытягивается по размеру контента. По умолчанию - TRUE "overlayShow" : true, // если true затеняят страницу под всплывающим окном. (по умолчанию true). Цвет задается в jquery.fancybox.css - div#fancy_overlay "overlayOpacity" : 0.8, // Прозрачность затенения (0.3 по умолчанию) "centerOnScroll" : false,// Если TRUE окно центрируется на экране, когда пользователь прокручивает страницу "hideOnContentClick" :true // Если TRUE закрывает окно по клику по любой его точке (кроме элементов навигации). Поумолчанию TRUE }), jQuery("a[rel=example_group]").fancybox({ 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'titlePosition' : 'inside', 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { return '<span id="fancybox-title-inside">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>'; } }) <a title="лалалала" class="iframe" target="_blank" href="ссылка">текст</a> Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 19 апреля, 2012 Автор Жалоба Share Опубликовано 19 апреля, 2012 Честно говоря KoVaLsKy, я не понял о чём речь. Решение выложил здесь . а если ВАм нужно открыть в всплыхивающем окне содержимо, то вот а это может пригодиться, спасиб. всплывающие доп. поля fancybox.txt Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения