Jump to content

Помогите найти РЕШЕНИЕ, отображение цены в двух валютах.


Recommended Posts

Доброго времени суток всем!

 

Помогите найти решение. В связи с ведением второй валюты в стране, надо указывать цены в двух валютах. Ищу модуль или способ, который облегчит мне работу, и не только мне, версия 1.5.5.0 .

Пробывал в product.tpl менять коды как указанно сдесь - "(В product.tpl после {if !$priceDisplay || $priceDisplay == 2} пишем:{if $currency->id == 2} {else}{if !$product->reduction_price == 0}{$product->price-$product->reduction_price} {elseif !$product->reduction_percent == 0} {$product->price-$product->reduction_percent*$product->price/100}{else} {$product->price} {/if}{/if})" ,

но без результата. 

Спасибо за внимание!

Link to comment
Share on other sites

Уважаемый коллега gluck!

 

Одной строчкой кода, мне кажется, не обойтись!

И в каком файле (.tpl  или  .php)  эта строчка?

 

Решил  в PS 1.4 (частично) проблему одновременного отображения двух валют  EUR/LVL.

Но только в карточке товара с помощью override

 

Этот метод почему-то не решил проблемы

 

1.  отображения второй валюты в карточке товара для товаров с комбинациями

 

2.  отображения второй валюты на главной странице

 

3.  отображения второй валюты   в категориях

 

 bstrgds

Link to comment
Share on other sites

>> Найдите вхождения convertPrice в нужных вам местах и ........

Уважаемый коллега gluck!

 в PS 1.4  решил проблему одновременного отображения двух валют  EUR/LVL.

-        в карточке товара с помощью override

-       на странице home добавлением кода

-       на страницах  product-list добавлением кода

 

 

Не работает в карточке товара, если есть комбинации !

 

rgds

Link to comment
Share on other sites

>> Найдите вхождения convertPrice в нужных вам местах и ........

Уважаемый коллега gluck!

 в PS 1.4  решил проблему одновременного отображения двух валют  EUR/LVL.

-        в карточке товара с помощью override

-       на странице home добавлением кода

-       на страницах  product-list добавлением кода

 

 

Не работает в карточке товара, если есть комбинации !

 

rgds

заказать разработку проще, тк с комбинациями уже не так просто, тк есть налоги, скидки, правила итд...

Link to comment
Share on other sites

Уважаемый гуру абсент!

Проще , мне кажется, найти место, где формируется цена комбинации!

Rgds.

и вообще если кто то решил проблему в 1,4 что мешает в 1,5 её портировать?

Link to comment
Share on other sites

Видимо, автор ищет МОДУЛЬ для этого :)

возможно))

только мне кажется халявного решения такой проблемы никто не даст, тк. проблемы с комбинациями и их наличием есть и будут)

Видимо, автор ищет МОДУЛЬ для этого :)

повторюсь...

никто не мешает портировать с 1,4...

Link to comment
Share on other sites

Хотя в 1.5 столько наворочено и перелопачено, что решение с 1.4 скорее всего работать не будет... :(

 

Вот не понимаю — зачем люди постоянно ставят самые пре-последние версии всего-чего-можно и потом героически трахаются с ихними багами... И так по кругу. Какой смысл в этой суходрочке, не проще ли использовать стейбл версию?

 

У меня до сих пор работает 1.2.5 — она быстрая, безглючная, а по функционалу (дописаному мной под свои нужны есссно) далеко опережает 1.5...

Link to comment
Share on other sites

Хотя в 1.5 столько наворочено и перелопачено, что решение с 1.4 скорее всего работать не будет... :(

 

Вот не понимаю — зачем люди постоянно ставят самые пре-последние версии всего-чего-можно и потом героически трахаются с ихними багами... И так по кругу. Какой смысл в этой суходрочке, не проще ли использовать стейбл версию?

 

У меня до сих пор работает 1.2.5 — она быстрая, безглючная, а по функционалу (дописаному мной под свои нужны есссно) далеко опережает 1.5...

1,3 шустрее))

а портировать с 1,4 не сложно, структура управления комбинациями таже.

Link to comment
Share on other sites

А вот 1.3 я как-то пропустил... 

 

А зачем ему управлять комбинациями? Я решение его проблемы вижу так:

Дано: Имеем цену в (например) рублях. Уже со всеми комбинациями, вариантами, итд. Цена так или иначе показывается на странице — это делает движок.

 

Ищем где выводится эта (итоговая) цена. Не знаю как в 1.5 но скорее всего там будет нечто подобное

{convertPrice price=(валюта)}

, которое выводит цену в (например) рублях.

Копируем, но во вторую строку подставляем значение другой валюты.

