TicketForm поле select
        День добрый сообщество. 
Подскажите пожалуйста, использую компонент Ticket, а именно сниппет: TicketForm в чанке создания &tplFormCreate и редактирования &tplFormUpdate решил использовать ТВ с типом список одиночной выборки.
Имя ТВ к примеру wheel с возможными значениями Левый==Левый||Правый==Правый, в чанках создания и редактирования вывожу примерное такую конструкцию:
где tvValue сниппет взятый за основу вот из этого источника
код сниппета
Возможно кто то сталкивался с данным вопросом и он был решен подобным или иным способом…
За ранее очень благодарен!
     
    
    
                                                                                
            Подскажите пожалуйста, использую компонент Ticket, а именно сниппет: TicketForm в чанке создания &tplFormCreate и редактирования &tplFormUpdate решил использовать ТВ с типом список одиночной выборки.
Имя ТВ к примеру wheel с возможными значениями Левый==Левый||Правый==Правый, в чанках создания и редактирования вывожу примерное такую конструкцию:
<select name="wheel" class="form-control" id="ticket-wheel">
[[+wheel:tvValue]]
</select>код сниппета
<?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
$els = array();
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  $els[$elId] = $elName;
}
echo $els[$input];<select name="wheel" class="form-control" id="ticket-wheel">
<option value="Левый">Левый</option >
<option value="Правый">Правый</option>
</select>Возможно кто то сталкивался с данным вопросом и он был решен подобным или иным способом…
За ранее очень благодарен!
Комментарии: 7
                Что-то Вы напутали, этот сниппет выводит одно конкретное значение.            
                    
                Попробуйте так:
                    <?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  echo '<option value="'.$elId.'">'.$elName.'</option>';
}
                Спасибо огромное работает как нужно, ток есть небольшой нюанс.., Допустим был выбран 2й вариант Правый тогда как при редактирование данного поля по дефолту стоит Левый, а правильно бы было что бы стояло сохраненное значение Правый, подскажите пожалуйста как добить данный вариант.            
                    
                Как-то так:
                    <?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  if ($elId == $input) {
    $selected = ' selected="selected"';
  } else {
    unset($selected);
  }
  echo '<option value="'.$elId.'"'.$selected.'>'.$elName.'</option>';
}
                Огромаднийшее спасибо!!!!, рубит как нужно!!!
Понаглею еще чутка, а с checkbox аналогичная ситуация?
                    Понаглею еще чутка, а с checkbox аналогичная ситуация?
                Здравствуйте подскажите а как быть с множественным выбором?            
                    
                Здравствуйте, вроде получилось. Правда я переработал в checkbox. Сниппет checkbox
И вторая проблема: если я попытаюсь снять галочку, ничего не происходит. Как отправить снятие галочки?
Спасибо за этот вариант! из всех, которые я перепробовал — с этим удалось зайти дальше всего) если решу 2 эти вопроса — то выложу рабочий вариант редактирования через ticketform tv-параметра множественного выбора checkbox
                    <?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  if ($elId == $input) {
    $checked = ' checked';
  } else {
    unset($checked);
  }
  echo '<input type="checkbox" name="'.$name.'[]" id="ticket-'.$name.'-'.$elId.'" value="'.$elId.'" '.$checked.'>
<label for="ticket-'.$name.'-'.$elId.'">'.$elName.'</label>';
}[[+naturale:checkbox]]И вторая проблема: если я попытаюсь снять галочку, ничего не происходит. Как отправить снятие галочки?
Спасибо за этот вариант! из всех, которые я перепробовал — с этим удалось зайти дальше всего) если решу 2 эти вопроса — то выложу рабочий вариант редактирования через ticketform tv-параметра множественного выбора checkbox
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
            
 
             
                    
                    
                





