Перейти к содержанию
Форум поддержки пользователей VamShop

Доп поля товаров


freebsd_admin

Рекомендуемые сообщения

Это не выход + некрасиво выглядит. Если можно сделать как то чтоб определялась метка в одинарных кавычках, то это будет оптимальный вариант.

Ссылка на сообщение
Поделиться на другие сайты

Так может вообще без кавычек попробовать?

Или на smarty.net в manual'е посмотреть, наверняка есть решения.

Ссылка на сообщение
Поделиться на другие сайты

ну вот так выводиться метка еще

например метка {#text_mainpage#}

выводиться вот так

{$smarty.config.text_mainpage}

Ссылка на сообщение
Поделиться на другие сайты

Ну а если в php задать значение метки и условии писать что-то типа:


{if $extra_fields.NAME == $var}
[/code]

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы! Разобрался!

http://www.smarty.net/docsv2/ru/language.config.variables.tpl

Оказалось все проще:


{if $extra_fields.NAME == #text#}
[/CODE]

Выводится так же как и обычная метка, но без {}

Ссылка на сообщение
Поделиться на другие сайты

а если выводить только для одного языка метку то наверно пригодиться еще дополнительное условие

{if $smarty.session.language == 'russian'}

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

подскажите можно ли где-нибудь .css править для {$extra_fields.NAME}: {$extra_fields.VALUE}

появилась проблема что текст {$extra_fields.NAME} нужно сделать одним шрифтом, а {$extra_fields.VALUE} - другим, а также добавить им разные цвета.

Ссылка на сообщение
Поделиться на другие сайты

подскажите можно ли где-нибудь .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}

по идее рабочий код но не тестировался

Ссылка на сообщение
Поделиться на другие сайты

Так оберните метки нужным css классом и задайте для него стиль в stylesheet.css

так и делаю..просто думал может где-то уже есть готовое .css для этого!

спасибо :)

Ссылка на сообщение
Поделиться на другие сайты

Так магазин поэтому и использует html-шаблоны, что б всегда была возможность добавить что-то своё.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 months later...

Наверное как-то так:

{$extra_fields_data[0].NAME}: {$extra_fields[0].VALUE}<br />{$extra_fields_data[1].NAME}: {$extra_fields[1].VALUE}<br />
[/code]

подскажите что нужно изменить в базе данных, что бы нормально вы выводилось поле с номером [10],[11],[12] и так далее

у меня больше десяти дополнительных полей товара, и корректно паказываются только с нулевого по девятое

все что больше, не выводится!

спасибо!

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

Есть ли нечто вроде $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

И всё одно не пашет...

Ссылка на сообщение
Поделиться на другие сайты

Нужно в sql запрос $extra_fields_query добавить pef.products_extra_fields_id и тогда писать 'ID' => $extra_fields['products_extra_fields_id'],

Ссылка на сообщение
Поделиться на другие сайты

Да, класс. Саша, спасибо. Что-то не обратил внимание.

Итак ПОЧТИ готовое решение.

В файлах 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:

Ссылка на сообщение
Поделиться на другие сайты

Случайно # поставил в 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

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...