Вопросы
Ошибки в логе
Подскажите может кто сталкивался. В лог постоянно валятся ошибки
27.10.2020 12:55:43 ERROR /var/www/site.ru/core/xpdo/cache/xpdocachemanager.class.php 514
PHP warning: unlink(/var/www/site.ru/core/cache/db/objects/modResource/e89fa63e1c424d10b085739f66097498.cache.php): No such file or directory
27.10.2020 12:55:43 ERROR /var/www/site.ru/core/xpdo/cache/xpdocachemanager.class.php 522
PHP warning: closedir(): supplied resource is not a valid Directory resourcecache_alias_map отключен потому что очень большое количество страниц Условие внутри сниппета на Fenom
Подскажите как использовать условия в сниппете?? Вот так не работает:
{'MinifyX' | snippet : [
'minifyCss' => 1,
'minifyJs' => 1,
'registerJs' => 'default',
'registerCss' => 'default',
'jsSources' => '
//code-ru1.jivosite.com/widget.js,
/js/jquery.js,
'
'cssSources' => '
/css/all.css,
/css/icon.css,
{if $_modx->resource.id == 1}
/css/cat.css,
/css/main.css,{/if}
{if $_modx->user.id == 12}{if $_modx->resource.id == 21}/css/cart.css,{/if}{else}{if $_modx->resource.id == 21}/css/cart.css, /css/icon.css{/if}
'
]} Ошибка в журнале pdotools.class.php : 343) [pdoTools] Could not load snippet "id"
[2020-10-26 12:29:35] (ERROR @ /****/core/components/pdotools/model/pdotools/pdotools.class.php: 343) [pdoTools] Could not load snippet «id»
Как избавиться?
вызываю элементы так:
Как избавиться?
вызываю элементы так:
{$_modx->runSnippet('!pdoResources', [
'parents' => 11,
'depth' => '0',
'limit' => '4'
'where' => '{"template:IN":[12]}',
'tpl' => 'tpl.articles.main',
'sortby' => '',
'sortdir' => 'DESC',
'includeTVs' => 'preview',
'prepareTVs' => '1',
'processTVs' => '1',
'tvPrefix' => '',
'select' => '{"modResource":"id,uri,pagetitle,longtitle,content,publishedon"}',
])} Как переместить плейсхолдер page выше pdoPage?
Добрый день всем!
Сильно не пинайте, так как знаком с Modx 3 месяца. Не могу решить, как казалось, банально простую задачу. Нужно переместить плейсхолдер page выше pdoPage.
Сильно не пинайте, так как знаком с Modx 3 месяца. Не могу решить, как казалось, банально простую задачу. Нужно переместить плейсхолдер page выше pdoPage.
Проблема с предварительными подсчётами в новой версии 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 не обнаружил.
Спасибо.
Василий Королев