Как создать селектор с доп-поля?

Как создать селектор с доп-поля?

Создаем селектор с дополнительных полей

Сегодня мы обсудим небольшое решение о том, как создать селектор с стандартных ( 5 ) и дополнительных доп-полей в модулях:

  1. Блог; 
  2. Новости; 
  3. Каталог файлов;
  4. Каталог статей;
  5. Каталог сайтов;
  6. Доска объявлений;
  7. Онлайн игры.

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

Что нужно знать перед тем как приступить к настройке селектора?

Нужно знать айди доп полей в модулях, так как айди далее будут использоваться в скрипте.

Айди доп-полей в модуля Блог

  1. поле - #blF13
  2. поле - #blF14
  3. поле - #blF15
  4. поле - #blF16
  5. поле - #blF17

Айди доп-полей в модуле Новости

  1. поле - #nwF13
  2. поле - #nwF14
  3. поле - #nwF15
  4. поле - #nwF16
  5. поле - #nwF17

Экстра поля для Блога и Новостей

  1. поле - #input_extrafl6
  2. поле - #input_extrafl7
  3. поле - #input_extrafl8
  4. поле - #input_extrafl9
  5. поле - #input_extraf20
  6. поле - #input_extraf21
  7. поле - #input_extraf22
  8. поле - #input_extraf23
  9. поле - #input_extraf24
  10. поле - #input_extraf25

Айди доп-полей в модуле Каталог сайтов

  1. поле - #drF10
  2. поле - #drF11
  3. поле - #drF12
  4. поле - #drF13
  5. поле - #drF14

Айди доп-полей в модуле Доска объявлений

  1. поле - #bdF15
  2. поле - #bdF16
  3. поле - #bdF17
  4. поле - #bdF18
  5. поле - #bdF19

Айди доп-полей в модуле Онлайн игры

  1. поле - #sfF13
  2. поле - #sfF14
  3. поле - #sfF15
  4. поле - #sfF16
  5. поле - #sfF17

Экстра поля в модулях каталог ( статей / файлов / объявлений / сайтов и игр)

  1. поле - #input_extrafl1
  2. поле - #input_extrafl2
  3. поле - #input_extrafl3
  4. поле - #input_extrafl4
  5. поле - #input_extrafl5
  6. поле - #input_extrafl6
  7. поле - #input_extrafl7
  8. поле - #input_extrafl8
  9. поле - #input_extrafl9
  10. поле - #input_extrafl10

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

Как создать селектор с дополнительного поля?

Поле вы выбрали, далее идем в разделе Управление дизайном в конкретном модуле в шаблон форма - Форма добавления/редактирования материала. Например вы в блоге активировали "Дополнительное поле 1", в форме добавления и редактирования ищем код:

<?if($OTHER1_FL$)?> <li><label for="other1">$OTHER1_SIGN$:</label> <li>$OTHER1_FL$<?endif?>

который нам нужно заменить на следующий:

<!--selector for other1-->
<?if($OTHER1_FL$)?>
<li><label for="other1">$OTHER1_SIGN$:</label></li>
<script>$(function() {
$('.select').on('change', function() {
result = $('.select :selected').text();
$('#blF13').val(result);
});
});
</script>

<li><select class="select" name="myselect">
<option>-Выбрать-</option>
<option value="0" <?if($OTHER1_VAL$ = 'значение1')?>selected<?endif?>>значение1</option>
<option value="1" <?if($OTHER1_VAL$ = 'значение2')?>selected<?endif?>>значение2</option>
<option value="2" <?if($OTHER1_VAL$ = 'значение3')?>selected<?endif?>>значение3</option>
<option value="3" <?if($OTHER1_VAL$ = 'значение4')?>selected<?endif?>>значение4</option>
</select></li>
<span style="display:none;">$OTHER1_FL$</span><?endif?>
<!---end-->

В зависимости от того сколько вам значений нужно, столькими строками option: 

<option value="N" <?if($OTHER1_VAL$ = 'значение')?>selected<?endif?>>значение</option>

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

Не забывайте, что в данном примере мы в блоге использовали поле $OTHER1$ для нашего селектора, при выборе другого поля порядковый номер поля будет отличаться:

  1. $OTHER1_FL$ - $OTHER1_SIGN$ - $OTHER1_FL$
  2. $OTHER2_FL$ - $OTHER2_SIGN$ - $OTHER2_FL$
  3. $OTHER3_FL$ - $OTHER3_SIGN$ - $OTHER3_FL$
  4. $OTHER4_FL$ - $OTHER4_SIGN$ - $OTHER4_FL$
  5. $OTHER5_FL$ - $OTHER5_SIGN$ - $OTHER5_FL$
  6. $OTHER6_FL$ - $OTHER6_SIGN$ - $OTHER6_FL$
  7. $OTHER7_FL$ - $OTHER7_SIGN$ - $OTHER7_FL$
  8. $OTHER8_FL$ - $OTHER8_SIGN$ - $OTHER8_FL$
  9. $OTHER9_FL$ - $OTHER9_SIGN$ - $OTHER9_FL$
  10. $OTHER10_FL$ - $OTHER10_SIGN$ - $OTHER10_FL$

будьте внимательны и соблюдайте и порядковый номер поля и айди полей в селекторе.

На странице материала и комментариев модуля где нужно вывести значение которое выбираете в поле выводите выбранным вами дополнительным полем:

<?if($OTHER1$)?>Название поля: $OTHER1$<?endif?>
<?if($OTHER2$)?>Название поля: $OTHER2$<?endif?>
<?if($OTHER3$)?>Название поля: $OTHER3$<?endif?>
<?if($OTHER4$)?>Название поля: $OTHER4$<?endif?>
<?if($OTHER5$)?>Название поля: $OTHER5$<?endif?>
<?if($OTHER6$)?>Название поля: $OTHER6$<?endif?>
<?if($OTHER7$)?>Название поля: $OTHER7$<?endif?>
<?if($OTHER8$)?>Название поля: $OTHER8$<?endif?>
<?if($OTHER9$)?>Название поля: $OTHER9$<?endif?>
<?if($OTHER10$)?>Название поля: $OTHER10$<?endif?>

Если у вас будет непонимание или путаница в полях и их айди, спрашивайте в комментариях к материалу.

Лицензия: CC BY-SA 4.0

Автор: Юрий Герук

Похожие материалы:
Помогла ли вам статья?
Да Нет
Статья оказалась полезной для 0 человек
A
А в строке <option value="0" <?if($OTHER1_VAL$ = 'значение1')?>selected<?endif?>>значение1</option>
вместо слова значение1 в обоих нужно одинаково прописывать получается?
нельзя например так
<?if($OTHER1_VAL$ = '/')?>
selected<?endif?>>ТрамПамПам</option>
Или всё же в оба должно одинаково?
<?if($OTHER1_VAL$ = '/')?>
selected<?endif?>>/</option>
avatar
Нужно делать правильно как приведено в пример в статье.
avatar
Извините, разобрался, значения .select в каждом скрипте надо менять для каждого поля типа .select1 .select2 и т. д.