Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
Личный кабинет на Sendit - не удается сбросить пароль
UiCMPGenerator дополнение для создания пакетов
Checkbox для модального окна
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)...
Minishop + честный знак (продажа маркированной продукции)
Sendex 2.0 не встает на Modx 2.8.8
MiniShop3 - Не выводятся товары дополнительных категорий
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает"
MobileDetect - проблема при установки компонента
msImportExport не сохраняет родителя по умолчанию
Всего 126 141 комментарий
Хотя, уже ничему не удивлюсь =)
$modx->resource->save() не помогает, конечно. А если значение нужно только на время работы скрипта, и сохранять его не надо — то и ТВ ни к чему, можно любое имя написать.
Это поле будет работать только во время выполнения скрипта. То есть, методом set мы выставляем любое поле с любым значением, потом можем его использовать как хотим, а после работы оно пропадает — ибо сохранить его некуда, в модели то его нет.
Если же ничего туда не писать, а просто print_r($modx->resource->get('test')); — то будут данные ТВ параметра.
Всё это очень интересно, но мне надо работать, так что не буду копать «почему всё именно так, а не иначе». Вообще, стараюсь не использовать ТВ, если это возможно.
надо добавить
или
где tv_name — имя tv-параметра с id равным 11. Это позволит дальше на странице использовать новое значение tv-параметра, если оно необходимо.
Если по очереди комментировать вызовы setTVValue — хорошо видно.
А ваш хак отлично работает, хоть и выглядит это некрасиво.
Работает без проблем, но только при одном условии — если вызывается не на странице, ТВ которой он должен обновить.
А вот так — выдаёт прикольный глюк, очевидно связанный с кэшированием.
Поэтому, переходим на обычный xPDO
Почему выходит такая фигня — мне не ведомо, а копать исходники времени нет.
$tv = $modx->getObject('modTemplateVar',array('id'=>'11'));
$tv -> setValue($modx->resource->get('id'), 88);
$tv->save();
print_r($modx -> resource -> getTVValue(11));
Выводит сперва значение которое было, после перезагрузки страницы уже то что выставляю в скрипте.
email менеджера указан во вкладке Склад?