freebsd_admin 0 Опубликовано 24 октября, 2011 Автор Жалоба Share Опубликовано 24 октября, 2011 Это не выход + некрасиво выглядит. Если можно сделать как то чтоб определялась метка в одинарных кавычках, то это будет оптимальный вариант. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 октября, 2011 Жалоба Share Опубликовано 24 октября, 2011 Так может вообще без кавычек попробовать? Или на smarty.net в manual'е посмотреть, наверняка есть решения. Ссылка на сообщение Поделиться на другие сайты
merchindaiser 1 Опубликовано 24 октября, 2011 Жалоба Share Опубликовано 24 октября, 2011 ну вот так выводиться метка еще например метка {#text_mainpage#} выводиться вот так {$smarty.config.text_mainpage} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 октября, 2011 Жалоба Share Опубликовано 24 октября, 2011 Ну а если в php задать значение метки и условии писать что-то типа: {if $extra_fields.NAME == $var} [/code] Ссылка на сообщение Поделиться на другие сайты
freebsd_admin 0 Опубликовано 24 октября, 2011 Автор Жалоба Share Опубликовано 24 октября, 2011 Спасибо за ответы! Разобрался! http://www.smarty.net/docsv2/ru/language.config.variables.tpl Оказалось все проще: {if $extra_fields.NAME == #text#} [/CODE] Выводится так же как и обычная метка, но без {} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 25 октября, 2011 Жалоба Share Опубликовано 25 октября, 2011 Хорошо. Спасибо, что написали решение, тоже буду знать. Ссылка на сообщение Поделиться на другие сайты
merchindaiser 1 Опубликовано 25 октября, 2011 Жалоба Share Опубликовано 25 октября, 2011 а если выводить только для одного языка метку то наверно пригодиться еще дополнительное условие {if $smarty.session.language == 'russian'} Ссылка на сообщение Поделиться на другие сайты
ermak00 0 Опубликовано 10 ноября, 2011 Жалоба Share Опубликовано 10 ноября, 2011 подскажите можно ли где-нибудь .css править для {$extra_fields.NAME}: {$extra_fields.VALUE} появилась проблема что текст {$extra_fields.NAME} нужно сделать одним шрифтом, а {$extra_fields.VALUE} - другим, а также добавить им разные цвета. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 10 ноября, 2011 Жалоба Share Опубликовано 10 ноября, 2011 Так оберните метки нужным css классом и задайте для него стиль в stylesheet.css Ссылка на сообщение Поделиться на другие сайты
-Inna- 0 Опубликовано 10 ноября, 2011 Жалоба Share Опубликовано 10 ноября, 2011 подскажите можно ли где-нибудь .css править для {$extra_fields.NAME}: {$extra_fields.VALUE} появилась проблема что текст {$extra_fields.NAME} нужно сделать одним шрифтом, а {$extra_fields.VALUE} - другим, а также добавить им разные цвета. попробуйте что то в таком роде создайте дополнительное поле с названием видео и вставьте такой код {if $extra_fields.NAME == 'видео'} <span style="font-size:14px; color:#333;"> {$extra_fields.NAME}</span>: <span style="font-size:12px; color:#000;">{$extra_fields.VALUE}</span> {/if} по идее рабочий код но не тестировался Ссылка на сообщение Поделиться на другие сайты
ermak00 0 Опубликовано 11 ноября, 2011 Жалоба Share Опубликовано 11 ноября, 2011 Так оберните метки нужным css классом и задайте для него стиль в stylesheet.css так и делаю..просто думал может где-то уже есть готовое .css для этого! спасибо :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 ноября, 2011 Жалоба Share Опубликовано 11 ноября, 2011 Так магазин поэтому и использует html-шаблоны, что б всегда была возможность добавить что-то своё. Ссылка на сообщение Поделиться на другие сайты
ermak00 0 Опубликовано 30 марта, 2012 Жалоба Share Опубликовано 30 марта, 2012 Наверное как-то так: {$extra_fields_data[0].NAME}: {$extra_fields[0].VALUE}<br />{$extra_fields_data[1].NAME}: {$extra_fields[1].VALUE}<br /> [/code] подскажите что нужно изменить в базе данных, что бы нормально вы выводилось поле с номером [10],[11],[12] и так далее у меня больше десяти дополнительных полей товара, и корректно паказываются только с нулевого по девятое все что больше, не выводится! спасибо! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 марта, 2012 Жалоба Share Опубликовано 30 марта, 2012 Так смотрите, что у Вас за массив $extra_fields_data , что в нём находится. Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 15 апреля, 2012 Жалоба Share Опубликовано 15 апреля, 2012 Есть ли нечто вроде $extra_fields.ID ? Надо каждому полю свой класс при выводе прописать... прописал $extra_fields_data[] = array ( 'ID' => $extra_fields['id'], 'NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value'] ); [/code] в product_info.php, /includes/classes/product.php И всё одно не пашет... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 апреля, 2012 Жалоба Share Опубликовано 15 апреля, 2012 Нужно в sql запрос $extra_fields_query добавить pef.products_extra_fields_id и тогда писать 'ID' => $extra_fields['products_extra_fields_id'], Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 17 апреля, 2012 Жалоба Share Опубликовано 17 апреля, 2012 Да, класс. Саша, спасибо. Что-то не обратил внимание. Итак ПОЧТИ готовое решение. В файлах includes/modules/product_info.php, includes/classes/product.php, /print_product_info.php В запрос к бд добавляем , ptf.products_extra_fields_id as id и 'ID' => $extra_fields['id'], [/CODE] Теперь код принимает вид: [CODE] $extra_fields_query = vamDBquery(" SELECT pef.products_extra_fields_status as status, pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value, ptf.products_extra_fields_id as id FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef LEFT JOIN ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf ON ptf.products_extra_fields_id=pef.products_extra_fields_id WHERE ptf.products_id=". (int) $_GET['products_id'] ." and ptf.products_extra_fields_value<>'' and (pef.languages_id='0' or pef.languages_id='".$_SESSION['languages_id']."') ORDER BY products_extra_fields_order"); while ($extra_fields = vam_db_fetch_array($extra_fields_query,true)) { if (! $extra_fields['status']) // show only enabled extra field continue; $extra_fields_data[] = array ( 'ID' => $extra_fields['id'], 'NAME' => $extra_fields['name'], 'VALUE' => $extra_fields['value'] ); Теперь в шаблоне можно использовать переменную {$extra_fields.ID}. Для того, чтобы всплывали описания доп. полей при нажатии на пиктограмму вводим в наименовании доп. поля нечто вроде <img src="images/dop/dop1.jpg" alt="описание мега доп. поля">. А в шаблоне product_info_v1.html : {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} [/code] Теперь для каждого доп. поля в шаблоне появился свой ID([b]#{$extra_fields.ID}[/b]) по которому fansybox даёт отдельное окно с описанием. Не забываем в header.php прописать: [b]$("a#inline").fancybox({[/b] [b] "hideOnContentClick": true[/b] [b] });[/b] то есть: [CODE] <link rel="stylesheet" type="text/css" href="jscript/jquery/plugins/fancybox/jquery.fancybox-1.2.5.css" media="screen" /> <script type="text/javascript" src="jscript/jquery/plugins/fancybox/jquery.fancybox-1.2.5.pack.js"></script> <script type="text/javascript"> $(document).ready(function() { $("a.zoom").fancybox({ "zoomOpacity" : true, "zoomSpeedIn" : 500, "zoomSpeedOut" : 500 }); $("a.iframe").fancybox({ "padding" : 20, // отступ контента от краев окна "imageScale" : false, // Принимает значение true - контент(изображения) масштабируется по размеру окна, или false - окно вытягивается по размеру контента. По умолчанию - TRUE "zoomOpacity" : true, // изменение прозрачности контента во время анимации (по умолчанию false) "zoomSpeedIn" : 500, // скорость анимации в мс при увеличении фото (по умолчанию 0) "zoomSpeedOut" : 500, // скорость анимации в мс при уменьшении фото (по умолчанию 0) "zoomSpeedChange" : 500, // скорость анимации в мс при смене фото (по умолчанию 0) "frameWidth" : 1000, // ширина окна, px (425px - по умолчанию) "frameHeight" : 700, // высота окна, px(355px - по умолчанию) "frameScale" : false, // Принимает значение true - контент(изображения) масштабируется по размеру окна, или false - окно вытягивается по размеру контента. По умолчанию - TRUE "overlayShow" : true, // если true затеняят страницу под всплывающим окном. (по умолчанию true). Цвет задается в jquery.fancybox.css - div#fancy_overlay "overlayOpacity" : 0.8, // Прозрачность затенения (0.3 по умолчанию) "hideOnContentClick" :true, // Если TRUE закрывает окно по клику по любой его точке (кроме элементов навигации). Поумолчанию TRUE "centerOnScroll" : false // Если TRUE окно центрируется на экране, когда пользователь прокручивает страницу }); $("a#inline").fancybox({ "hideOnContentClick": true }); }); </script> ПОЧТИ потому что фэнсибокс в таком виде это не кушает, надо для него в шапке немного переписать. Завтра буду думать... :think: Ссылка на сообщение Поделиться на другие сайты
Александр 0 Опубликовано 19 апреля, 2012 Жалоба Share Опубликовано 19 апреля, 2012 Случайно # поставил в id.: {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}Вобщем должно быть так: {if $extra_fields_data} {foreach name=aussen item=extra_fields from=$extra_fields_data} <a id="inline" href="#link{$extra_fields.ID}" rel="example_group">{$extra_fields.NAME}</a><div style="display: none;"><div id="link{$extra_fields.ID}"> {$extra_fields.VALUE}</div></div> {/foreach} {/if}[/CODE][/font]всплывающие доп. поля fancybox.txt Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 апреля, 2012 Жалоба Share Опубликовано 19 апреля, 2012 Спасибо, что поделились кодом. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения