Перейти к содержанию
Официальный форум поддержки Simpla

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

Здравствуйте уважаемые форумчане.

Сделал в корзине дополнительное поле "связаться со мной через" и выборкой через select - viber, whats app, звонок, почта...

при выборе к примеру "звонок" появляется дополнительное поле, чтобы клиент указал время со сколько ему звонить.

Но не могу заставить нормально функционировать дополнительное поле, и трудность в select - не сохраняет выборку в админке и ЛК пользователя, если в ЛК пользователя оставляю input, то работает.

 

	  <select name="call_me" value="{$call_me|escape}" data-format=".+" data-notice="Выберите связь со мной" onChange="Selected(this)">
		<option selected disabled>Связаться со мной через</option>
		<option value="viber">Viber</option>
		<option value="whatsapp">What's App</option>
		<option value="call">Звонок</option>
		<option value="email">Почта</option>
	  </select>
    
      <div id="Block1" style="display:none;">
		<input type="text" value="" placeholder="Время звонка" name="time_call" value="{$time_call|escape}">
      </div>
      <div id="Block2" style="display:none;"></div>

Изменено пользователем n1c
Ссылка на сообщение
Поделиться на другие сайты

 

, и трудность в select - не сохраняет выборку в админке и ЛК пользователя, если в ЛК пользователя оставляю input, то работает.

может и сохраняет, просто вы не правильно выводите? ведь у селекта нету свойства value. оно есть у вариантов селекта

если у вас переменная $user->call_me пробуйте так:

<select name="call_me">
	<option value="viber"    {if $user->call_me=='viber'}selected{/if}>Viber</option>
	<option value="whatsapp" {if $user->call_me=='whatsapp'}selected{/if}>What's App</option>
	<option value="call"     {if $user->call_me=='call'}selected{/if}>Звонок</option>
	<option value="email"    {if $user->call_me=='email'}selected{/if}>Почта</option>
</select>

 

 

 

Но не могу заставить нормально функционировать дополнительное поле

а что именно не так

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

 

 
а что именно не так

 

дополнительное поле вообще не сохраняет, хотя везде в UserView, User, Cart и т.д и т.п полностью прописано 

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

дополнительное поле вообще не сохраняет, хотя везде в UserView, User, Cart и т.д и т.п полностью прописано 

а в базе?

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

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

а в базе?

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

 

в БД разумеется тоже стоит. ведь можно не только время указывать а дополнить еще чем-то и очень удобно + меньше полей

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

посмотрите пишет ли в бд. понятно что стоит. может просто не выводит в адмику

 

в БД пишет.

 

а как сделать чтобы value писалось не "call" а "звонок"?

а то после отправки в ЛК и админке пишется "связь со мной - call" ((

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

в БД пишет.

 

а как сделать чтобы value писалось не "call" а "звонок"?

а то после отправки в ЛК и админке пишется "связь со мной - call" ((

<option value="звонок"

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

<option value="звонок"

 

логично, но у меня сейчас стоит на "звонок" value="1" для JS, чтобы при выборе открывало дополнительное поле

Изменено пользователем n1c
Ссылка на сообщение
Поделиться на другие сайты

логично, но у меня сейчас стоит на "звонок" value="1" для JS, чтобы при выборе открывало дополнительное поле

 

ну выводите тогда в админке условием, {if $user->call_me==1}звонок{/if}

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

ну выводите тогда в админке условием, {if $user->call_me==1}звонок{/if}

 

спасибо, работает, но если выводить в ЛК через select то все равно не сохраняется выборка

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

спасибо, работает, но если выводить в ЛК через select то все равно не сохраняется выборка

как выводите, точно код скопируйте из user.tpl

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

как выводите, точно код скопируйте из user.tpl

 

 

сейчас вот так:

 

<select name="call_me" data-format=".+" data-notice="Выберите связь с вами" onChange="Selected(this)">
    <option value="viber" {if $user->call_me=='viber'}selected{/if}>Viber</option>
    <option value="whatsapp" {if $user->call_me=='whatsapp'}selected{/if}>What's App</option>
    <option value="1" {if $user->call_me=='1'}selected{/if}>Звонок</option>
    <option value="email" {if $user->call_me=='email'}selected{/if}>Почта</option>
</select>
Изменено пользователем n1c
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Select сделал, работает отлично.

Ребята, подскажите пожалуйста, как сделать чтобы сохранялся развернутый input при выборе значения Viber в select? а то сейчас скрывается после обновления страницы

 

вот код в шаблоне:

      <select name="call_me" data-notice="Выберите связь с вами" onChange="Selected(this)">
        <option selected disabled>Выберите связь с вами</option>
        <option value="1" {if $user->call_me=='1'}selected="selected"{/if}>Viber</option>
        <option value="3" {if $user->call_me=='3'}selected="selected"{/if}>What's App</option>
        <option value="5" {if $user->call_me=='5'}selected="selected"{/if}>Звонок</option>
        <option value="6" {if $user->call_me=='6'}selected="selected"{/if}>Почта</option>
      </select>

      <div id='Block1' style='display: none;'>
        <input type="text" name="viber" value="{$viber|escape}">
      </div>
      <div id='Block2' style='display: none;'></div>

 

а вот JS:

  <script>
  {literal}
  function Selected(a) {
      var label = a.value;
      if (label==1) {
        document.getElementById("Block1").style.display='block';
        document.getElementById("Block2").style.display='none';             
      } else if (label==2) {
        document.getElementById("Block1").style.display='none';
        document.getElementById("Block2").style.display='block';   
      } else {
        document.getElementById("Block1").style.display='none';
        document.getElementById("Block2").style.display='none';
      }
       
  }

  {/literal}
  </script>
Изменено пользователем n1c
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...