Антон

Антон

С нами с 17 ноября 2015; Место в рейтинге пользователей: #534
Антон
29 августа 2022, 22:38
0
если применять этот снипет в таком формате:
<input type="hidden" name="provides" value="" />	
<label><input type="checkbox" name="provides[]" value="Incall" [[!getTHEMchecks? &provides=`Incall`]] />Incall</label>
<label><input type="checkbox" name="provides[]" value="Outcall" [[!getTHEMchecks? &provides=`Outcall`]] />Outcall</label>
2 чекбокса постоянно нажаты, несмотря на то что в ТВ выбран один чекбокс
Антон
29 августа 2022, 22:24
0
странная закономерность получается. Форма показывает сохраненные значения чекбокосов только для одного чекбокса. Если выбраны 2 — пустота
Антон
26 августа 2022, 16:05
0
пробовал, не выводит значения из тв. Пусто
Антон
26 августа 2022, 14:29
0
спасибо, точно. Как вывести теперь чекбоксы из ТВ с возможностью изменения в tickets.form.update.tpl
<div class="checkbox">
<label>
<input type="checkbox" name="provides[]" value="[[+provides]]">
Outcall
</label>
<label>
<input type="checkbox" name="provides[]" value="[[+provides]]">
Incall
</label>


<span class="error">[[!+fi.error.provides]]</span>
</div>
так выводит просто значения, но не сами чекбоксы с галками
Антон
26 августа 2022, 11:13
0
методом проб понял, что форма не уходит из-за одной тв-шки: location:required.
В форме tickets.form.create.tpl ее вызов происходит таким образом:
<div class="col-md-6 col-sm-12">
	        <label for="ticket-sections">Location</label>
	        <select name="parent" class="form-control" id="ticket-sections">[[+sections]]</select>
	        <span class="error"></span>
	    </div>
По факту она выводит названия секций тикетов. Для тикетов валидация по-другому как-то должны быть получается?
Антон
24 августа 2022, 06:22
0
так работает:
[[!TicketForm?
						&allowedFields=`parent,name,gender,phone,email,location,age,hair-color,bust-size,
										bust-type,height,ethnicity,smoker,nationality,weight,languages,provides,rates,video`
						&tplFormCreate=`tickets.form.create.tpl`
						&tplFormUpdate=`tickets.form.update.tpl`
						&redirectUnpublished=`11`
						&redirectDeleted=`11`
						&validate=`provides:required`
                    ]]
а так уже нет)
<code>
					[[!TicketForm?
						&allowedFields=`parent,name,gender,phone,email,location,age,hair-color,bust-size,
										bust-type,height,ethnicity,smoker,nationality,weight,languages,provides,rates,video`
						&tplFormCreate=`tickets.form.create.tpl`
						&tplFormUpdate=`tickets.form.update.tpl`
						&redirectUnpublished=`11`
						&redirectDeleted=`11`
						&validate=`
                            pagetitle:required,
                            gender:required,
                            phone:required,
                            location:required,
                            email:email:required,
                            age:required,
                            hair-color:required,
                            bust-size:required,
                            bust-type:required,
                            height:required,
                            ethnicity:required,
                            smoker:required,
                            nationality:required,
                            weight:required,
                            languages:required[],
                            provides:required,
                            content:required,
                            rates:required`
                    ]]
