Je suis assez nouveau à Twig. Je crée un modèle dans lequel les utilisateurs peuvent définir une famille de polices Google. Ils définissent ces familles de polices pour trois options différentes.Twig vérifier s'il y a des doublons
corps du texte Headings Navigation
Les valeurs sélectionnées sont chargées dans le modèle comme:
<link href='//fonts.googleapis.com/css?family={{ theme.headings_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family={{ theme.body_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family={{ theme.navigation_google_webfonts | url_encode }}:400,300,600,800' rel='stylesheet' type='text/css'>
Maintenant, quand les gens choisissent la même police pour toutes les options du modèle chargeait la police trois fois qui est absolument inutile.
Comment pouvez-vous faire une règle ou un test qui vérifie si la même valeur de police est déjà présente et si oui, ne le chargez pas?
Je pensais que quelque chose dans les lignes de cela fonctionnerait, mais cela ne fonctionne évidemment pas:
{% set fonts = theme.body_google_webfonts in [theme.navigation_google_webfonts, theme.navigation_google_webfonts] ? ...... %}
Le contrôleur est un meilleur endroit pour faire ce genre de logique – DarkBee