Итого - первая строка выводит по умолчанию, вторая - с конвертацией. Готово.

Link to comment
Share on other sites

А вот 1.3 я как-то пропустил... 

 

А зачем ему управлять комбинациями? Я решение его проблемы вижу так:

Дано: Имеем цену в (например) рублях. Уже со всеми комбинациями, вариантами, итд. Цена так или иначе показывается на странице — это делает движок.

 

Ищем где выводится эта (итоговая) цена. Не знаю как в 1.5 но скорее всего там будет нечто подобное

{convertPrice price=(валюта)}

, которое выводит цену в (например) рублях.

Копируем, но во вторую строку подставляем значение другой валюты.

Итого - первая строка выводит по умолчанию, вторая - с конвертацией. Готово.

про комбинации я с другой темкой попутал))

да и там почти такжа)

и на форуме обсуждалось уже это не раз...

Link to comment
Share on other sites

Уважаемый Глюк!

То, что Вы предложили просто, но это не работает!

Добавьте вторую валюту и убедитесь в этом!

 

Regards

уже есть тема не ленись поищи...

там всё разжёвано...

Link to comment
Share on other sites

Проверить не смогу, я снес 1.5 — тупая и глючная она.

 

Есть другой вариант, он сложнее, но возможно именно он вам и нужен.

У вас в стране меняются курсы? Или курс один и тот же?

Link to comment
Share on other sites

kemer, с другой стороны вы просто ленитесь поискать...

 

Если курс жесткий, то тут вообще нечего делать. Возьмите product.tpl и примерно в том месте, где выводится цена, вставьте код:

{$product->price/33|round}					 

/ — это операция деления :)

33 — это курс

round — это округление до целого, если нужны дробные, подставьте нужное колво знаков после запятой

 

Ну и оформление настройте как надо.

 

Полная строка для моего оформления выглядит так:

<br><span style="margin-bottom:20px" id="our_price_display">${$product->price/33|round}</span>					

У вас она скорее всего будет отличаться.

Edited by gluck (see edit history)
Link to comment
Share on other sites

Уважаемый коллега Gluck!

 

моя строка в product.tpl

  

<br />

<span class="our_price_display">

{if $priceDisplay >= 0 && $priceDisplay <= 2}

{* 11-10-2013*}

{round($productPrice/0.7028024,2)} EUR/<span id="our_price_display">{convertPrice price=$productPrice}</span>

 

но для второй валюты (EUR) модификация цены не происходит

могу Вам прислать ссылку на страницу как это не работает в личную почту 

 

regards

Link to comment
Share on other sites

В готовой странице нет смысла.

Если вывести только $productPrice без никакой обвязки вообще - что показывает?

В этом случае меняется цена комбинации для основной (первой) валюты, а на месте второй влюты выводится во всех комбинациях  неокругленная цена первой!

3,75001 EUR/3.75   LVL    основная цена  

3,75001 EUR/13,50 LVL   1-ая  комбинация  

3,75001 EUR/15,00 LVL   2- ая комбинация  

Link to comment
Share on other sites

Предположу, что движок формирует несколько переменных с разными ценами.  Они могут называться по-разному.

Увы, но без доступа к коду не смогу это решить.

Ищите, они там есть.

Link to comment
Share on other sites

Предположу, что движок формирует несколько переменных с разными ценами.  Они могут называться по-разному.

Увы, но без доступа к коду не смогу это решить.

Ищите, они там есть.

Похоже, что  все-таки добрались до сути проблемы!

Но в коде product.tpl есть только одна переменная, связанная с отображением цены!

Может быть Вы поможете в поиске этих переменных ?

 

regards

Link to comment
Share on other sites

Похоже, что  все-таки добрались до сути проблемы!

Но в коде product.tpl есть только одна переменная, связанная с отображением цены!

Может быть Вы поможете в поиске этих переменных ?

 

regards

 
код product.tpl  
 
{*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2011 PrestaShop SA
*  @version  Release: $Revision: 1.4 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
 
{include file="$tpl_dir./errors.tpl"}
{if $errors|@count == 0}
<script type="text/javascript">
// <![CDATA[
 
// PrestaShop internal settings
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
var currencyRate = '{$currencyRate|floatval}';
var currencyFormat = '{$currencyFormat|intval}';
var currencyBlank = '{$currencyBlank|intval}';
var taxRate = {$tax_rate|floatval};
var jqZoomEnabled = {if $jqZoomEnabled}true{else}false{/if};
 
//JS Hook
var oosHookJsCodeFunctions = new Array();
 
// Parameters
var id_product = '{$product->id|intval}';
var productHasAttributes = {if isset($groups)}true{else}false{/if};
var quantitiesDisplayAllowed = {if $display_qties == 1}true{else}false{/if};
var quantityAvailable = {if $display_qties == 1 && $product->quantity}{$product->quantity}{else}0{/if};
var allowBuyWhenOutOfStock = {if $allow_oosp == 1}true{else}false{/if};
var availableNowValue = '{$product->available_now|escape:'quotes':'UTF-8'}';
var availableLaterValue = '{$product->available_later|escape:'quotes':'UTF-8'}';
var productPriceTaxExcluded = {$product->getPriceWithoutReduct(true)|default:'null'} - {$product->ecotax};
var reduction_percent = {if $product->specificPrice AND $product->specificPrice.reduction AND $product->specificPrice.reduction_type == 'percentage'}{$product->specificPrice.reduction*100}{else}0{/if};
var reduction_price = {if $product->specificPrice AND $product->specificPrice.reduction AND $product->specificPrice.reduction_type == 'amount'}{$product->specificPrice.reduction}{else}0{/if};
var specific_price = {if $product->specificPrice AND $product->specificPrice.price}{$product->specificPrice.price}{else}0{/if};
var specific_currency = {if $product->specificPrice AND $product->specificPrice.id_currency}true{else}false{/if};
var group_reduction = '{$group_reduction}';
var default_eco_tax = {$product->ecotax};
var ecotaxTax_rate = {$ecotaxTax_rate};
var currentDate = '{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}';
var maxQuantityToAllowDisplayOfLastQuantityMessage = {$last_qties};
var noTaxForThisProduct = {if $no_tax == 1}true{else}false{/if};
var displayPrice = {$priceDisplay};
var productReference = '{$product->reference|escape:'htmlall':'UTF-8'}';
var productAvailableForOrder = {if (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE}'0'{else}'{$product->available_for_order}'{/if};
var productShowPrice = '{if !$PS_CATALOG_MODE}{$product->show_price}{else}0{/if}';
var productUnitPriceRatio = '{$product->unit_price_ratio}';
var idDefaultImage = {if isset($cover.id_image_only)}{$cover.id_image_only}{else}0{/if};
 
// Customizable field
var img_ps_dir = '{$img_ps_dir}';
var customizationFields = new Array();
{assign var='imgIndex' value=0}
{assign var='textFieldIndex' value=0}
{foreach from=$customizationFields item='field' name='customizationFields'}
{assign var="key" value="pictures_`$product->id`_`$field.id_customization_field`"}
customizationFields[{$smarty.foreach.customizationFields.index|intval}] = new Array();
customizationFields[{$smarty.foreach.customizationFields.index|intval}][0] = '{if $field.type|intval == 0}img{$imgIndex++}{else}textField{$textFieldIndex++}{/if}';
customizationFields[{$smarty.foreach.customizationFields.index|intval}][1] = {if $field.type|intval == 0 && isset($pictures.$key) && $pictures.$key}2{else}{$field.required|intval}{/if};
{/foreach}
 
// Images
var img_prod_dir = '{$img_prod_dir}';
var combinationImages = new Array();
 
{if isset($combinationImages)}
{foreach from=$combinationImages item='combination' key='combinationId' name='f_combinationImages'}
combinationImages[{$combinationId}] = new Array();
{foreach from=$combination item='image' name='f_combinationImage'}
combinationImages[{$combinationId}][{$smarty.foreach.f_combinationImage.index}] = {$image.id_image|intval};
{/foreach}
{/foreach}
{/if}
 
combinationImages[0] = new Array();
{if isset($images)}
{foreach from=$images item='image' name='f_defaultImages'}
combinationImages[0][{$smarty.foreach.f_defaultImages.index}] = {$image.id_image};
{/foreach}
{/if}
 
// Translations
var doesntExist = '{l s='The product does not exist in this model. Please choose another.' js=1}';
var doesntExistNoMore = '{l s='This product is no longer in stock' js=1}';
var doesntExistNoMoreBut = '{l s='with those attributes but is available with others' js=1}';
var uploading_in_progress = '{l s='Uploading in progress, please wait...' js=1}';
var fieldRequired = '{l s='Please fill in all required fields' js=1}';
 
{if isset($groups)}
// Combinations
{foreach from=$combinations key=idCombination item=combination}
addCombination({$idCombination|intval}, new Array({$combination.list}), {$combination.quantity}, {$combination.price}, {$combination.ecotax}, {$combination.id_image}, '{$combination.reference|addslashes}', {$combination.unit_impact}, {$combination.minimal_quantity});
{/foreach}
// Colors
{if $colors|@count > 0}
{if $product->id_color_default}var id_color_default = {$product->id_color_default|intval};{/if}
{/if}
{/if}
//]]>
</script>
 
{include file="$tpl_dir./breadcrumb.tpl"}<iframe src="http://www.facebook.com/plugins/like.php?href=http://{$smarty.server.SERVER_NAME}{$smarty.server.REQUEST_URI}&layout=standard&show_faces=false&width=450&action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:35px; margin-top:10px; margin-bottom: 0px"></iframe>
<div id="primary_block" class="clearfix">
<h1>{$product->name|escape:'htmlall':'UTF-8'}</h1>
 
{if isset($adminActionDisplay) && $adminActionDisplay}
<div id="admin-action">
<p>{l s='This product is not visible to your customers.'}
<input type="hidden" id="admin-action-product-id" value="{$product->id}" />
<input type="submit" value="{l s='Publish'}" class="exclusive" onclick="submitPublishProduct('{$base_dir}{$smarty.get.ad}', 0)"/>
<input type="submit" value="{l s='Back'}" class="exclusive" onclick="submitPublishProduct('{$base_dir}{$smarty.get.ad}', 1)"/>
</p>
<div class="clear" ></div>
<p id="admin-action-result"></p>
</p>
</div>
{/if}
 
{if isset($confirmation) && $confirmation}
<p class="confirmation">
{$confirmation}
</p>
{/if}
 
<!-- right infos-->
<div id="pb-right-column">
<!-- product img-->
<div id="image-block">
{if $have_image}
<img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large')}"
{if $jqZoomEnabled}class="jqzoom" alt="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'thickbox')}"{else} title="{$product->name|escape:'htmlall':'UTF-8'}" alt="{$product->name|escape:'htmlall':'UTF-8'}" {/if} id="bigpic" width="{$largeSize.width}" height="{$largeSize.height}" />
{else}
<img src="{$img_prod_dir}{$lang_iso}-default-large.jpg" id="bigpic" alt="" title="{$product->name|escape:'htmlall':'UTF-8'}" width="{$largeSize.width}" height="{$largeSize.height}" />
{/if}
</div>
 
{if isset($images) && count($images) > 0}
<!-- thumbnails -->
<div id="views_block" {if isset($images) && count($images) < 2}class="hidden"{/if}>
{if isset($images) && count($images) > 3}<span class="view_scroll_spacer"><a id="view_scroll_left" class="hidden" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Previous'}</a></span>{/if}
<div id="thumbs_list">
<ul id="thumbs_list_frame">
{if isset($images)}
{foreach from=$images item=image name=thumbnails}
{assign var=imageIds value="`$product->id`-`$image.id_image`"}
<li id="thumbnail_{$image.id_image}">
<a href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox')}" rel="other-views" class="thickbox {if $smarty.foreach.thumbnails.first}shown{/if}" title="{$image.legend|htmlspecialchars}">
<img id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'medium')}" alt="{$image.legend|htmlspecialchars}" height="{$mediumSize.height}" width="{$mediumSize.width}" />
</a>
</li>
{/foreach}
{/if}
</ul>
</div>
{if isset($images) && count($images) > 3}<a id="view_scroll_right" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Next'}</a>{/if}
</div>
{/if}
{if isset($images) && count($images) > 1}<p class="align_center clear"><span id="wrapResetImages" style="display: none;"><img src="{$img_dir}icon/cancel_16x18.gif" alt="{l s='Cancel'}" width="16" height="18"/> <a id="resetImages" href="{$link->getProductLink($product)}" onclick="$('span#wrapResetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></span></p>{/if}
<!-- usefull links-->
<ul id="usefull_link_block">
{if $HOOK_EXTRA_LEFT}{$HOOK_EXTRA_LEFT}{/if}
<li><a href="javascript:print();">{l s='Print'}</a><br class="clear" /></li>
{* {if $have_image && !$jqZoomEnabled}
<li><span id="view_full_size" class="span_link">{l s='View full size'}</span></li>
{/if}*}
</ul>
{* {if $product->description_short OR $packItems|@count > 0}
<div id="short_description_block">
{if $product->description_short}
<div id="short_description_content" class="rte align_justify">{$product->description_short}</div>
{/if}
{if $product->description}
<p class="buttons_bottom_block"><a href="javascript:{ldelim}{rdelim}" class="button">{l s='More details'}</a></p>
{/if}
{if $packItems|@count > 0}
<h3>{l s='Pack content'}</h3>
{foreach from=$packItems item=packItem}
<div class="pack_content">
{$packItem.pack_quantity} x <a href="{$link->getProductLink($packItem.id_product, $packItem.link_rewrite, $packItem.category)}">{$packItem.name|escape:'htmlall':'UTF-8'}</a>
<p>{$packItem.description_short}</p>
</div>
{/foreach}
{/if}
</div>
{/if}
 
{if isset($colors) && $colors}
<!-- colors -->
<div id="color_picker">
<p>{l s='Pick a color:' js=1}</p>
<div class="clear"></div>
<ul id="color_to_pick_list">
{foreach from=$colors key='id_attribute' item='color'}
<li><a id="color_{$id_attribute|intval}" class="color_pick" style="background: {$color.value};" onclick="updateColorSelect({$id_attribute|intval});$('#wrapResetImages').show('slow');" title="{$color.name}">{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}<img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$color.name}" width="20" height="20" />{/if}</a></li>
{/foreach}
</ul>
<div class="clear"></div>
</div>
{/if}
*}
{if ($product->show_price AND !isset($restricted_country_mode)) OR isset($groups) OR $product->reference OR (isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS)}
<!-- add to cart form-->
<form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart.php')}" method="post">
 
