Антон

Антон

С нами с 17 ноября 2015; Место в рейтинге пользователей: #527
Антон
17 декабря 2020, 23:24
0
и неужели никто, пользуясь тикетами, никогда не озадачивался вопросом подгружены ли фото в поле или нет? и нет стандартных способов проверки этого всего?
Антон
17 декабря 2020, 23:23
0
если упроститься только до проверки подгруженности определенного количества файлов в поле (поле все-таки мультизагрузочное), что нужно для этого в files.js поправить?
Есть интересный пример сниппета, который проверяет количество файлов (до 3х):
<?php
$output = true;
$count_files = 0; // счётчик файлов
$errorMsg = ''; // сообщение об ошибке
$allowedExt = array('jpg','png'); // разрешённые расширения файлов
$maxFileSize = 512 * 1024; // максимальный размер файла (512 Кбайт)
if (isset($_FILES[$key])) {
  foreach ($_FILES[$key]["error"] as $fkey => $error) {
    if ($error == UPLOAD_ERR_OK) {
      $fileName = basename($_FILES[$key]['name'][$fkey]);
      $fileExt = mb_strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
      $fileSize = filesize($_FILES[$key]['tmp_name'][$fkey]);
      if (!in_array($fileExt, $allowedExt)) {
        if (!empty($errorMsg)) {
          $errorMsg .= '; ';
        }
        $errorMsg .= 'Файл ' . $fileName . ' имеет не разрешённый тип.';
        continue;
      }
      if ($fileSize > $maxFileSize) {
        if (!empty($errorMsg)) {
          $errorMsg .= '; ';
        }
        $errorMsg .= 'Файл '. $fileName .' имеет не разрешённый размер.';
        continue;
      }
      $count_files++; // увеличиваем на 1
    } else {
      if (!empty($errorMsg)) {
        $errorMsg .= '; ';
      }
      $errorMsg .= 'Произошла ошибка при загрузке файла ' . $fileName .' на сервер.';
    }
  }
}
if ($count_files < 3) {
  if (!empty($errorMsg)) {
    $errorMsg .= '; ';
   }
   $errorMsg .= 'К сообщению необходимо прикрепить 3 файла!';
}
if (!empty($errorMsg)) {
  $validator->addError($key,$errorMsg);
  $output = false; // возвращаем false
}
return $output;
но в сочетании files:required:snippet он ни фига не работает
Антон
17 декабря 2020, 22:18
0
я вставляю в вызов:
[[!TicketForm?
&allowedFields=`parent,profile-status,name,gender,phone,email,location`
&tplFormCreate=`tickets.form.create.tpl`
&tplFormUpdate=`tickets.form.update.tpl`
&redirectUnpublished=`11`
&redirectDeleted=`11`
&tplTicketEmailBcc=`tpl.Tickets.ticket.email.bcc`
&validate=`
pagetitle:required,
 .......
files:required:customValidator`
]]
В саму форму:
<form class="well create" enctype="multipart/form-data" method="post" action="" id="ticketForm">
....
        <div class="file-upload">
		    <div class="ticket-form-files">
		        [[+files]]
		    </div>
		    <span class="error"></span>
	</div>
и беру снипет для проверки нескольких файлов (массива) с

не реагирует вообще никак
Антон
17 декабря 2020, 22:03
0
проблема в том, что [[+files]] — это не TV -шка
Антон
09 ноября 2020, 20:05
0
разобрался, была проблема у хостера с 5.7 mysql
Антон
07 октября 2020, 17:21
0
спасибо
Антон
06 октября 2020, 20:32
0
а как работает данная проверка?
<select class="selectpicker form-control" id="gender" name="gender" placeholder="Gender" data-live-search="true">
            	<option disabled selected value="Nothing select">Nothing select</option>
                <option value="Female" [[!+fi.color:FormItIsSelected=`Female`]]>Female</option>
                <option value="Male" [[!+fi.color:FormItIsSelected=`Male`]]>Male</option>
            </select>
            <span class="error"></span>
        </div>

