Кирилл

Кирилл

Был в сети Сегодня в 13:28
Заказы не принимаю
Беглым взглядом нашел, что в процессоре создания комментария есть проверка:

if (!$text = trim($this->getProperty('text'))) {
            return $this->modx->lexicon('ticket_comment_err_empty');
        }

Как вариант, попробовать повесить плагин на событие «OnBeforeCommentSave» и задавать какой то дефолтный текст для комментария.
Да, теперь тоже вижу проблему, уберите из FormIt все, что начинается с «fiar», а так же хук «FormItAutoResponder», если вам не нужно отправлять письмо клиенту.

[[!FormIt?
    &hooks=`shk_fihook,email,redirect`
    &emailTpl=`shopOrderReport`
    &emailSubject=`В интернет-магазине "[[++site_name]]" сделан новый заказ`
    &emailTo=`*******@yandex.ru`
    &emailFrom=`[[++emailsender]]`
    &successMessage=`Ваш заказ отправлен, спасибо!`
    &redirectTo=`84`
    &validate=`o_name:required,o_phone1:required,o_zip:required,o_street:required,o_last_name:required,o_phone2:required,o_town:required,o_home:required`
]]
Для начала, посмотрите лог ошибок MODX.
Потом уберите валидацию и проверьте (я делаю вот так):
&validate2=`o_name:required,o_phone1:required,o_zip:required,o_street:required,o_last_name:required,o_phone2:required,o_town:required,o_home:required`
Ну и код сниппета «Profile» желательно приложить. А вообще, заказы без регистрации отправляются так же, как и у зарегистрированных, нету никаких условий, разве что у зарегистрированного поля подставляются.

Так же советую посмотреть стандартные чанки shopkeeper, и на них проверить.
[[+pages]] — это плейсхолдер списка страниц, т.е. 1,2,3,4 и т.д.
Далее используем пустой вывод для всех страниц, кроме активной (как раз эти шаблоны и подставятся в [[+pages]]):
&tplPage=`@INLINE `
&tplPageActive=`@INLINE [[+pageNo]]`

[[+pageCount]] — содержит общее число страниц
Так а зачем вам передавать туда [[%pdopage_first]]? По условию, если я правильно понял, как раз от «слова» надо избавиться. Если вам нужны только отображение «страница из общего числа страниц», то надо все несколько переделать.

&tplPageWrapper=`@INLINE <div class="catalog__pagination pagination">[[+prev]][[+pages]]<span class="pagination__of">из</span>[[+last]][[+next]]</div>`

далее заменить
&tplPage=`@INLINE `
&tplPageActive=`@INLINE [[+pageNo]]`

Т.е. все страницы у вас будут с пустым шаблоном, а активная (текущая) будет цифрой.
Он же говорит про слепую инъекцию, т.е. для перебора первого символа из префикса нужно сделать максимум 63 запроса. Раз длина префикса 17 символов, то общее максимальное число запросов для подбора этого префикса: 17х63, что как раз 1071 запрос в общем итоге.
Всеми руками поддерживаю разделение: «цена с поддержкой/цена без поддержки». Но не думаю, что такое появится, т.к. дорогих дополнений не так много, по отношению к дешевым. По крайней мере, в ближайшей перспективе, я думаю Василий даже не будет рассматривать такую идею.
Можно глянуть в документацию.

Use setTVValue to save a new value to a TV. Unlike some other xPDO API methods, this method stores values to the database immediately, so you do not need to invoke a separate call to a save() method. This method does not clear the resource cache.

> было у меня пару раз ситуация когда тв просто отказывались сохранятся
Наверное, потому что ресурс еще не создан. Т.е. у него еще нету ID, поэтому и setTVValue не может в БД записать значение. В исходном примере такая ситуация не возможна.
С этим никто не спорит, но если надо развернуть бэкап, которые создавал сервер, проще в скрипт добавить удаление (лишним точно не будет), чем сначала из архива удалить, а потом закачивать.

Ну или, по такой же логике, лучше в бэкап не брать: /config.core.php, /connectors/config.core.php, /manager/config.core.php, /core/config/config.inc.php
И тогда скрипт можно не использовать.