<!-- hidden datas -->
<p class="hidden">
<input type="hidden" name="token" value="{$static_token}" />
<input type="hidden" name="id_product" value="{$product->id|intval}" id="product_page_product_id" />
<input type="hidden" name="add" value="1" />
<input type="hidden" name="id_product_attribute" id="idCombination" value="" />
</p>
 
<!-- prices -->
{if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
<p class="price">
{if !$priceDisplay || $priceDisplay == 2}
{assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL)}
{assign var='productPriceWithoutRedution' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)}
{elseif $priceDisplay == 1}
{assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL)}
{assign var='productPriceWithoutRedution' value=$product->getPriceWithoutReduct(true, $smarty.const.NULL)}
{/if}
{if $product->on_sale}
<img src="{$img_dir}onsale_{$lang_iso}.gif" alt="{l s='On sale'}" class="on_sale_img"/>
<span class="on_sale">{l s='On sale!'}</span>
{elseif $product->specificPrice AND $product->specificPrice.reduction AND $productPriceWithoutRedution > $productPrice}
<span class="discount">{l s='Reduced price!'}</span>
{/if}
<br />
<span class="our_price_display">
{if $priceDisplay >= 0 && $priceDisplay <= 2}
{* 11-10-2013  $second_currency_price *}{round($productPrice/0.7028024,2)} EUR/<span id="our_price_display">{convertPrice price=$productPrice}</span>
 
 
{if $tax_enabled  && $display_tax_label == 1}
{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
{/if}
{/if}
</span>
{if $priceDisplay == 2}
<br />
<span id="pretaxe_price"><span id="pretaxe_price_display">{convertPrice price=$product->getPrice(false, $smarty.const.NULL)}</span> {l s='tax excl.'}</span>
{/if}
<br />
</p>
{if $product->specificPrice AND $product->specificPrice.reduction}
<p id="old_price"><span class="bold">
{if $priceDisplay >= 0 && $priceDisplay <= 2}
{if $productPriceWithoutRedution > $productPrice}
<span id="old_price_display">{convertPrice price=$productPriceWithoutRedution}</span>
{if $tax_enabled  && $display_tax_label == 1}
{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
{/if}
{/if}
{/if}
</span>
</p>
{/if}
{if $product->specificPrice AND $product->specificPrice.reduction_type == 'percentage'}
<p id="reduction_percent">{l s='(price reduced by'} <span id="reduction_percent_display">{$product->specificPrice.reduction*100}</span> %{l s=')'}</p>
{/if}
{if $packItems|@count}
<p class="pack_price">{l s='instead of'} <span style="text-decoration: line-through;">{convertPrice price=$product->getNoPackPrice()}</span></p>
<br class="clear" />
{/if}
{if $product->ecotax != 0}
<p class="price-ecotax">{l s='include'} <span id="ecotax_price_display">{if $priceDisplay == 2}{$ecotax_tax_exc|convertAndFormatPrice}{else}{$ecotax_tax_inc|convertAndFormatPrice}{/if}</span> {l s='for green tax'}
{if $product->specificPrice AND $product->specificPrice.reduction}
<br />{l s='(not impacted by the discount)'}
{/if}
</p>
{/if}
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
   {math equation="pprice / punit_price"  pprice=$productPrice  punit_price=$product->unit_price_ratio assign=unit_price}
<p class="unit-price"><span id="unit_price_display">{convertPrice price=$unit_price}</span> {l s='per'} {$product->unity|escape:'htmlall':'UTF-8'}</p>
{/if}
{*close if for show price*}
{/if}
 
{if isset($groups)}
<!-- attributes -->
<div id="attributes">
{foreach from=$groups key=id_attribute_group item=group}
{if $group.attributes|@count}
<p>
<label for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'}:</label>
{assign var="groupName" value="group_$id_attribute_group"}
<select name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</p>
{/if}
{/foreach}
</div>
{/if}
 
<p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}><label for="product_reference">{l s='Reference :'} </label><span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span></p>
 
<!-- quantity wanted -->
<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
<label>{l s='Quantity :'}</label>
<input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} />
</p>
 
