7
votes

Comment vérifier si le visiteur actuel est l'administrateur de la boutique?

J'aimerais créer un produit disponible dans la vitrine de Shopify, mais seulement accessible à l'administrateur de la boutique. Existe-t-il un moyen d'identifier si l'utilisateur actuel est un administrateur via liquide? Ou y a-t-il une autre solution pour cela. Merci!


0 commentaires

6 Réponses :


0
votes

Il n'y a pas. Vous pouvez peut-être essayer d'inspecter des cookies et des trucs pour voir s'il y a quelques informations d'identification qui vous feraient savoir si l'utilisateur est un administrateur, mais il serait fragile.

Cela nécessiterait également de rendre les objets, mais de les masquer via CSS. Ensuite, vous leur montreriez avec JS après avoir exécuté vos chèques.

Comme indiqué, ce serait probablement vraiment fragile.


0 commentaires

4
votes

Une autre approche serait d'utiliser comptes clients . Liquide fournit un objet {{client}}} , qui est uniquement présent lorsqu'un utilisateur (client) est connecté.

Vous pouvez ajouter une balise spécifique à un utilisateur administrateur et utiliser liquide pour vérifier si Une balise est présente: xxx

et bien sûr, vous devez identifier votre produit comme "admin-admin ', par exemple en utilisant des balises: xxx < / pré>


2 commentaires

Cette approche peut-elle être utilisée lorsque la fonction de connexion client n'est pas activée?


Vous pouvez l'essayer, mais je suppose que la fonctionnalité de connexion client doit être activée ("comptes sont facultatives" ou "comptes" sont requises ").



15
votes

Si vous êtes connecté en tant qu'administrateur, lorsque vous rendant le {{content_for_header}}}}}}} include, il contiendra un peu de javascript pour appuyer sur le contenu de la page vers le bas pour faire de la place pour la barre d'administration Shopify Admin.

Nous pouvons utiliser capture pour stocker le code {{content_for_header}} comme variable de liquide, puis utilisez l'opérateur contenant pour vérifier si admin_bar_iframe existe dans la variable. xxx

Note: J'ai remarqué que la barre d'administration shopify ne remplit pas à tout moment (je pense que c'est un bug). Si votre barre d'administration Shopify n'est pas renseignée sur votre instance, cela ne fonctionnera pas.


0 commentaires

2
votes

Il s'agit d'une version plus complète de celle fournie par Kyle.Starns ci-dessus (je ne peux pas y commenter à ce sujet parce que nouveau). L'une des principales instances où la barre d'administration ne charge pas est lors de la prévisualisation des thèmes. Voici le code modifié que j'ai utilisé (mis à jour en juin 2018 - comme Shopify édité de la manière dont nous aperçus des thèmes): XXX

Si vous utilisez Plus, vous avez également accès au < A HREF = "https://help.shopify.com/fr/aPi/reeferef/plus/user" rel = "Nofollow Noreferrer"> utilisateur via API .


0 commentaires

3
votes

EDIT: Cela semble ne pas continuer à fonctionner depuis une mise à jour de shopify.


Je sais que c'est tard, mais voici ce que j'ai utilisé et il a fonctionné correctement dans mes tests. Ceci est adapté à partir des réponses précédentes, mais permet de personnaliser les options de thème, etc. xxx


0 commentaires

6
votes

Je viens de comprendre cette méthode qui fonctionne. (Fondamentalement la même chose que l'ancienne méthode, juste une autre solution!)

détecting connecté Site de visualisation administrateur: strong> p>

{% if content_for_header contains 'designMode' %}
   <script>
     console.log("You're an admin in design mode!");
   </script>
{% endif %}


1 commentaires

C'est une bonne solution. CIRCA 2021, vous voudrez rechercher «PreviewBarInject» plutôt que «AdminBarInjectorCor».