</code>
Антон
24 августа 2022, 00:00
0
В логах пусто, в браузера аналогично. Куда ещё тикетыорм может ошибки писать?
Антон
23 августа 2022, 23:29
0
Разобрался с записью в тв, вписал в плагин вместо implode('||',$_POST['provides' prices, не знаю как, но знпсениеив тв передал ось.
Проблема в другом. Форма отправляется только если убрать абсолютно все аалидаторы в вызове ticketform. Убираешь валидацию для тв чекбокса не отправляет, Убираешь сам чекбокса в форме, все прекрасно работает. Чкдеса
Антон
23 августа 2022, 22:04
0
я что-то на самом деле потерялся с этими чекбоксами в тикете. Вроде бы ничего сверхестественного нет, но не работает. ТВ provides. Из фронта заполняю чекбоксы таким образом:
<div class="col-md-6 col-sm-12">
<input type="hidden" name="provides" value="" />
<div class="checkbox">
<label>
<input type="checkbox" name="provides[]" value="Outcall">
Outcall
</label>
<label>
<input type="checkbox" name="provides[]" value="Incall">
Incall
</label>


<span class="error">[[!+fi.error.provides]]</span>
</div>
</div>
Вызов тикетформ:
[[!TicketForm?
						&allowedFields=`provides`
						&tplFormCreate=`tickets.form.create.tpl`
						&tplFormUpdate=`tickets.form.update.tpl`
						&redirectUnpublished=`11`
						&redirectDeleted=`11`
						&validate=`
                            provides:required
                    ]]
Плагин на событие OnDocFormSave:
<?php
if($resource->class_key == 'Ticket' && $modx->event->name == 'OnDocFormSave' && $modx->context->key != 'mgr'){

    if(!empty($_POST['provides'])) {
        $provides = implode('||',$_POST['provides']);
    	if (!$resource->setTVValue('provides', $_POST['provides'])) {
    		$modx->log(xPDO::LOG_LEVEL_ERROR, 'provides - ERROR');
    	}       
    } else {
    	if (!$resource->setTVValue('provides', '') ) {
    		$modx->log(xPDO::LOG_LEVEL_ERROR, 'provides - ERROR');
    	}       
    }
    $modx->cacheManager->refresh();
}
И на итог: то форма не отправляется вообще, отправляется если только весь раздел валидации убрать. То отправляется, но в ТВ выбранные чекбоксы не записывает. Есть какие-то рабочие примеры, как в тиккете сделать чекбоксы?
Антон
23 августа 2022, 14:59
0
проверил на своем примере такой код. Форма отпарвляется только если убрать из TicketForm вообще &validate.
Ни &validate=jenrebook:required[] ни &validate=jenrebook:required не позволяет отправить форму в принципе
Антон
23 августа 2022, 14:47
0
как добавить валидацию заполнения хотя бы одного чекбокса? и что такое $_POST['procent']?
Антон
14 августа 2022, 19:58
0
единственное что конечно смущает. Когда добавил картинку, она появляется только после обновления страницы. Изначально изображение не выводится, как будто оно еще не сгенерилось. Как-то это можно ускорить или исправить?
Антон
08 августа 2022, 22:16
0
супер, все заработало. Единственное, что смущает, что в таком выводе сервер когда-нибудь ляжет. Как накладывать без ресайза все таки при загрузке? Чтобы оригинал с watermark-ом сохранялся на сервере.
Антон
08 августа 2022, 22:13
0
все совпадения не указывают на наличие profile ни в шаблонах, ни в сниппетах, ни в чанках. Чудеса просто
Антон
07 августа 2022, 16:02
0
как его можно выборкой из базы найти? Перерыл все сниппеты, чанки и шаблоны. Нигде упоминаний про profile нет
Антон
27 июля 2022, 21:48
0
работает, спасибо)
Антон
27 июля 2022, 13:45
0
А следующую конструкцию как лучше прописать? Если if (!empty($_FILES)) пустое или заполнено файлом?
Антон
27 июля 2022, 00:22
0
проблема была в событии, с OnDocFormSave заработало. Видео при первичном создании тикета передается и записывается в твшку. Теперь другая проблема, когда тикет создан и опубликован, либо не опубликован еще, если пользователь хочет изменить видео в:
<form class="well update" method="post" action="" id="ticketForm">
....
<div class="col-md-12 col-sm-12 mt-2">
<label for="ticket-photo">Insert video (maximum size 3 Mb, only mp4)</label>
<div class="custom-file">
  <input type="file" class="custom-file-input" name="video" id="video">
  <label class="custom-file-label" for="customFile">Choose video file [[+video]]</label>
  <span class="error" id="error_video"></span>
</div>
</div>
файл видео отказывается передаваться и обновляться. Добавлял в форму и enctype=«multipart/form-data» — ни фига, допускаю, что плагин уже не подходит, т.к. твшка заполнена и mod не new.
if($mode == 'new'){  
        if (!empty($_FILES)) {
Как правильно прописать в плагине?
if($mode == MODE_UPD){  
        if (!empty($_FILES)) {
не силен в этом
Антон
26 июля 2022, 22:45
0
допускаю еще, что проблема в событии плагина, ресурс после направления еще в статусе неактивного получается
Антон
26 июля 2022, 22:43
0
Отдельно созданная твшка с типом файл. Из фронта из большой формы с тектовыми инпутами заполнются параметры анкеты, прикрепляется видео, уходит на сервер. ПРоблема чисто в том, что это видео не отображается при просмотре документа из адмтинки. Поле пустое, но файл в паке в корне лежит, с присвоенным своим именем. Какая-то фигня получается, ощущение что тип ТВ файл не работает корректно, иначе почему все твшкуи передались, а видео нет, при том что в [[!TicketForm? &allowedFields video прописан