<!-- minimal quantity wanted -->
<p id="minimal_quantity_wanted_p"{if $product->minimal_quantity <= 1 OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>{l s='You must add '}<b id="minimal_quantity_label">{$product->minimal_quantity}</b>{l s=' as a minimum quantity to buy this product.'}</p>
{if $product->minimal_quantity > 1}
<script type="text/javascript">
checkMinimalQuantity();
</script>
{/if}
 
<!-- availability -->
<p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
<span id="availability_label">{l s='Availability:'}</span>
<span id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}>
{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}
</span>
</p>
 
<!-- number of item in stock OR isset($combination.list)-->
{if (($display_qties == 1 OR $product->quantity <= $last_qties) && !$PS_CATALOG_MODE && $product->available_for_order)}
<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
<span id="quantityAvailable">{$product->quantity|intval}</span>
<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span>
<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>
</p>
      {/if}
<!-- Out of stock hook -->
<p id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}>
{$HOOK_PRODUCT_OOS}
</p>
 
<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties OR $product->quantity == 0) OR $allow_oosp OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if} >{l s='Warning: Last items in stock!'}</p>
 
{if $product->online_only}
<p>{l s='Online only'}</p>
{/if}
 
<p{if (!$allow_oosp && $product->quantity <= 0) OR !$product->available_for_order OR (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE} style="display: none;"{/if} id="add_to_cart" class="buttons_bottom_block"><input type="submit" name="Submit" value="{l s='Add to cart'}" class="exclusive" /></p>
{if isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS}{$HOOK_PRODUCT_ACTIONS}{/if}
<div class="clear"></div>
</form>
{/if}
{if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}
</div>
 
<!-- left infos-->
<div id="pb-left-column">
        <!-- description and features -->
        {if $product->description || $features || $accessories || $HOOK_PRODUCT_TAB || $attachments}
        <div id="more_info_block" class="clear">
            <ul id="more_info_tabs" class="idTabs idTabsShort">
                {*{if $product->description}*}<li><a id="more_info_tab_more_info" href="#idTab1">{l s='More info'}</a></li>{*{/if}*} {*{if isset($accessories) AND $accessories}*}<li><a id="more_info_tab_accessories" href="#idTab4">{l s='Accessories'}</a></li>{*{/if}*}
                {if $features}<li><a id="more_info_tab_data_sheet" href="#idTab2">{l s='Data sheet'}</a></li>{/if}
                {*{if $attachments}*}<li><a id="more_info_tab_attachments" href="#idTab9">{l s='Download'}</a></li>{*{/if}*}
 
                {$HOOK_PRODUCT_TAB}
            </ul>
            <div id="more_info_sheets" class="sheets align_justify">
{*            {if $product->description}*}
                <!-- full description -->
                <div id="idTab1" class="rte">{$product->description}</div>
{*            {/if}*}
            {if $features}
                <!-- product's features -->
                <ul id="idTab2" class="bullet">
                {foreach from=$features item=feature}
                    <li><span>{$feature.name|escape:'htmlall':'UTF-8'}</span> {$feature.value|escape:'htmlall':'UTF-8'}</li>
                {/foreach}
                </ul>
            {/if}
            {if $attachments}
                <ul id="idTab9" class="bullet">
                {foreach from=$attachments item=attachment}
<li><a href="{$link->getPageLink('attachment.php', true)}?id_attachment={$attachment.id_attachment}">{$attachment.name|escape:'htmlall':'UTF-8'}</a><br />{$attachment.description|escape:'htmlall':'UTF-8'}</li>
                {/foreach}
                </ul>
{else}
<p id="idTab9">{l s='No attachments for this product'}</p>            
            {/if}
            {if isset($accessories) AND $accessories}
                <!-- accessories -->
                <ul id="idTab4" class="bullet">
                    <div class="block_content v2-homefeatured">
                    {foreach from=$accessories item=product name=homeFeaturedProducts}
                        <div class="float" style="width:146px;margin-bottom:4px;padding:6px;border:1px solid #e1e9ec;{if $smarty.foreach.homeFeaturedProducts.iteration % 3 != 0}margin-right:4px;{/if}{if $smarty.foreach.homeFeaturedProducts.iteration % 3 == 1}clear:left{/if}">
                            <h5><a href="{$product.link}" title="{$product.name|truncate:80:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:45:'...'|escape:'htmlall':'UTF-8'}</a></h5>
                    {* <div class="product_desc"><a href="{$product.link}" title="{l s='More'}">{$product.description_short|strip_tags|truncate:130:'...'}</a></div>
                            <a href="{$product.link}" title="{l s='View'}">{l s='View'}</a>*}
                            <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image">
                                <img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" /><br />
                            </a>
                            {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if}
                            <div style="margin-top:5px">
                                {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
                                    {if ($product.quantity > 0 OR $product.allow_oosp) AND $product.customizable != 2}
                                    <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart.php')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
                                    {else}
                                    <span class="exclusive">{l s='Out of stock'}</span>
                                    {/if}
                                {else}
                                    <div style="height:23px;"></div>
                                {/if}
                            </div>
                        </div>
                    {/foreach}
                    </div>
                </ul>
            {else}
            <p id="idTab4">{l s='No accessories for this product'}</p>
            {/if}
            {$HOOK_PRODUCT_TAB_CONTENT}
            </div>
        </div>
        {/if}
</div>
</div>
 
{if $quantity_discounts}
<!-- quantity discount -->
<ul class="idTabs">
<li><a style="cursor: pointer" class="selected">{l s='Quantity discount'}</a></li>
</ul>
<div id="quantityDiscount">
<table class="std">
<tr>
{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
<th>{$quantity_discount.quantity|intval}
{if $quantity_discount.quantity|intval > 1}
{l s='quantities'}
{else}
{l s='quantity'}
{/if}
</th>
{/foreach}
</tr>
<tr>
{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
<td>
{if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}
-{convertPrice price=$quantity_discount.real_value|floatval}
{else}
    -{$quantity_discount.real_value|floatval}%
{/if}
</td>
{/foreach}
</tr>
</table>
</div>
{/if}
 
<!-- Customizable products -->
{if $product->customizable}
<ul class="idTabs">
<li><a style="cursor: pointer">{l s='Product customization'}</a></li>
</ul>
<div class="customization_block">
<form method="post" action="{$customizationFormTarget}" enctype="multipart/form-data" id="customizationForm">
<p>
<img src="{$img_dir}icon/infos.gif" alt="Informations" />
{l s='After saving your customized product, remember to add it to your cart.'}
{if $product->uploadable_files}<br />{l s='Allowed file formats are: GIF, JPG, PNG'}{/if}
</p>
{if $product->uploadable_files|intval}
<h2>{l s='Pictures'}</h2>
<ul id="uploadable_files">
{counter start=0 assign='customizationField'}
{foreach from=$customizationFields item='field' name='customizationFields'}
{if $field.type == 0}
<li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='pictures_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
{if isset($pictures.$key)}<div class="customizationUploadBrowse">
<img src="{$pic_dir}{$pictures.$key}_small" alt="" />
<a href="{$link->getProductDeletePictureLink($product,{$field.id_customization_field})}" title="{l s='Delete'}" >
<img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" class="customization_delete_icon" width="11" height="13" />
</a>
</div>{/if}
<div class="customizationUploadBrowse"><input type="file" name="file{$field.id_customization_field}" id="img{$customizationField}" class="customization_block_input {if isset($pictures.$key)}filled{/if}" />{if $field.required}<sup>*</sup>{/if}
<div class="customizationUploadBrowseDescription">{if !empty($field.name)}{$field.name}{else}{l s='Please select an image file from your hard drive'}{/if}</div></div>
</li>
{counter}
{/if}
{/foreach}
</ul>
{/if}
<div class="clear"></div>
{if $product->text_fields|intval}
<h2>{l s='Texts'}</h2>
<ul id="text_fields">
{counter start=0 assign='customizationField'}
{foreach from=$customizationFields item='field' name='customizationFields'}
{if $field.type == 1}
<li class="customizationUploadLine{if $field.required} required{/if}">{assign var='key' value='textFields_'|cat:$product->id|cat:'_'|cat:$field.id_customization_field}
{if !empty($field.name)}{$field.name}{/if}{if $field.required}<sup>*</sup>{/if}<textarea type="text" name="textField{$field.id_customization_field}" id="textField{$customizationField}" rows="1" cols="40" class="customization_block_input" />{if isset($textFields.$key)}{$textFields.$key|stripslashes}{/if}</textarea>
</li>
{counter}
{/if}
{/foreach}
</ul>
{/if}
<p style="clear: left;" id="customizedDatas">
<input type="hidden" name="quantityBackup" id="quantityBackup" value="" />
<input type="hidden" name="submitCustomizedDatas" value="1" />
<input type="button" class="button" value="{l s='Save'}" onclick="javascript:saveCustomization()" />
<span id="ajax-loader" style="display:none"><img src="{$img_ps_dir}loader.gif" alt="loader" /></span>
</p>
</form>
<p class="clear required"><sup>*</sup> {l s='required fields'}</p>
</div>
{/if}
 
{if $packItems|@count > 0}
<div>
<h2>{l s='Pack content'}</h2>
{include file="$tpl_dir./product-list.tpl" products=$packItems}
</div>
{/if}
 
{/if}
 
{$HOOK_PRODUCT_FOOTER}
Link to comment
Share on other sites

Похоже, что  все-таки добрались до сути проблемы!

Но в коде product.tpl есть только одна переменная, связанная с отображением цены!

Может быть Вы поможете в поиске этих переменных ?

 

regards

правильно))

цена с налогом и без. 2 цены и всё.

так-то есть спойлеры...зачем засирать форум ?

Link to comment
Share on other sites

правильно))

