Вопросы
Проблема с предварительными подсчётами в новой версии mSearch2 1.14.0-pl
Василий здравствуйте! Начиная с версии mSearch2 1.14.0-pl в обновлении реализовано кэширование предварительных результатов mfilter2, но если расширен класс и фильтрация происходит по своей таблице, возникают проблемы с подсчетами предварительных результатов в ранних версиях msearch2, это решалось добавлением кода в файл custom.class.php:
//Правильные подсчёты в mFilter2
public function filterDefault(array $requested, array $values, array $ids) {
return array_unique(parent::filterDefault($requested,$values,$ids));
}но сейчас этот вариант не работает и временное решение: itchief.ru/questions/663 описал Александр Мальцев на сайте itchief.ru спасибо ему, правда при таком раскладе как я понимаю, кэширование предварительных результатов работать не будет, но подсчёты работают. Что можно сделать в данном случае, подскажите пожалуйста или возможно в будущих обновлениях msearch2 будет учтена эта проблема? Как добавить доставку в mspLifePay?
Всем доброго времени суток!
Назрел вопрос. Установили на свой сайт с MODX Revolution 2.7.3-pl и miniShop2 2.5.0-pl плагин mspLifePay 1.0.0-pl. Но при оплате заказа всегда выходит ошибка в самом Life Pay о том, что чек не принят. Как мы потом узнали из отчета в тестовом режиме, уходит только общая сумма заказа и информация о товаре с его ценой, а доставки нет.
Собственно вопрос. Как можно добавить в этот плагин вывод информации о доставке, чтобы все чеки уходили правильно и без ошибок?
Назрел вопрос. Установили на свой сайт с MODX Revolution 2.7.3-pl и miniShop2 2.5.0-pl плагин mspLifePay 1.0.0-pl. Но при оплате заказа всегда выходит ошибка в самом Life Pay о том, что чек не принят. Как мы потом узнали из отчета в тестовом режиме, уходит только общая сумма заказа и информация о товаре с его ценой, а доставки нет.
Собственно вопрос. Как можно добавить в этот плагин вывод информации о доставке, чтобы все чеки уходили правильно и без ошибок?
как в ajaxForm и formit сделать проверку расширения файла?
MODX Revolution 2.7.3-pl
Создал сниппет formit2checkfile:
Не понимаю, где ещё что-то надо прописать?
upd.
c php у меня никак, т.ч. пришлось выкручиваться «html костылём»:
accept=".jpg,.jpeg,.png,.pdf"
Создал сниппет formit2checkfile:
<?php
// инициализируем переменную output, отвечающую за результат работы валидатора, со значением true
$output = true;
// разрешённые расширения файлов
$allowedExt = array('jpg','png','pdf');
// имя файла
$fileName = basename( $_FILES[$key]['name'] );
// расширение файла
$fileExt = mb_strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
// если имя файла не пустое
if ($fileName != '') {
if(!in_array($fileExt, $allowedExt)) {
// файл имеет недопустимый тип
$errorMsg = 'Файл ' . $fileName . ' имеет не разрешённый тип.';
$validator->addError($key, $errorMsg);
$output = false; // возвращаем false
}
}
return $output;В вызове формы прописал 'customValidators' => 'formit2checkfile', и 'validate' => 'upload:formit2checkfile',{'!ajaxForm'|snippet:[
'snippet'=>'FormIt',
'hooks' => 'spam,email',
'emailSubject' => 'Новое сообщение из формы обратной связи',
'customValidators' => 'formit2checkfile',
'validate' => 'email:email:required,work_phone:blank,upload:formit2checkfile',
'form' => 'tpl.form',
'emailTpl' => 'tpl.form2mail'
]}При наличии всего этого форма отправляется с любым типом файла.Не понимаю, где ещё что-то надо прописать?
upd.
c php у меня никак, т.ч. пришлось выкручиваться «html костылём»:
accept=".jpg,.jpeg,.png,.pdf"
Как получить значение всех TV-полей ресурса одним SQL-запросом?
Задача решается в лоб, если значения TV-полей хранятся именно в виде нужных значений.
Если TV представляет собой список значений значение1==1||значение2==2||значение3==3, то в TV будет хранится цифры 1,2,3 а нам нужны значения значение1, значение2, значение3. Тогда задачу можно решить так
select t2.name, t2.caption, t2.description, t1.value
from modx_site_tmplvar_contentvalues as t1
left join modx_site_tmplvars as t2 on t1.tmplvarid = t2.id
where t1.contentid = :resourceIdЕсли TV представляет собой список значений значение1==1||значение2==2||значение3==3, то в TV будет хранится цифры 1,2,3 а нам нужны значения значение1, значение2, значение3. Тогда задачу можно решить так
select
t2.name, t2.caption, t2.description, if(t2.elements like concat('%==', t1.value, '%'), REGEXP_SUBSTR(t2.elements, concat('[:lower:]+(?=\={2}', t1.value, ')')), t1.value) as value
from modx_site_tmplvar_contentvalues as t1
left join modx_site_tmplvars as t2 on t1.tmplvarid = t2.id
where
t1.contentid = :resourceIdНо работать это будет только в MySql8, т.к. начиная с 8 версии появилась функция REGEXP_SUBSTR. Совместить вкладки товара minishop2 в одну
Для товара нужны только несколько полей: Заголовок, Содержимое, Цена и Фото. И они находятся все в разных вкладках. Менеджер очень ленивый и хочет при заполнении видеть в админке их сразу без переключения.
Отключение ajax в пагинации mFilter2.
Добрый день,
В продолжение моего вопроса от 21.10.
Подскажите, есть ли возможность отключить ajax в пагинации mFilter2.
Непосредственного параметра ajax не обнаружил.
Спасибо.
Василий Королев
В продолжение моего вопроса от 21.10.
Подскажите, есть ли возможность отключить ajax в пагинации mFilter2.
Непосредственного параметра ajax не обнаружил.
Спасибо.
Василий Королев
Не приходит заявка на почту, не редиректит после заказа shopkeeper
Добрый день! Установлен shopkeeper3-3.2.7-pl3, ничего не менялось, но перестали приходить заказы на почту и админу и клиенту, плюс перестал работать редирект на страницу «Спасибо за заказ» (21626), и почему-то при оформлении заказа в графах уже стоят данные администратора. В админке заказы отображаются. Где искать проблему, подскажите, пожалуйста!
MIGX вывод нескольких pagetitle из выбранных в TV ресурсов
Добрый день!
Делаю прейскурант в MIGX и через TV выбора ресурсов (специалистов, оказывающих услуги из раздела «Специалисты») «Список (множественный выбор)» по возможным значениям
yadi.sk/i/mBhHLS9Dm24Z2Q
Памагити…
Делаю прейскурант в MIGX и через TV выбора ресурсов (специалистов, оказывающих услуги из раздела «Специалисты») «Список (множественный выбор)» по возможным значениям
@SELECT pagetitle, id FROM modx_site_content WHERE parent=2В колонках MIGX создал отдельную колонку, которая берет значения из вкладки, где происходит выбор специалистов через указанное TV, и вывод колонки делаю this.renderChunk и вызов (по заветам Bruno вот отсюда[[migxLoopCollection?
&classname=`modResource`
&where=`{"id:IN":[ [[+doctors]] ]}`
&tpl=`@CODE:[[+pagetitle]]<br />`
]]Проблема такая: если в том TV выбран только один ресурс, то его pagetitle выводит ОК, если более одного, то выводят pagetitle вообще всех ресурсов (колонка где «Мануальная терапия» — там выбран один параметр, гигантская колонка со всем споподряд — .там выбрано два специалиста.yadi.sk/i/mBhHLS9Dm24Z2Q
Памагити…
Загрузка старого варианта шаблона кроме первой на последующих страницах при пагинации
Уважаемые форумчане,
про Redis
Господа и дамы.
Буду рад если поделитесь своими знаниями насчет работы базы redis.
В mysql у нас есть сервис mysql-server и возможность создать большое количество именованных баз данных, к которым мы потом подключаемся.
Правильно я понимаю что redis-server не имеет разделения на отдельные базы? Просто все примеры использования которые я вижу, в них просто подключаются к сервису redis через определенный порт и записывают туда ключ-значение. Но разве это не означает что эти данные будут доступны всему серверу. К примеру на сервере работает два сайта. Каждый из них хочет работать с redis, но поскольку нет отдельно базы в redis для первого сайта и отдельно — для второго, то вся информация получается у них общая?
И навереное только docker позволит запустить два разных контейнера на разных портах, что позволит работать каждому сайту со своем базой.
Или я в корне не прав и у redis есть инструменты для разделения на несколько баз?
Спасибо.
Буду рад если поделитесь своими знаниями насчет работы базы redis.
В mysql у нас есть сервис mysql-server и возможность создать большое количество именованных баз данных, к которым мы потом подключаемся.
Правильно я понимаю что redis-server не имеет разделения на отдельные базы? Просто все примеры использования которые я вижу, в них просто подключаются к сервису redis через определенный порт и записывают туда ключ-значение. Но разве это не означает что эти данные будут доступны всему серверу. К примеру на сервере работает два сайта. Каждый из них хочет работать с redis, но поскольку нет отдельно базы в redis для первого сайта и отдельно — для второго, то вся информация получается у них общая?
И навереное только docker позволит запустить два разных контейнера на разных портах, что позволит работать каждому сайту со своем базой.
Или я в корне не прав и у redis есть инструменты для разделения на несколько баз?
Спасибо.