Дорогие кодеры и не только, столкнулся с таким костылем.
В английской ветки был выложен плугин, для мега извращений в стиле "мега автомат".
Итак, вот оно - [PLUGIN] Automatic Unpublish, кратко о предназначении - используя TV(тип дата), при сохранении документа добавляет установленную дату в Unpublished Date.
Я лично решил использовать его в более широком направлении.
Конкретней: если нам нужно изменить значение в тот момент, когда документ станет Unpublished.
Допустим у нас есть
1) TV - membership (guest==0||user==1||vip==3)
2) TV - purge_date (2010/10/10 00:00:00)
3) Сохраняя документ, автомамически вставится Unpublished date из purge_date (это делает Automatic Unpublish Plugin).
4) В час X дркумент становится Unpublished, и вот здесь самое интересное (то к чему я и стремлюсь)...
переменная TV меняет свое значение с vip на guest (c 3 на 0).
----
Cсылка на plugin -
http://modxcms.com/forums/index.php/topic,36558.0.html
Пытался своими силами, но не силен я в этом:
1) Добавил кусок кода, но он почему то обновляет, а добавляет дополнительную TV c новым значением, и нужно автоматическое обновление "contentid"
$table = $modx->getFullTableName("site_tmplvar_contentvalues");
$fields = array(
"tmplvarid" => "36",
"contentid" => "464", //must be detected automatically
"value" => 0
);
$modx->db->update($fields, $table);
2)Другая проблема, как изменить значение TV, только после того как документ станет Unpublished.
Может нужен другой Plugin c OnDocUnPublished