цена с налогом и без. 2 цены и всё.

так-то есть спойлеры...зачем засирать форум ?

 

и чем не литературно??

.зачем засирать форум ?

 

Очень красиво!

Link to comment
Share on other sites

.зачем засирать форум ?

 

Очень красиво!

а, ну простите ))) мы тут не экзамены сдаём, а решаем проблемы))

и большинство не интелигенты даже близко... а слово это хорошо характеризует....поэтому и было употреблено)

ещё раз извините если кого то задел иль обидел)

Link to comment
Share on other sites

Вам же показали что это такое... зачем хамить в ответ?

Я не буду вам помогать, до свиданья.

До свидания красна девица!

 

а, ну простите ))) мы тут не экзамены сдаём, а решаем проблемы))

и большинство не интелигенты даже близко... а слово это хорошо характеризует....поэтому и было употреблено)

ещё раз извините если кого то задел иль обидел)

И все -таки можете  Вы хотя бы 2-3 предложениями объяснить, что такое спойлер и как этот т.н. спойлер решает проблему этого поста?

regards

Link to comment
Share on other sites

До свидания красна девица!

 

И все -таки можете  Вы хотя бы 2-3 предложениями объяснить, что такое спойлер и как этот т.н. спойлер решает проблему этого поста?

regards

