Перейти к содержимому


Возможность скрыть одну из валют магазина

валюта скрыть

  • Вы не можете ответить в тему
Сообщений в теме: 8

#1 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 08 April 2014 - 08:10 AM

Доброго всем здравия.
Возникла необходимость скрыть одну из валют магазина. Каким образом это можно сделать?

К примеру магазин продает в украинских гривнах и в российских рублях, но есть еще доллар США (нужен для быстрой корректировки всех цен в магазине).
Вот как раз его и нужно скрыть. В смысле, чтобы человек не мог сделать заказ именно в $ США.

Раньше, когда было две валюты в магазине, это сделать было проще. К примеру, устанавливалась одна валюта (гривны) по умолчанию, а блок с выбором валюты просто удалялся.

Как теперь можно сделать, чтобы человек мог выбрать либо рубли, либо гривны, а доллар был скрыт?
Подскажите пожалуйста.

p.s. Поиском по форуму вроде как не нашел информацию по этому вопросу.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#2 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 08 April 2014 - 02:22 PM

Самое простое - напрямую в шаблоне блока выбора валют сделать один if для того, чтобы вариант выбранной не отображался. ИМХО самое простое решение. Второй вариант добавить в таблицу в БД еще одно поле для видимости + обработки в к нему.
  • 0
Изображение Изображение Изображение

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 April 2014 - 04:30 PM

ИМХО, пусть переводит цену НА САЙТЕ хоть в китайские юани, если это клиенту удобно. А вот окончательное оформление делать уже только в разрешенной (подходящей?) валюте. Похоже, насколько я помню, сделано в модуле оплаты "Выписать счет" или как там его... В настройках задается валюта, в которой выписывается счет. Устанавливаем два модуля, один для рублей, один для гривен. И пусть клиент в корзину хоть в долларах бросает, хоть в евро. Правда, не во всех модулях есть задание валюты оформления.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 28 April 2014 - 07:42 AM

Самое простое - напрямую в шаблоне блока выбора валют сделать один if для того, чтобы вариант выбранной не отображался. ИМХО самое простое решение. Второй вариант добавить в таблицу в БД еще одно поле для видимости + обработки в к нему.


Есть такая вот форма выбора отображаемой валюты.

<form method="post" action="" name='ChangeCurrencyForm' id='ChangeCurrencyForm'>
&nbsp;<font color="#126396"><b>Отображать цены в валюте</b></font>&nbsp;<select name='current_currency' onchange='_changeCurrency()'>
    {section name=d loop=$currencies}
    <option value='{$currencies[d].CID}' {if $currencies[d].CID eq $current_currency} selected {/if}>{$currencies[d].Name}</option>
    {/section}
  </select>
{if $order}<input type="hidden" name="InvId" value="{$order.orderID}">{/if}
</form>

Подскажите пожалуйста где и как правильно прописать это условие IF, для того чтобы скрыть валюту с id 0 ?

Пробовал просто делать с выбором и перечислением валют в select но почему то не правильно отображается валюта тогда.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 April 2014 - 12:45 PM

Подскажите пожалуйста где и как правильно прописать это условие IF, для того чтобы скрыть валюту с id 0 ?

Прежде всего где Вы взяли валюту с CID=0? :)
Изначально при инсталляции (см. currencies.sql) прописывается пять валют с CID от единицы до пяти.
Поле это автоинкрементное и штатным путем (добавляя-удаляя валюты) получить CID=0 невозможно.

Условие-то проще простого:
{if $currencies[d].CID != 0}<option...></option>{/if}
только оно бессмысленно, т.к CID всегда не равен нулю :).
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 28 April 2014 - 06:40 PM

Подскажите пожалуйста где и как правильно прописать это условие IF, для того чтобы скрыть валюту с id 0 ?



определить нужный Id легко, достаточно просто навести на ссылку удалить в настройках валют и посмотреть на id

<form method="post" action="" name='ChangeCurrencyForm' id='ChangeCurrencyForm'>
&nbsp;<font color="#126396"><b>Отображать цены в валюте</b></font>&nbsp;<select name='current_currency' onchange='_changeCurrency()'>
{section name=d loop=$currencies}
{if $currencies[d].CID != 0}<option value='{$currencies[d].CID}' {if $currencies[d].CID eq $current_currency} selected {/if}>{$currencies[d].Name}</option>{/if}
{/section}
</select>
{if $order}<input type="hidden" name="InvId" value="{$order.orderID}">{/if}
</form>

Так же никто не мешает фильтровать по имени валюты ( ниже пример, как скрыть две валюты)


<form method="post" action="" name='ChangeCurrencyForm' id='ChangeCurrencyForm'>
&nbsp;<font color="#126396"><b>Отображать цены в валюте</b></font>&nbsp;<select name='current_currency' onchange='_changeCurrency()'>
{section name=d loop=$currencies}
{if $currencies[d].Name != "Рубли"  && $currencies[d].Name != "Доллары" }<option value='{$currencies[d].CID}' {if $currencies[d].CID eq $current_currency} selected {/if}>{$currencies[d].Name}</option>{/if}
{/section}
</select>
{if $order}<input type="hidden" name="InvId" value="{$order.orderID}">{/if}
</form>

  • 1
Изображение Изображение Изображение

#7 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 28 April 2014 - 08:15 PM

Прежде всего где Вы взяли валюту с CID=0? :)
Изначально при инсталляции (см. currencies.sql) прописывается пять валют с CID от единицы до пяти.
Поле это автоинкрементное и штатным путем (добавляя-удаляя валюты) получить CID=0 невозможно.

Я почему то думал что в select отсчет всегда начинается с 0. Поэтому и нужно скрывать валюту с нулевым значением, верней с CID=0.

p.s. Так как у меня в магазине все привязано к $США то конечный результат (спсб постам выше) выглядит теперь вот так:
<form method="post" action="" name='ChangeCurrencyForm' id='ChangeCurrencyForm'>
&nbsp;<font color="#126396"><b>Отображать цены в валюте</b></font>&nbsp;<select name='current_currency' onchange='_changeCurrency()'>
{section name=d loop=$currencies}
{if $currencies[d].CID != 1}<option value='{$currencies[d].CID}' {if $currencies[d].CID eq $current_currency} selected {/if}>{$currencies[d].Name}</option>{/if}
{/section}
</select>
{if $order}<input type="hidden" name="InvId" value="{$order.orderID}">{/if}
</form>

  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#8 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 April 2014 - 08:56 PM

Я почему то думал что в select отсчет всегда начинается с 0. Поэтому и нужно скрывать валюту с нулевым значением, верней с CID=0.

Причем тут <select>? CID это идентификатор валюты в SQL-таблице валют.

PS. Итить... "Я уже три года пользуюсь молотком, подскажите, с какой стороны за него браться?"
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#9 DooDLeez

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений
Репутация: -1
Начинающий

Отправлено 02 May 2014 - 10:00 PM

Вам именно серыть надо?
  • 0