Вопросы
Проверка file со стороны сервера перед отправкой письма
Добрый день, не могу ни как разобраться почему у меня не до конца срабатывает условие. Вроде как делаю все по документации formit
создал валидатор «checkfile»
создал валидатор «checkfile»
<?php
$output = true;
$maxFileSize = 50 * 1024 * 1024;
$fileName = $_FILES[$key]['name'];
$fileSize = $_FILES[$key]['size'];
if ($fileName != '') {
if($fileSize > $maxFileSize) {
$validator->addError($key,'Размер файла превышает 50 Мб.');
$output = false;
}
}
return $output;вызываю форму [[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.example`
&hooks=`email`
&customValidators=`checkfile`
&emailSubject=`Сообщение с сайта [[++site_name]]`
&emailTo=`[[++emailsender]]`
&validate=`name:required,email:required,phone:required,files:checkfile`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]и вот чанк самой формы<form action="" class="ajax_form af_example" enctype="multipart/form-data">
<div class="left">
<div class="group">
<input type="text" name="name" value="[[+fi.name]]" placeholder="Имя">
<span class="error_name">[[+fi.error.name]]</span>
</div>
<div class="group">
<input type="phone" name="phone" value="[[+fi.phone]]" placeholder="Телефон">
<span class="error_name">[[+fi.error.phone]]</span>
</div>
<div class="group">
<input type="email" name="email" value="[[+fi.email]]" placeholder="Электронная почта">
<span class="error_name">[[+fi.error.email]]</span>
</div>
<input type="file" id="file" name="files" value="[[+fi.files]]">
<label for="file" class="file">
<p>Прикрепить файл</p>
<p>не более 50 мб</p>
</label>
<p class="error_files">[[+fi.error.files]]</p>
</div>
<div class="right">
<textarea name="text" placeholder="Сообщение"></textarea>
<div class="range-slide">
<p class="title">Ваш бюджет</p>
<div id="slider" data-min="35000" data-max="400000"></div>
<div class="numbers">
<span id="input-with-keypress-2"></span>
<p>–</p>
<span id="input-with-keypress-3"></span>
<input type="text" id="input-with-keypress-0" name="price_from" value="1000000">
<input type="text" id="input-with-keypress-1" name="price_to">
</div>
</div>
<button type="submit">Отправить</button>
<p>Нажимая на кнопку «Связаться», я даю согласие на обработку персональных данных, как описано в «<a href="#">Соглашении об использовании сайта</a>»</p>
</div>
[[+fi.success:is=`1`:then=`
<div class="alert alert-success">[[+fi.successMessage]]</div>
`]]
[[+fi.validation_error:is=`1`:then=`
<div class="alert alert-danger">[[+fi.validation_error_message]]</div>
`]]
</form>при отправки формы с файлом превышающим 50мб поля становиться не активными и больше ни чего не происходит, сообщение об ошибке не выскакивает. Подскажите пожалуйста что я сделал не так) Прошу подсказать как правильно импортировать товары через встроенный скрипт minishop2
Я не часто пользуюсь CMS но недавно решил выбрать ModX в качестве платформы для интернет магазина. Сам магазин сверстал и html и прочее на ModX натянул. Сейчас у меня есть csv файл с несколькими тысячами строк данных о товарах: заголовок(title), цена(price), картинки(от 1 на товар до 6)(img) и описание(description). Я знаю что есть скрипт Василия Наумкина, знаю что им много кто пользуется, но я не понимаю как происходит процесс от начала до конца.
Можете пожалуйста сказать, как происходит весь процесс импорта.
P.S. Не кидайтесь тапками pls
Можете пожалуйста сказать, как происходит весь процесс импорта.
P.S. Не кидайтесь тапками pls
[РЕШЕНО] miniShop2. Связи товаров, вывод с условием, Fenom
Подскажите, пожалуйста, как правильно указать переменную условия наличия у товара связанных товаров?..
Вызываю Связанные товары с условием:
Вызываю Связанные товары с условием:
{if ***************}
<h3>Сопутствующие товары:</h3>
{'!pdoPage@Bootstrap4' | snippet : [
'element' => 'msProducts',
'tpl' => 'tpl.msProducts.row',
'parents' => '2',
'link' => '1',
'limit' => '5',
'master' => $_modx->resource.id,
]}
{/if}Решение:{var $links = '!pdoPage@Bootstrap4' | snippet : [
'element' => 'msProducts',
'tpl' => 'tpl.msProducts.row',
'parents' => '2',
'link' => '1',
'limit' => '5',
'master' => $_modx->resource.id,
'showlog' => 1
]}
{if $links?}
<h3>Сопутствующие товары:</h3>
<div class="card-deck">
<div class="row justify-content-around">
{$links}
</div>
</div>
{'page.nav' | placeholder}
{/if} Как через плагин внести изменения в поле content?
Какое событие нужно брать?
<?php
if ($modx->event->name == 'OnLoadWebDocument') {
$content = str_replace(' src='," data-src=",$content);
} runProcessor('resource/update', $data) стирает существующие значения TV
Обновляю ресурс, например так:
Или есть какой-то способ, чтобы обновлять только нужные tv у ресурса?
$data = ArrayА значения других tv, которые не указаны в $data стираются. Это так и должно работать и нужно до этого получить как-то значения всех tv данного ресурса и передавать в data?
(
'class_key' => 'msProduct',
'context_key' => 'web',
'tvs' => '1',
'tv93' => '1558185960',
'price' => '5',
'article' => '20015',
'tv91' => '9',
'id' => '3014',
'alias' => 'alia-takoi-vot',
'pagetitle' => 'Заголовок'
);
$response = $modx->runProcessor('resource/update', $data);
Или есть какой-то способ, чтобы обновлять только нужные tv у ресурса?
[РЕШЕНО] Показать/скрыть кастомные свойства товара в админке для одного шаблона товара в зависимости от категории
Добый день. Возникла задача — настраивать какие свойства товара (в том числе и дополнительные) будут отображаться в админке для менеджера при использовании одного шаблона товара в зависимости от того в какой категории находится товар.
Хотел бы спросить совет у старших коллег по цеху — насколько мой вариант «живуч» и есть ли какие-то альтернативы?
Хотел бы спросить совет у старших коллег по цеху — насколько мой вариант «живуч» и есть ли какие-то альтернативы?
Отправка уведомления владельцу компании при покупке промо-кода
Добрый день! На сайта MODX Revo+minishop2 организована продажа промо-кодов при помощи msKuponator. Появилась задача настроить оповещение владельца компании (почта берётся из поля email производителя msVendor) при покупке промо-кода. Для этого был написан плагин (код под катом), отправка работает, но подробности о промо не удается вывести в письмо из-за того, что
$modx->getCollection('msKuponatorItem', array('order_id' => $msOrder->get('id'), 'status' => 'buyed'));ничего не возвращает. Хотя при подстановке вместо $msOrder->get('id') конкретного ID всё корректно срабатывает. В чём проблема?Tickets - Загрузка файлов по группам с фронта
Есть задача добавить в Tickets загрузку файлов (фронт). Логотип и обложку. Но чтоб не путать пользователей, хочу разбить загрузку на 2 отдельных поля. Можно ли сделать это средствами самого Tickets?
Что в идеале хотелось бы получить:
Что в идеале хотелось бы получить:
- вывод в тиккете плейсхолдеры {$img1} и {$img2}
- ограничение на кол-во изображений — те в поле можно загрузить лишь одно изображение
Навесить скидку на производителя Vendors в msDiscount
При попытке навесить скидку на все товары производителя — скидка не добавляется, такого функционала я так понимаю нет?
Как отправить письмо после регистрации?
Возник такой вопрос:
На сайте отключена активация аккаунта (то-есть активируется пользователь сразу после регистрации)
Соответственно, на почту ему ничего не приходит.
Как сделать отправку простого приветственного письма на почту пользователя, после регистрации?
(Не путать с письмом, которое содержит в себе ссылку для активации аккаунта)
Нужно отправить обычное письмо с приветствием.
Есть мысля сделать это как-то при помощи formit, но с чего начать и как действовать не понимаю.
Возможно есть и другие варианты.
Буду благодарен за помощь!
На сайте отключена активация аккаунта (то-есть активируется пользователь сразу после регистрации)
Соответственно, на почту ему ничего не приходит.
Как сделать отправку простого приветственного письма на почту пользователя, после регистрации?
(Не путать с письмом, которое содержит в себе ссылку для активации аккаунта)
Нужно отправить обычное письмо с приветствием.
Есть мысля сделать это как-то при помощи formit, но с чего начать и как действовать не понимаю.
Возможно есть и другие варианты.
Буду благодарен за помощь!