спойлер .... эх...

он скрывает и показывает большой текст...

 

Текст (от лат. textus — «ткань; сплетение, связь, сочетание») — в общем плане связная и полная последовательность символов.

 

Существуют две основных трактовки понятия «текст»: «имманентная» (расширенная, философски нагруженная) и «репрезентативная» (более частная). Имманентный подход подразумевает отношение к тексту как к автономной реальности, нацеленность на выявление его внутренней структуры. Репрезентативный — рассмотрение текста как особой формы представления знаний о внешней тексту действительности.

 

В лингвистике термин текст используется в широком значении, включая и образцы устной речи. Восприятие текста изучается в рамках лингвистики текста и психолингвистики. Так, например, И. Р. Гальперин определяет текст следующим образом: «это письменное сообщение, объективированное в виде письменного документа, состоящее из ряда высказываний, объединённых разными типами лексической, грамматической и логической связи, имеющее определённый моральный характер, прагматическую установку и соответственно литературно обработанное»[1].

 

 

вот пример выше

Link to comment
Share on other sites

спойлер .... эх...

он скрывает и показывает большой текст...

 

Изумительно! Блестящий ответ!

И все-таки проблема вывода цены в карточке товара с  комбинациями  для второй валюты осталась !

 

Одному участнику дискуссии не хватало кода!

Когда груда кода была вывалена, этот участник обиделся не знамо на что и тихонько свалил.

 

Проблема осталась, но т.к. в моей  стране проживания законы меняют почти каждую неделю нужно что-то придумать!

 

Пока толковых ответов не появилось. 

Лобовое решение сделано, но может есть более толковое !. 

 

regards

Link to comment
Share on other sites

Изумительно! Блестящий ответ!

И все-таки проблема вывода цены в карточке товара с  комбинациями  для второй валюты осталась !

 

Одному участнику дискуссии не хватало кода!

Когда груда кода была вывалена, этот участник обиделся не знамо на что и тихонько свалил.

 

Проблема осталась, но т.к. в моей  стране проживания законы меняют почти каждую неделю нужно что-то придумать!

 

Пока толковых ответов не появилось. 

Лобовое решение сделано, но может есть более толковое !. 

 

regards

бесплатного решения ты и не найдёшь...этот вопрос многих волнует..

Link to comment
Share on other sites

×
×
  • Create New...