Задать вопрос
@Andrey_Smeet

Как изменить SELECT на чекбокс?

Здравствуйте. На сайте стоит плагин Event Manager. На странице мероприятия есть бронь мест. Одно место можно забронировать несколько раз или один раз (как укажет администратор). Но мне НЕ НУЖНО давать возможность забронировать несколько раз, поэтому я поставил в админке ОДИН. Все окей, только бронирование мест выводится через SELECT. Как сделать вывод через чекбокс (для одного места нет смысла ставить селект)?

EHaCF7W86oI.jpg
<td class="em-bookings-ticket-table-spaces">
								<?php 
									$default = !empty($_REQUEST['em_tickets'][$EM_Ticket->ticket_id]['spaces']) ? $_REQUEST['em_tickets'][$EM_Ticket->ticket_id]['spaces']:0;
									$spaces_options = $EM_Ticket->get_spaces_options(true,$default);
									echo ( $spaces_options ); 
								?>
							</td>


function get_spaces_options($zero_value = true, $default_value = 0){
		$available_spaces = $this->get_available_spaces();		
		if( $this->is_available() ) {
		    $min_spaces = $this->get_spaces_minimum();
		    if( $default_value > 0 ){
			    $default_value = $min_spaces > $default_value ? $min_spaces:$default_value;
		    }else{
		        $default_value = $this->is_required() ? $min_spaces:0;
		    }
			ob_start();
			?>
			<select name="em_tickets[<?php echo $this->ticket_id ?>][spaces]" class="em-ticket-select" id="em-ticket-spaces-<?php echo $this->ticket_id ?>">
				<?php 
					$min = ($this->ticket_min > 0) ? $this->ticket_min:1;
					$max = ($this->ticket_max > 0) ? $this->ticket_max:get_option('dbem_bookings_form_max');
					if( $this->get_event()->event_rsvp_spaces > 0 && $this->get_event()->event_rsvp_spaces < $max ) $max = $this->get_event()->event_rsvp_spaces;
				?>
				<?php if($zero_value && !$this->is_required()) : ?><option>0</option><?php endif; ?>
				<?php for( $i=$min; $i<=$available_spaces && $i<=$max; $i++ ): ?>
					<option <?php if($i == $default_value){ echo 'selected="selected"'; $shown_default = true; } ?>><?php echo $i ?></option>
				<?php endfor; ?>
				<?php if(empty($shown_default) && $default_value > 0 ): ?><option selected="selected"><?php echo $default_value; ?></option><?php endif; ?>
			</select>
			<?php 
			return apply_filters('em_ticket_get_spaces_options', ob_get_clean(), $zero_value, $default_value, $this);
		}else{
			return false;
		}
	}
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
  • Stepik
    Верстка и веб-разработка сайтов. Продвинутый уровень Web Develop
    2 недели
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы