Skip to content

Instantly share code, notes, and snippets.

@andronex
Last active December 28, 2017 19:02
Show Gist options
  • Save andronex/1935cf554279c17e397ab3af0ee830fc to your computer and use it in GitHub Desktop.
Save andronex/1935cf554279c17e397ab3af0ee830fc to your computer and use it in GitHub Desktop.
Расширение xPDOSimpleObject::save - делаем активной только одну конфигурацию, добавляемую в таблицу MIGXdb в каждый момент времени.
<?php
/**
* quip.thread_err_save - MIGX использует данное значение лексикона по умолчанию, как сообщение об ошибке
* см. https://github.com/Bruno17/MIGX/blob/700780f2328f79bdd6b6b8dcea3351bad472f049/core/components/migx/processors/mgr/default/update.php#L317
* чтобы переопределить его для своих целей и сделать его разным для разных своих классов, всегда перед return false;
* подключаем нужный нам лексикон из определённого пространства имён.
* Таким образом, выводим нужное нам значение об ошибке
* Author хака: andronex (i.modx@ya.ru)
**/
class CarsClassesPrices extends xPDOSimpleObject {
/** {inheritDoc} */
public function save($cacheFlag = null) {
if($this->published && ($gets = $this->xpdo->getCollection(__CLASS__, array('published' => 1)))){
foreach($gets as $get){
$get->set('published', 0);
$get->save();
}
}
//$this->xpdo->lexicon->load('CarsClassesPrices:default'); //если нужно выводить какое-то сообщение об ошибке в админке, то подключаем нужный лексикон, а в нём создаём параметр quip.thread_err_save и присваиваем нужное значение, которое будет выведено в сообщении об ошибке
//return false; // если нужен статус ошибки с выводом вышеуказанного сообщения
return parent::save($cacheFlag);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment