Вопросы

проверка нескольких tv

Добрый день!
Есть такой простой вывод переменной.
[[+tv1:is!=``:then=`[[+tv1]]`:else=`[[+tv2]]`]]
Как добавить туда еще одно условие — если tv1 и tv2 пустые, то вывести какую-либо фразу?
Олег
03 августа 2020, 12:00
modx.pro
863
0

ExtJS Пустое значение поля datefield

Есть поле с типом datefield:
{
					xtype        : 'datefield'
					,name        : 'date'
					,fieldLabel  : 'Date'
					,anchor      : '100%'
					,format      : MODx.config.manager_date_format
					,allowBlank  : true
					,emptyText   : null
				}
БД:
,'date' => array(
			'dbtype'   => 'date'
			,'phptype' => 'date'
			,'null'    => true
			,'default' => null
		)
Оно работает, т.е. сохраняет всё корректно.
Но есть одна проблема
Не получается сохранить пустое значение.
Т.е. если убрать (стереть, очистить) значение из поля, то оно (значение) не сохраняется, а остается прежним.
Как сохранять пустые значения?
П.С. мне нужно только выбор даты, без времени
Решено
Все оказалось гораздо проще. ExtJS отдает пустую строку, а не null
Соответственно нужно просто в процессоре написать:
public function beforeSet() {

		if(empty($this->getProperty('date'))){

			$this->setProperty('date', null);

		}


	}
Максим
03 августа 2020, 10:54
modx.pro
2 024
0

Tickets и pdoPage

Всем привет. Столкнулся с такой проблемой. При создании нового тикета, если отправить тикет в черновики, то в выводе pdoPage (который вызывается некэшированным) ссылка на неопубликованный ресурс ведёт на главную. После сброса кэша из админки ссылка появляется. Пробовал отключать везде кэш.

Пробую через плагин на событие OnLoadWebDocument прописать сброс кэша через API MODX:

$modx->cacheManager->clearCache();
и так

$modx->cacheManager->refresh();
Но без результатно. Подскажите что можно сделать.
SEQUEL.ONE
02 августа 2020, 22:31
modx.pro
807
0

Корзина на всех страницах. Обновление $order.

День добрый.

На сайте корзина располагается на все страницах, в фикс. блоке.
Вроде все работает хорошо, товары обновляются, заказы отправляются.
Но с доставкой проблемы.

Доставка не может получить данные заказа (заполненных полей), через

$miniShop2->order->get()
массив пустой (из за чего доставка индекс не получает).
Если страницу обновить, все хорошо. Но если пользователь кладет товар в корзину и тут же открывает корзину, возникает проблема.

В этом вопрос, как обновить данные $order без перезагрузки страницы?
Максим
02 августа 2020, 17:10
modx.pro
760
0

Minishop2 и PDOFetch

kanthrad
02 августа 2020, 12:44
modx.pro
765
0

Автоматическое обновление товара в корзине при изменении в input

Доброго дня!

Не могу понять как автоматически изменять количество товара в шаблоне корзины, при оформлении заказа
Вот блок

<td class="count">
     <form method="post" class="ms2_form" role="form">
        <input type="hidden" name="key" value="{$product.key}"/>
            <div class="quantity">
                <div class="pro-qty"> 
                    <span class="inc qtybtn"></span>
		    <span class="dec qtybtn"></span>
		    <input type="text" name="count" value="1" min="1" >
                </div>
            </div>
    </form>
 </td>
Я так понимаю, что нужно какую-то js что бы подхватывала на нажатие «inc»/«dec» и передавала post с cart/change
Но не могу понять как это реализовать
minishop2 fenom

И можно ли менять сумму у товара на лету, при изменении колва, а не только общую сумму покупок?
Антон
31 июля 2020, 15:07
modx.pro
1 550
0

Валится постоянно ошибка Could not cache context settings for web.

Подскажите кто-нибудь сталкивался с ошибкой:
[2020-07-31 09:49:14] (ERROR @ /var/www/www-root/data/www/site.ru/core/model/modx/modcachemanager.class.php : 172) Could not cache context settings for web.
Постоянно валится в логи. Стоит компонент msync который импортирует товары из 1С. При импорте через какое то время начинается валиться эта ошибка с каждой итерацией.
Евгений Лазарев
31 июля 2020, 12:17
modx.pro
960
0

Как задать тип ввода для ТВ - код?

Добрый день.
Подскажите, из стандартных ТВ полей можно задать тип ввода сразу код, а не текстовый редактор?
Александр Мельник
31 июля 2020, 11:53
modx.pro
749
0

Вывод об успешной загрузке файлов

Ребят, привет всем. Воспользовался решением с валидацией input file с данной статьи, использую валидацию для массива файлов (files[]), подскажите пожалуйста как сделать вывод об успешной загрузке файлов. Когда все файлы прошли валидацию в «p» пишет «Файлы успешно загружены». Допустим там указан вывод ошибки в formit ($errorMsg) и addError, а как сделать вывод об успешной загрузке? Пробовал $successMessage и всё прочее, нечего не выводит. Плюс вывожу в "+fi.successMessage". Подскажите как реализовать. Вызов такой же как в статье. Буду благодарен за подсказку. Использую FormIt + AjaxForm.
Владислав
30 июля 2020, 22:09
modx.pro
479
0

Как поменять значение в properties всех ресурсов из console?

как при помощи консоли console поменять значение в properties у всех ресурсов из папки
кроме прочих есть такое свойство
"hitspage":{"hitts":555}}
его хотелось бы поменять на другие цифры, например у всех где значение больше 500 поставить 30

до этого поменял значение в tv hitpage а значения hitts осталось и изза этого есть нестыковки :)

$resources = $modx->getCollection('modResource', array('parent' => 1));
foreach ($resources as $resource) {
  if ($resource->getTVValue('hitspage') => 500) {
    $resource->setTVValue('hitspage',30);
    $resource->save();
  }
}
если вручную ставишь значение в админке и сейвишь то hitts перезаписывается, а через консоль этого не происходит
подскажите кто понимает что тут добавить может можно какую то синхронизацию либо напрямую значение данного свойства заменить

в бд это выглядит так в колонке properties
{"tvc":{"hitspage":"18241"},"hitspage":{"hitts":18242}}
Евгений
30 июля 2020, 21:49
modx.pro
904
0