ну тогда не совсем понятно что где и когда должен делать плагин ваш и на каком этапе должен получать языковые связи и для чего!
1. Есть статьи, которые создает юзер. Указывает раздел, язык и тд
2. Плагин цепляется на событие onContentAfterSave - то есть после сохранения статьи или создание новой.
3. Юзер использует встроенную возможность Joomla мультиязычность и создает еще статьи но с другим языком
4. В статье указывает связанные статьи и вот тут начинается проблема
5. Плагин в событии onContentAfterSave пытается получить эти связанные статьи, но их там нет потому что сохранение самих связей происходит после вызова события.
вот кусок кода /libraries/legacy/model/admin.php
$dispatcher->trigger($this->event_after_save, array($context, $table, $isNew));
}
catch (Exception $e)
{
$this->setError($e->getMessage());
return false;
}
if (isset($table->$key))
{
$this->setState($this->getName(). '.id', $table->$key);
}
$this->setState($this->getName(). '.new', $isNew);
if ($this->associationsContext && JLanguageAssociations::isEnabled() && !empty($data['associations']))
{
$associations = $data['associations'];
// Unset any invalid associations
$associations = Joomla\Utilities\ArrayHelper::toInteger($associations);
тут происходит вызов триггера и только потом обработка связей.
То есть и получается: чтобы мне получить актуальную инфу по связям нужно юзера заставить два раза жмакнуть кнопку сохранить.
Либо сделать это за него, но как понять когда перестать сохранять, чтобы не зациклиться.