У тебя связь один-к-одному. Зачем тебе две равнозначные связи на два объекта? Ты через один всегда сможешь понять есть у тебя второй объект или нет. 98% у тебя не оптимальная структура.
Да, строчка $this->setProperty('related', $secondOp->id); лишняя (related проставит сам MODX, когда будет сохранять основной объект, на основе связи). И понял, что без afterSave не обойтись. У меня оба объекта равнозначны и должны быть связаны между собой. То есть $first = $this->object; $second = $this->object->Related; $second->addOne($this->object); в итоге это не одна связь, а две. Поэтому еще одно сохранение делать придется в любом случае)
То есть взлома сервера/сайта как такового нет? Кстати, отправленные заголовки зловредные, попавшие в логи — это еще не факт, что этот зловредный код выполнился.
Смотря какой. Если javascript, то никак. Если php, кнопочка есть. joxi.ru/brRDO4pfpD9J21 А вообще лучше куда-нить на гистхаб выкладывать или типа того.
А вот как реализовать фильтр товаров не нашел, чтобы можно было выбирать опции или диапазон цен (про минимальную и максимальную цену диапазона топик видел) и на сайте отсеивались нужные товары. Смотри UPD2. Там ссылка на готовое решение, именно сортировка по конвертируемым валютам и выборка с учетом их. Код там не простой, но разобрать вполне можно. В него передается параметр, к примеру, prices => '20000,100000', и он выполняет поиск товаров в ценовом диапазоне 20000 — 100000 рублей.
Вот теперь код более чистый. Правда рудимент видимо остался — $this->setProperty('related', $secondOp->id); Объекта $secondOp нет у тебя в том методе. По идее должно работать. Но почему-то не хочет… У тебя связь неправильно прописана (если я не ошибаюсь, что эта связь прописана для мапы $this->object). У тебя в ней сказано, что owner — foreign, то есть будет использоваться значение из внешнего объекта (из его колонки id (ключ foreign)). То есть это описание для изменения локальной колонки $this->object->related, которая примет значение от $this->object->Related->id, а не наоборот. Если ты хочешь менять колонку внешнего объекта, то мапа должна быть такой: // ... 'Related' => array ( 'class' => 'Operation', 'local' => 'id', 'foreign' => 'related', 'cardinality' => 'one', 'owner' => 'local', ), // ...