Newcentury Posted September 30, 2013 Share Posted September 30, 2013 Доброго времени суток всем! Помогите найти решение. В связи с ведением второй валюты в стране, надо указывать цены в двух валютах. Ищу модуль или способ, который облегчит мне работу, и не только мне, версия 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 More sharing options...
Ronaldo Perez Posted September 30, 2013 Share Posted September 30, 2013 {foreach from=$currencies item=cur} {if $cur.id_currency != $currency->id} <div>{$productPrice * $cur.conversion_rate} {$cur.sign}</div> {/if} {/foreach} p.s. что за страна? Link to comment Share on other sites More sharing options...
gluck Posted October 1, 2013 Share Posted October 1, 2013 "Побывал где" или "Пробовал что"? Поищите в том же шаблоне {convertPrice price=$...}, так будет удобнее. Link to comment Share on other sites More sharing options...
kemer Posted October 8, 2013 Share Posted October 8, 2013 Для LVL/EUR есть решение, но в 1.4! Link to comment Share on other sites More sharing options...
gluck Posted October 8, 2013 Share Posted October 8, 2013 Не в 1.4, а в одной строке кода. Link to comment Share on other sites More sharing options...
kemer Posted October 8, 2013 Share Posted October 8, 2013 Уважаемый коллега gluck! Одной строчкой кода, мне кажется, не обойтись! И в каком файле (.tpl или .php) эта строчка? Решил в PS 1.4 (частично) проблему одновременного отображения двух валют EUR/LVL. Но только в карточке товара с помощью override Этот метод почему-то не решил проблемы 1. отображения второй валюты в карточке товара для товаров с комбинациями 2. отображения второй валюты на главной странице 3. отображения второй валюты в категориях bstrgds Link to comment Share on other sites More sharing options...
gluck Posted October 8, 2013 Share Posted October 8, 2013 (edited) Найдите вхождения convertPrice в нужных вам местах и дополните конвертацию-вывод по своему вкусу. Edited October 8, 2013 by gluck (see edit history) Link to comment Share on other sites More sharing options...
kemer Posted October 13, 2013 Share Posted October 13, 2013 >> Найдите вхождения convertPrice в нужных вам местах и ........ Уважаемый коллега gluck! в PS 1.4 решил проблему одновременного отображения двух валют EUR/LVL. - в карточке товара с помощью override - на странице home добавлением кода - на страницах product-list добавлением кода Не работает в карточке товара, если есть комбинации ! rgds Link to comment Share on other sites More sharing options...
gluck Posted October 13, 2013 Share Posted October 13, 2013 А вот с комбинациями не подскажу, бо не сталкивался. Link to comment Share on other sites More sharing options...
absent Posted October 14, 2013 Share Posted October 14, 2013 >> Найдите вхождения convertPrice в нужных вам местах и ........ Уважаемый коллега gluck! в PS 1.4 решил проблему одновременного отображения двух валют EUR/LVL. - в карточке товара с помощью override - на странице home добавлением кода - на страницах product-list добавлением кода Не работает в карточке товара, если есть комбинации ! rgds заказать разработку проще, тк с комбинациями уже не так просто, тк есть налоги, скидки, правила итд... Link to comment Share on other sites More sharing options...
kemer Posted October 15, 2013 Share Posted October 15, 2013 Уважаемый гуру абсент! Проще , мне кажется, найти место, где формируется цена комбинации! Rgds. Link to comment Share on other sites More sharing options...
absent Posted October 15, 2013 Share Posted October 15, 2013 Уважаемый гуру абсент! Проще , мне кажется, найти место, где формируется цена комбинации! Rgds. и вообще если кто то решил проблему в 1,4 что мешает в 1,5 её портировать? Link to comment Share on other sites More sharing options...
gluck Posted October 15, 2013 Share Posted October 15, 2013 Видимо, автор ищет МОДУЛЬ для этого Link to comment Share on other sites More sharing options...
absent Posted October 15, 2013 Share Posted October 15, 2013 Видимо, автор ищет МОДУЛЬ для этого возможно)) только мне кажется халявного решения такой проблемы никто не даст, тк. проблемы с комбинациями и их наличием есть и будут) Видимо, автор ищет МОДУЛЬ для этого повторюсь... никто не мешает портировать с 1,4... Link to comment Share on other sites More sharing options...
gluck Posted October 15, 2013 Share Posted October 15, 2013 Хотя в 1.5 столько наворочено и перелопачено, что решение с 1.4 скорее всего работать не будет... Вот не понимаю — зачем люди постоянно ставят самые пре-последние версии всего-чего-можно и потом героически трахаются с ихними багами... И так по кругу. Какой смысл в этой суходрочке, не проще ли использовать стейбл версию? У меня до сих пор работает 1.2.5 — она быстрая, безглючная, а по функционалу (дописаному мной под свои нужны есссно) далеко опережает 1.5... Link to comment Share on other sites More sharing options...
absent Posted October 15, 2013 Share Posted October 15, 2013 Хотя в 1.5 столько наворочено и перелопачено, что решение с 1.4 скорее всего работать не будет... Вот не понимаю — зачем люди постоянно ставят самые пре-последние версии всего-чего-можно и потом героически трахаются с ихними багами... И так по кругу. Какой смысл в этой суходрочке, не проще ли использовать стейбл версию? У меня до сих пор работает 1.2.5 — она быстрая, безглючная, а по функционалу (дописаному мной под свои нужны есссно) далеко опережает 1.5... 1,3 шустрее)) а портировать с 1,4 не сложно, структура управления комбинациями таже. Link to comment Share on other sites More sharing options...
kemer Posted October 15, 2013 Share Posted October 15, 2013 Чем отличаются русские форумы ? Link to comment Share on other sites More sharing options...
gluck Posted October 15, 2013 Share Posted October 15, 2013 А вот 1.3 я как-то пропустил... А зачем ему управлять комбинациями? Я решение его проблемы вижу так: Дано: Имеем цену в (например) рублях. Уже со всеми комбинациями, вариантами, итд. Цена так или иначе показывается на странице — это делает движок. Ищем где выводится эта (итоговая) цена. Не знаю как в 1.5 но скорее всего там будет нечто подобное {convertPrice price=(валюта)} , которое выводит цену в (например) рублях. Копируем, но во вторую строку подставляем значение другой валюты. Итого - первая строка выводит по умолчанию, вторая - с конвертацией. Готово. Link to comment Share on other sites More sharing options...
absent Posted October 15, 2013 Share Posted October 15, 2013 А вот 1.3 я как-то пропустил... А зачем ему управлять комбинациями? Я решение его проблемы вижу так: Дано: Имеем цену в (например) рублях. Уже со всеми комбинациями, вариантами, итд. Цена так или иначе показывается на странице — это делает движок. Ищем где выводится эта (итоговая) цена. Не знаю как в 1.5 но скорее всего там будет нечто подобное {convertPrice price=(валюта)} , которое выводит цену в (например) рублях. Копируем, но во вторую строку подставляем значение другой валюты. Итого - первая строка выводит по умолчанию, вторая - с конвертацией. Готово. про комбинации я с другой темкой попутал)) да и там почти такжа) и на форуме обсуждалось уже это не раз... Link to comment Share on other sites More sharing options...
kemer Posted October 15, 2013 Share Posted October 15, 2013 Уважаемый Глюк! То, что Вы предложили просто, но это не работает! Добавьте вторую валюту и убедитесь в этом! Regards Link to comment Share on other sites More sharing options...
absent Posted October 15, 2013 Share Posted October 15, 2013 Уважаемый Глюк! То, что Вы предложили просто, но это не работает! Добавьте вторую валюту и убедитесь в этом! Regards уже есть тема не ленись поищи... там всё разжёвано... Link to comment Share on other sites More sharing options...
gluck Posted October 15, 2013 Share Posted October 15, 2013 Проверить не смогу, я снес 1.5 — тупая и глючная она. Есть другой вариант, он сложнее, но возможно именно он вам и нужен. У вас в стране меняются курсы? Или курс один и тот же? Link to comment Share on other sites More sharing options...
kemer Posted October 15, 2013 Share Posted October 15, 2013 Абсент! Ваш пост типичен для русских форумов! Глюк! Курс валюты не меняется. Версия PS = 1.4.5.1 regards Link to comment Share on other sites More sharing options...
gluck Posted October 15, 2013 Share Posted October 15, 2013 (edited) 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 October 15, 2013 by gluck (see edit history) Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 Уважаемый коллега 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 More sharing options...
gluck Posted October 16, 2013 Share Posted October 16, 2013 В готовой странице нет смысла. Если вывести только $productPrice без никакой обвязки вообще - что показывает? Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 В готовой странице нет смысла. Если вывести только $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 More sharing options...
gluck Posted October 16, 2013 Share Posted October 16, 2013 Предположу, что движок формирует несколько переменных с разными ценами. Они могут называться по-разному. Увы, но без доступа к коду не смогу это решить. Ищите, они там есть. Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 Предположу, что движок формирует несколько переменных с разными ценами. Они могут называться по-разному. Увы, но без доступа к коду не смогу это решить. Ищите, они там есть. Похоже, что все-таки добрались до сути проблемы! Но в коде product.tpl есть только одна переменная, связанная с отображением цены! Может быть Вы поможете в поиске этих переменных ? regards Link to comment Share on other sites More sharing options...
gluck Posted October 16, 2013 Share Posted October 16, 2013 Где вы предлагаете их поискать? Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 Похоже, что все-таки добрались до сути проблемы! Но в коде 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: * http://opensource.org/licenses/afl-3.0.php * 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 More sharing options...
absent Posted October 16, 2013 Share Posted October 16, 2013 Похоже, что все-таки добрались до сути проблемы! Но в коде product.tpl есть только одна переменная, связанная с отображением цены! Может быть Вы поможете в поиске этих переменных ? regards правильно)) цена с налогом и без. 2 цены и всё. так-то есть спойлеры...зачем засирать форум ? Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 правильно)) цена с налогом и без. 2 цены и всё. так-то есть спойлеры...зачем засирать форум ? Что такое спойлер? Link to comment Share on other sites More sharing options...
absent Posted October 16, 2013 Share Posted October 16, 2013 Что такое спойлер? Вооот Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 Вооот Вы можете общаться на литературном русском языке? Link to comment Share on other sites More sharing options...
gluck Posted October 16, 2013 Share Posted October 16, 2013 Вам же показали что это такое... зачем хамить в ответ? Я не буду вам помогать, до свиданья. Link to comment Share on other sites More sharing options...
absent Posted October 16, 2013 Share Posted October 16, 2013 Вы можете общаться на литературном русском языке? и чем не литературно?? Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 правильно)) цена с налогом и без. 2 цены и всё. так-то есть спойлеры...зачем засирать форум ? и чем не литературно?? .зачем засирать форум ? Очень красиво! Link to comment Share on other sites More sharing options...
absent Posted October 16, 2013 Share Posted October 16, 2013 .зачем засирать форум ? Очень красиво! а, ну простите ))) мы тут не экзамены сдаём, а решаем проблемы)) и большинство не интелигенты даже близко... а слово это хорошо характеризует....поэтому и было употреблено) ещё раз извините если кого то задел иль обидел) Link to comment Share on other sites More sharing options...
kemer Posted October 16, 2013 Share Posted October 16, 2013 Вам же показали что это такое... зачем хамить в ответ? Я не буду вам помогать, до свиданья. До свидания красна девица! а, ну простите ))) мы тут не экзамены сдаём, а решаем проблемы)) и большинство не интелигенты даже близко... а слово это хорошо характеризует....поэтому и было употреблено) ещё раз извините если кого то задел иль обидел) И все -таки можете Вы хотя бы 2-3 предложениями объяснить, что такое спойлер и как этот т.н. спойлер решает проблему этого поста? regards Link to comment Share on other sites More sharing options...
absent Posted October 17, 2013 Share Posted October 17, 2013 До свидания красна девица! И все -таки можете Вы хотя бы 2-3 предложениями объяснить, что такое спойлер и как этот т.н. спойлер решает проблему этого поста? regards спойлер .... эх... он скрывает и показывает большой текст... Текст (от лат. textus — «ткань; сплетение, связь, сочетание») — в общем плане связная и полная последовательность символов. Существуют две основных трактовки понятия «текст»: «имманентная» (расширенная, философски нагруженная) и «репрезентативная» (более частная). Имманентный подход подразумевает отношение к тексту как к автономной реальности, нацеленность на выявление его внутренней структуры. Репрезентативный — рассмотрение текста как особой формы представления знаний о внешней тексту действительности. В лингвистике термин текст используется в широком значении, включая и образцы устной речи. Восприятие текста изучается в рамках лингвистики текста и психолингвистики. Так, например, И. Р. Гальперин определяет текст следующим образом: «это письменное сообщение, объективированное в виде письменного документа, состоящее из ряда высказываний, объединённых разными типами лексической, грамматической и логической связи, имеющее определённый моральный характер, прагматическую установку и соответственно литературно обработанное»[1]. вот пример выше Link to comment Share on other sites More sharing options...
kemer Posted October 17, 2013 Share Posted October 17, 2013 спойлер .... эх... он скрывает и показывает большой текст... Изумительно! Блестящий ответ! И все-таки проблема вывода цены в карточке товара с комбинациями для второй валюты осталась ! Одному участнику дискуссии не хватало кода! Когда груда кода была вывалена, этот участник обиделся не знамо на что и тихонько свалил. Проблема осталась, но т.к. в моей стране проживания законы меняют почти каждую неделю нужно что-то придумать! Пока толковых ответов не появилось. Лобовое решение сделано, но может есть более толковое !. regards Link to comment Share on other sites More sharing options...
absent Posted October 17, 2013 Share Posted October 17, 2013 Изумительно! Блестящий ответ! И все-таки проблема вывода цены в карточке товара с комбинациями для второй валюты осталась ! Одному участнику дискуссии не хватало кода! Когда груда кода была вывалена, этот участник обиделся не знамо на что и тихонько свалил. Проблема осталась, но т.к. в моей стране проживания законы меняют почти каждую неделю нужно что-то придумать! Пока толковых ответов не появилось. Лобовое решение сделано, но может есть более толковое !. regards бесплатного решения ты и не найдёшь...этот вопрос многих волнует.. Link to comment Share on other sites More sharing options...
Recommended Posts