2010-07-28 5 views
3

Comment puis-je affecter la valeur du paramètre delta? Où peut-il être réglé? Je suis débutant avec Drupal mais je connais bien PHP et d'autres applications CMS, par exemple. Joomla. J'ai travaillé sur mon premier module drupal et j'ai besoin de créer un module avec plusieurs blocs. Je sais comment basculer en fonction du paramètre $ op mais la valeur $ delta semble toujours être la valeur par défaut définie dans la déclaration de fonction.Comment obtenir et définir la valeur delta?

Comment puis-je sélectionner le bloc à traiter et à afficher? Est-ce que $ delta peut être défini de sorte que lorsque vous utilisez des modules, subnavigation utilise delta pour passer à une autre vue de bloc?

Merci d'avance.

+0

De quel crochet parlez-vous ici? –

+0

Le hook est modulename_block. Je vais d'abord effectuer une commutation pour $ op et pour le cas 'view' Je veux vérifier la valeur delta pour déterminer quel contenu afficher. – Jotudin

Répondre

4

hook_block() est utilisé pour définir et afficher des blocs. Vous définissez le delta quand vous produisez les données pour $op='list' cela est passé au crochet quand il est appelé $op='view'.

l'argument $ delta sera donc celui que vous aurez défini. Si vous définissez les clés dans votre tableau de liste en rouge, vert et bleu, c'est ce qui sera passé si le bloc est affiché. Maby regardant the example vous aidera.

+1

+1 - le nom 'delta' est un malheureux restes de versions antérieures où le tableau défini sur '$ op = 'list'' était numériquement indexé. Puisque vous pouvez utiliser des index de chaînes significatifs, 'name' ou 'block_name' serait un meilleur nom pour le paramètre. –

+0

Si je renvoie la valeur de $ delta au début de la 'vue', il semble toujours contenir chaque valeur delta différente disponible et pas seulement une seule. Je suis un peu perdu sur où devrais-je définir quelle valeur delta doit être utilisée pour produire du contenu. J'ai 5 éléments dans le tableau $ block défini dans 'list'. J'ai un switch ($ op) et dans le cas 'view' j'ai un switch ($ delta) mais chaque case est une correspondance. Si je place la valeur delta ici, elle répète le contenu du delta défini pour tous les 5 blocs. Désolé, je suis un nouveau à Drupal et semble être coincé avec la logique interne de Joomla: D – Jotudin

Questions connexes