Habe heute auch nochmal geschaut, wie man das als Plugin lösen könnte. Gibt da keinen 100% sauberen Weg, aber so könnte man das machen:
scheduleClearCache(ActivateContext::CACHE_LIST_DEFAULT);
}
public function deactivate(DeactivateContext $context)
{
$context->scheduleClearCache(DeactivateContext::CACHE_LIST_DEFAULT);
}
public static function getSubscribedEvents()
{
return [
'Shopware_Components_Document::assignValues::after' => 'addAttributes'
];
}
public function addAttributes(\Enlight_Hook_HookArgs $args)
{
/* @var \Shopware_Components_Document $document */
$document = $args->getSubject();
$order = $document->_order;
$view = $document->_view;
$userData = $view->getTemplateVars('User');
$service = $this->container->get('shopware_attribute.data_loader');
$sqlUserAttributes = [
'attributes' => $service->load('s_user_attributes', $order->userID)
];
$userData = $userData + $sqlUserAttributes;
$view->assign('User', $userData);
}
}
Eine Datei mit diesem Inhalt unter /custom/plugins/MNAddDocumentData/MNAddDocumentData.php erstellen und dann über den Plugin-Manager installieren. Ich bin aber zuversichtlich, dass das auch relativ zügig im Core landet. Wollte das nur hier gerne dokumentieren, wenn sich mal jemand dran versucht.