при отправке не дает ошибки. В инструкции про это ни слова
Антон
06 октября 2020, 12:16
0
все супер, но лучше отключить уведомления администратору о том, что он сам же внес изменения в ресурс.
Антон
06 октября 2020, 09:03
0
прописывал вместо:
$user = $modx->getUser();
условие:
if ($user->isMember('Administrator')){
    $resource->set('published', 1);
} else {
    $resource->set('published', 0);
}
форма из фронтенда не отправляется. А когда админ редактирует из админки, система зависает в принципе.
Антон
15 апреля 2020, 15:51
0
там есть стили с флагами?
Антон
03 апреля 2020, 20:44
0
Заметил очень странную особенность в TM. В значениях TV полей в параметрах ввода стоит как в инструкции:
лидер продаж==#лидер продаж#||лидер продаж==#лидер покупок#||
При выводе значения в бэкенд, значение также передается в формате
#лидер продаж#
В tag_mgr2.guard_key стоит значение #
Антон
03 апреля 2020, 13:22
0
Оказывается можно проще. В файле filter.js меняем
var slider_step = maxValue - minValue < 100 ? 0.1 : 1;
на
var slider_step = maxValue - minValue < 1 ? 1 : 1;
Антон
03 апреля 2020, 12:52
0
Можно последний вопрос еще?) Как убрать появляющиеся десятичные значения в числовом фильтре-бегунке TM2? У всех TV стоит запрет на десятичные значения. Несмотря на это при первой инициализации фильтра значения диапазона показываются в формате [19] — [30]. Когда начинаешь фильтровать, появляются значения [19.2] — [30.7]
Антон
03 апреля 2020, 12:41
0
Спасибо, разобрался)
Антон
03 апреля 2020, 12:27
0
Вопрос конечно может быть не в тему. Но в каждом товаре у меня используется класс .js-post-effect, который при наведении на товар мышкой выводит основные его атрибуты. До фильтрации все норм, все выводится, все показывается. После фильтрации, при наведении на товар ничего не отображается. Код js, который отвечает за js-post-effect:
$('.js-post-effect').each(function() {
	var contentHeight = $(this).find('.post-02__content').height() + 30;

if(windowWidth > 768) {
		var contentHeight = $(this).find('.post-02__content').height() + 50;
	}

$(this).find('.post-02__body').css('transform', 'translateY(' + contentHeight + 'px)');

$(this).hover(function() {
		$(this).find('.post-02__body').css('transform', 'translateY(' + 0 + 'px)');
	}, function() {
		$(this).find('.post-02__body').css('transform', 'translateY(' + contentHeight + 'px)');
	});
});
Не могу понять что рубит стили после срабатывания обработчика фильтра.
Антон
03 апреля 2020, 11:47
0
спасибо за совет, вроде бы разобрался. По поводу getImageList, такая конструкция потому-что выводит значение первого изображения из MIGX. Только так смог выцепить его из массива:
[[getImageList?
&tvname=`slider`
&docid=`[[+id]]`
&limit=`1`
&tpl=`@CODE:<img src="[[+slide]]" alt="[[+alt]]" />`
]]
Антон
01 апреля 2020, 20:04
0
большое спасибо)) я стал на полпути ближе к тому, чтобы завести TagManager2))
Вы ни разу TM2 не заводили? Все делаю по инструкции, вывел !tmCatalog, a !tmFilter выводиться не хочет. Причем я понимаю, если бы сам чанк с фильтром вывелся и он работал не правильно, он вообще не хочет выводиться на бакенд.
Антон
05 июня 2016, 18:36
0
видел, что можно в коде tinyMCE прописать, не знаете где конкретно?
Антон
05 июня 2016, 14:56
0
Редактор контента. Просто представьте на миг, что будущий пользователь сайта не понимает и не хочет разбираться в том, как прописывать классы к изображению…
Гугля, нешел нечто похожее под Evo
www.tattoocms.it/extras/plugins/responsive-images-plugin.html
Как переделать это под Revo, пока не разобрался