# getEtag
La méthode getEtag()
permet de modifier la valeur de l'etag pour la requête qui délivre les données de rendu du smart
element.
string getEtag(\Anakeen\Core\Internal\SmartElement $smartElement)
L'etag permet d'optimiser les ressources réseaux lorsque le résultat de la requête est le même que précédemment.
Par défaut, l'etag est calculé à partir des informations suivantes:
- l'identifiant de l'utilisateur connecté
- les rôles de l'utilisateur
- la date de modification de la Smart Structure
- la date de modification du Smart Element
- le statut du verrou du Smart Element
- les droits de consultation du Smart Element
- le contrôle de vue associé
- les valeurs des Smart Fields du Smart Element
- la langue de l'utilisateur
- l'identifiant de mise à jour de la plateforme
Si une de ces informations change, l'etag est modifié.
Si la méthode getEtag
retourne null
aucun etag n'est envoyé. La requête avec l'url
/api/v2/smart-elements/{initid}/views/{viewId}
n'utilisera pas d'etag.
Si la méthode retourne une chaine vide ""
, alors ce sera l'etag par défaut qui sera envoyé. L'etag par défaut est
fourni par la méthode statique \Anakeen\Routes\Ui\DocumentView::getDefaultETag()
Le calcul de l'etag peut aussi être désactivé par l'option disableETag
Exemple :
Ajout de la valeur d'un tag applicatif dans le calcul de l'etag.
namespace Anakeen\SmartStructures\My\Render;
use Anakeen\Ui\DefaultConfigEditRender;
class MyEditRender extends DefaultConfigEditRender
{
public function getEtag(\Anakeen\Core\Internal\SmartElement $se)
{
$defaultEtag = \Anakeen\Routes\Ui\DocumentView::getDefaultETag($se);
if ($se->getATag("MyTag", $myTag)) {
$defaultEtag .= $myTag;
}
return $defaultEtag;
}
}